2 # File: decodePMT_icarus.fcl
3 # Purpose: PMT readout fragment decoding for studies in ICARUS.
4 # Author: Gianluca Petrillo (petrillo@slac.stanford.edu)
8 # PMT waveform decoding is performed, extensive debugging messages are
9 # included in the `debug.log` log file, and ROOT trees are produced for studies.
10 # This configuration, as is, is not meant for production.
16 # * artDAQ fragments from all 24 PMT readout boards, named
17 # `daq:ContainerCAENV1730`
18 # * trigger fragment `daq:ICARUSTriggerUDP` (will be decoded as well)
19 # * DAQ configuration as FHiCL in the art/ROOT input file
21 # This configuration requires a data fragment for each PMT readout board
22 # which is mentioned in `physics.producers.daqPMT.DecoderTool.BoardSetup`,
23 # which by default is all 24. If the input run misses some PMT readout boards,
24 # use `decodePMT_icarus_incomplete.fcl` instead.
30 # Only new data products are written in the art/ROOT output file, including:
32 # * `daqPMT` (std::vector<raw::OpDetWaveform>): decoded waveforms,
33 # with our best reconstruction for their time stamps in LArSoft reference
36 # The `Trees-<InputFile>*.root` file (from `TFileService`) includes ROOT tree
41 # Service configuration
42 # ----------------------
44 # * `DetectorClocksService` is essential to assign a correct waveform timestamp
45 # * `Geometry` service bundle is required by `DetectorClocksService`
46 # * `IICARUSChannelMap` to relate PMT fragment IDs to channels
47 # * `TFileService` used to write trees (not needed if all trees are disabled)
52 # ------------------------------------------------------------------------------
59 # ------------------------------------------------------------------------------
63 # ------------------------------------------------------------------------------
66 @table::icarus_art_services
67 message: @local::icarus_message_services_interactive_debug
69 @table::icarus_geometry_services
71 IICARUSChannelMap: @local::icarus_channelmappinggservice
73 TFileService: {
fileName:
"Trees-%ifb_%tc-%p.root" }
77 # ------------------------------------------------------------------------------
96 # ------------------------------------------------------------------------------
99 @table::icarus_rootoutput
101 fileProperties: { maxInputFiles: 1 }
103 compressionLevel: 501
110 # ------------------------------------------------------------------------------
112 physics.producers.daqTrigger.DecoderTool.TrigConfigLabel: triggerconfig # required
116 # services.Geometry.Name: icarus_splitwires # for runs < 548x
119 # customization of PMT decoding
122 physics.producers.daqPMT.SurviveExceptions:
false
123 physics.producers.daqPMT.DiagnosticOutput:
true
124 physics.producers.daqPMT.PacketDump:
false
125 physics.producers.daqPMT.RequireKnownBoards:
true
126 physics.producers.daqPMT.RequireBoardConfig:
true
127 physics.producers.daqPMT.DataTrees: [
"PMTfragments" ]
130 # customization of trigger decoding
133 physics.producers.daqTrigger.DecoderTool.DiagnosticOutput:
true
134 physics.producers.daqTrigger.DecoderTool.Debug:
false
137 # ------------------------------------------------------------------------------
BEGIN_PROLOG triggeremu_data_config_icarus settings PMTADCthresholds sequence::icarus_stage0_multiTPC_TPC physics sequence::icarus_stage0_EastHits_TPC physics sequence::icarus_stage0_WestHits_TPC physics producers purityana0 caloskimCalorimetryCryoE physics caloskimCalorimetryCryoW physics sequence::physics pathW services
services DetectorClocksService
process_name drop raw::OpDetWaveforms_DataApr2016RecoStage1_saturation_ * physics
process_name can override from command line with o or output dataTier
BEGIN_PROLOG extractTriggerConfig
BEGIN_PROLOG gatesFromTracksW gatesFromTracksE streams
outputs out1 outputCommands
services TFileService fileName
BEGIN_PROLOG icarus_detectorclocks
BEGIN_PROLOG sequence::SlidingWindowTriggerPatternsWindowPair END_PROLOG trigslidewindowOR6m output outputs
BEGIN_PROLOG sequence::SlidingWindowTriggerPatternsOppositeWindows END_PROLOG process_name