protodune commissioning protodune sim/reco · 10/3/2018 · detector status the protodune detector...
TRANSCRIPT
ProtoDUNE commissioning
David AdamsBNL
October 3, 2018
ProtoDUNE sim/reco
Detector statusThe protoDUNE detector is being commissioned
• Long filled with Laro As purity improves, we can now see showers from beam
• HV usually at 180 kV (500 V/cm)o Current spikes are seen: few percent every hour or more
• Data taken with beamo List of runs I have studied is at https://wiki.dunescience.org/wiki/ProtoDUNE_commissioning_runs_(dla)
o Not attempting to capture all physics runso Please let me know if I have missed anything interesting
• Tracks evident and plentiful with field ono See following displays
• Noisy channelso Dominant feature of event displayso Presumably dominate the ROIs (recob::Wire) output by dataprepo Complicate studies of noise in quieter channels
D. Adams, BNL ProtoDUNE sim/reco ProtoDUNE commissioning October 3, 2018 2
Topics
Triggers
• Fake, beam and now both
Event displays at full field with cleaner LAr
• Beam!
HV spikes
• No evidence of impact on TPC readout
Noisy channels
• Slow but some progress
Using and adding dataprep tools
D. Adams, BNL ProtoDUNE sim/reco ProtoDUNE commissioning October 3, 2018 3
Triggers
D. Adams, BNL ProtoDUNE sim/reco ProtoDUNE commissioning October 3, 2018 4
Trigger IDData now taken with mix of triggers
• Beam• 1 Hz
Like to distinguish these in analysis• Timing decoder puts these in RDTimeStamp• Method GetFlags() returns an int
o Set to 0xc for beam triggero 0x8 – 0xb for “fake triggers”
• Dataprep module now checks this and writes a line to the logo Example of useo Will probably add this to AdcChannelData
• Labels added to the event displays hereo Add labels and timestamps when generating plots
D. Adams, BNL ProtoDUNE sim/reco ProtoDUNE commissioning October 3, 2018 5
Oct 2 event displays
D. Adams, BNL ProtoDUNE sim/reco ProtoDUNE commissioning October 3, 2018 6
D. Adams, BNL ProtoDUNE sim/reco ProtoDUNE commissioning October 3, 2018 7
Fake trigger
Expect beam here—trigger has 500tick offset not yet included here
D. Adams, BNL ProtoDUNE sim/reco ProtoDUNE commissioning October 3, 2018 8
Beam trigger
D. Adams, BNL ProtoDUNE sim/reco ProtoDUNE commissioning October 3, 2018 9
Beam trigger
D. Adams, BNL ProtoDUNE sim/reco ProtoDUNE commissioning October 3, 2018 10
Beam trigger
D. Adams, BNL ProtoDUNE sim/reco ProtoDUNE commissioning October 3, 2018 11
Beam trigger
D. Adams, BNL ProtoDUNE sim/reco ProtoDUNE commissioning October 3, 2018 12
Beam trigger
D. Adams, BNL ProtoDUNE sim/reco ProtoDUNE commissioning October 3, 2018 13
Fake trigger
D. Adams, BNL ProtoDUNE sim/reco ProtoDUNE commissioning October 3, 2018 14
Beam trigger
D. Adams, BNL ProtoDUNE sim/reco ProtoDUNE commissioning October 3, 2018 15
Beam trigger
D. Adams, BNL ProtoDUNE sim/reco ProtoDUNE commissioning October 3, 2018 16
Beam trigger
D. Adams, BNL ProtoDUNE sim/reco ProtoDUNE commissioning October 3, 2018 17
Fake trigger
HV spikes
D. Adams, BNL ProtoDUNE sim/reco ProtoDUNE commissioning October 3, 2018 18
HV current
D. Adams, BNL ProtoDUNE sim/reco ProtoDUNE commissioning October 3, 2018 19
Oct 2
130 µA
140 µA
0:00 EDT 12:00 EDT
Looking for the spikeTry to look for one typical spike in data
• Run 4875• 13:17:35 CEST (11:17:35 UTC)
o 112 sec in following time plots• Event 4794 occurs at this time
o It and nearby events do not look specialo Following page shows mean pedestal and root mean pedestal noise for a
range of quiet channels in APA 3– No effect seen at time of spike
D. Adams, BNL ProtoDUNE sim/reco ProtoDUNE commissioning October 3, 2018 20
Run 4875 at HV spike
D. Adams, BNL ProtoDUNE sim/reco ProtoDUNE commissioning October 3, 2018 21
HV spike
Noisy channels
D. Adams, BNL ProtoDUNE sim/reco ProtoDUNE commissioning October 3, 2018 22
Progress on noisy channelsPlan to add entries to larsoft noisy channel list
• So downstream algs have access• Use it to clean up event displays
Detailed list from BNL CE group• From BNL-format pulser run• Includes all channels• Online channel ID AFFPWW, e.g. 302u12
o A = APA [1-6]o FF = FEMB [1-20]o P = wire plane: u, v, x (or w)o WW = wire number: [1-40] for u and v, [1-48] for x
• Need to map these to offline channel numberso Added exe to dunetpc that returns the channels for a named range
– E.g. apa3, tps0, tpp1u, femb302uo Plan to add the above channel specifiers
D. Adams, BNL ProtoDUNE sim/reco ProtoDUNE commissioning October 3, 2018 23
Changing dataprep
D. Adams, BNL ProtoDUNE sim/reco ProtoDUNE commissioning October 3, 2018 24
Processing modelData model
• AdcChannelData struct holds data for one TPC channelo Raw ADC code, floating signal and status flag for each ticko Pointers to input raw::RawDigit and output recob::Wireo Event info: run/event numbers, time, …o And more—see following page
AdcChannelTool interface• Separate methods process one channel and multiple channels
o Default implementation for the latter calls former for eacho Default implementation for the former calls latter with one channel
• Also separate methods for reading and modifying the data• All methods return a DataMap but it is not used in dataprep
AdcChannelTool implementations• Inherit from interface• Override at least one of the four interface methods• Many examples in dunetpc/dune/DataPrep/Tool
D. Adams, BNL ProtoDUNE sim/reco ProtoDUNE commissioning October 3, 2018 25
AdcChannelData// run - Run number// subRun - Sub-run number// event - Event number// channel - Offline channel number// fembID - FEMB ID// fembChannel - Channel number in FEMB (0, 1,..., 127).// triggerClock - Time counter for the trigger// pedestal - Pedestal subtracted from the raw count// pedestalRms - Pedestal RMS or sigma// raw - Uncompressed array holding the raw ADC count for each tick// samples - Array holding the prepared signal value for each tick// sampleNoise - Noise level (e.g. RMS for samples)// flags - Array holding the status flag for each tick// signal - Array holding bools indicating which ticks have signals// rois - Array of ROIs indicating ticks of interest (e.g. have signals)// dftmags - Array of magnitudes for the DFT of the samples.// dftphases - Array of phases for the DFT of the samples.// digit - Corresponding raw digit// wire - Corresponding wire// digitIndex - Index for the digit in the event digit container// wireIndex - Index for the wire in the event wire container// sampleUnit - Unit for samples array (ADC counts, fC, ke, ...)// dftphases - Phases for the DFT of samples// dftmags - Magnitudes for the DFT of samples// metadata - Extra attributes
D. Adams, BNL ProtoDUNE sim/reco ProtoDUNE commissioning October 3, 2018 26
Processing model (2)Dataprep module
• Creates channel data from raw::RawDigito One struct per input digito Adds event info
• Loop over channel groups (e.g. by APA)• Calls Dataprep service for each group
o Calls multichannel interface in configurable groups (e.g. by APA)• Extract and save recob::Wire for each channel
o Also adds association to digits
Dataprep service (ToolBasedRawDigitPrepService)• Passes input ADC channel data to a sequence of tools
o Tools specified by name in configurationo Examples of sequences follow
• Passes each ADC channel to a service that builds its recob::Wireo Maybe this should just be another tool in the chain
D. Adams, BNL ProtoDUNE sim/reco ProtoDUNE commissioning October 3, 2018 27
Reco for dataOffline data reco specified by protoDUNE_reco_data.fcl
• It assumes the input data is already decoded into raw::RawDigit• It only runs dataprep (use RunRawDecoder.fcl to decode)• Expect this and the dataprep configuration to change soon
Current sequence of dataprep tools:• digitReader: Copies raw ADC values from digit to acd.raw• pd_adcPedestalFit: Evaluates pedestal using acd.raw
o Removes sticky code and does Gaussian fit (see previous talks)o Results stored in acd.pedestal and acd.pedestalRms
• adcSampleFiller: Fills acd.samples with acd.raw minus pedestalo Trivial calibration
• adcVintageDeconvoluter: Deconvolution updates acd.sampleso Uses the battle-hardened SignalShapingServiceo Like to replace this with deconvolution tuned for protoDUNE
• adcThresholdSignalFinder: Finds ROIs and fills acd.rois, acd.signal
D. Adams, BNL ProtoDUNE sim/reco ProtoDUNE commissioning October 3, 2018 28
Reco fcl dump…physics: {
end_paths: ["stream1"]reco: ["caldata"]stream1: ["out1"]
trigger_paths: ["reco"]producers: {
caldata: {DigitLabel: "tpcrawdecoder:daq"DoAssns: "true”
DoGroups: "true"IntermediateStates: []
LogLevel: 1WireName: ""module_type: "DataPrepModule"
}}
…}…
services: {…
RawDigitPrepService: {AdcChannelToolNames: ["digitReader", "pd_adcPedestalFit", "adcSampleFiller",
"adcVintageDeconvoluter", "adcThresholdSignalFinder"]DoWires: "true"
LogLevel: 3service_provider: "ToolBasedRawDigitPrepService"
}…
D. Adams, BNL ProtoDUNE sim/reco ProtoDUNE commissioning October 3, 2018 29
Reco only runs dataprep (here “caldata”)
Dataprep module
Dataprep service
Dataprep tool sequence
AdcWireBuildingService: {LogLevel: 1service_provider: "StandardAdcWireBuildingService"
}…}…tools: {…
adcSampleFiller: {AdcOverflow: 4095AdcUnderflow: 0LogLevel: 1tool_type: "AdcSampleFiller"
}…
adcThresholdSignalFinder: {BinsAfter: 20BinsBefore: 10FlagNegative: "true"FlagPositive: "true"LogLevel: 1Threshold: 3tool_type: "AdcThresholdSignalFinder"
}adcVintageDeconvoluter: {
LogLevel: 1tool_type: "VintageDeconvoluter"
}…
digitReader: {LogLevel: 1tool_type: "AcdDigitReader"
}…
D. Adams, BNL ProtoDUNE sim/reco ProtoDUNE commissioning October 3, 2018 30
Here to end is tool definitions
Minimal configuration is toolname plus LogLevel:
0 – Only errors are logged1 – only ctor messages including
configuration2 – short message for each call>2 – longer messages
Configuration parameters should bedocumented in the tool header
pd_adcPedestalFit: {
FitRmsMax: 20
FitRmsMin: 3
HistManager: ""
HistName: "adcped_ev%0EVENT%_ch%0CHAN%"
HistTitle: "ADC pedestal fit for run %RUN% event %EVENT% channel %CHAN%"LogLevel: 1
PlotFileName: ""
PlotShowFit: 1
PlotSizeX: 0
PlotSizeY: 0
PlotSplitX: 0PlotSplitY: 0
RootFileName: ""
tool_type: "AdcPedestalFitter"
}
…
D. Adams, BNL ProtoDUNE sim/reco ProtoDUNE commissioning October 3, 2018 31
The pedestal fitter includes options todisplay fitted histograms or copy themto a Root file.
Modifying dataprepThere are many ways to modify dataprep
• Change config of existing tools• Change the dataprep tool sequence
o E.g. replace or add tools with existing or new configurations• Add new tools (i.e. new implementation class)
o Also need to add congfigurations (tool.myname: {…})o And update dataprep sequence to include the new config
D. Adams, BNL ProtoDUNE sim/reco ProtoDUNE commissioning October 3, 2018 32
Modifying dataprep (2)Recipe for adding new tools
• Create tool directory in new or existing package (e.g. dunetpc)o Example is dunetpc/dune/DataPrep/Toolo Create tool header
– Inherit from AdcChannelTool– Ctor from fcl configuration– Override one or more methods– Add art tool declaration macro
o Create tool implementation (_tool.cc)o Add tool build instruction to cmake file
• Create directory for fcl configurationso Example is dunetpc/dune/DataPrep/fclo Create cmake files with fcl installation directiveo Create fcl files with configurations
• Add cmake dir directives to parent dirs and build
D. Adams, BNL ProtoDUNE sim/reco ProtoDUNE commissioning October 3, 2018 33
Modifying dataprep (3)To run with a new tool configuration
• Create new top level fcl in run directory• Include the reco fcl there• Replace dataprep with new sequence that includes new tools
Help• Code in dunetpc/dune/DataPrep/Tool has many examples• Let me know if you have questions or problems
D. Adams, BNL ProtoDUNE sim/reco ProtoDUNE commissioning October 3, 2018 34