|
| 1 | +# |
| 2 | +# File: run_decoders_job.fcl |
| 3 | +# Purpose: Decode artdaq fragments from all the detector subsystems |
| 4 | +# |
| 5 | +# Input: |
| 6 | +# - Raw data files produced by the event builders (data-tier: raw) |
| 7 | +# |
| 8 | +# Output: |
| 9 | +# Output files contain |
| 10 | +# - raw::RawDigit |
| 11 | +# - raw::OpDetWaveform |
| 12 | +# - sbnd::crt::FEBData |
| 13 | +# - raw::ptb::sbndptb |
| 14 | +# - sbnd::timing::DAQTimestamp |
| 15 | +# |
| 16 | +# Note: TPC fragments are dropped. |
| 17 | +# Choppy events present in data collected before September 2024 are filtered |
| 18 | +# and may be saved to a separate file. |
| 19 | +# |
| 20 | + |
| 21 | +#include "services_sbnd.fcl" |
| 22 | +#include "rootoutput_sbnd.fcl" |
| 23 | + |
| 24 | +#include "pmtdecoder.fcl" |
| 25 | + |
| 26 | +#include "spectdc_decoder_sbnd.fcl" |
| 27 | + |
| 28 | +#include "SBNDPTBDecoderDefaults.fcl" |
| 29 | + |
| 30 | +#include "TPCChannelMapService.fcl" |
| 31 | +#include "SBNDTPCDecoderDefaults.fcl" |
| 32 | +#include "NTBDecoderDefaults.fcl" |
| 33 | + |
| 34 | +#include "crt_decoder_sbnd.fcl" |
| 35 | +#include "crt_channel_map_service.fcl" |
| 36 | + |
| 37 | + |
| 38 | +process_name: DECODE |
| 39 | + |
| 40 | +services: |
| 41 | +{ |
| 42 | + @table::sbnd_services |
| 43 | + TPCChannelMapService: @local::SBNDTPCChannelMapServiceDefaults |
| 44 | + CRTChannelMapService: @local::crt_channel_map_standard |
| 45 | + TFileService: { |
| 46 | + fileName: "decoder_hist.root" |
| 47 | + } |
| 48 | +} |
| 49 | + |
| 50 | +physics: |
| 51 | +{ |
| 52 | + producers: |
| 53 | + { |
| 54 | + daq: @local::SBNDTPCDecoderDefaults |
| 55 | + ntbdecoder: @local::NTBDecoderDefaults |
| 56 | + tdcdecoder: @local::spec_tdc_decoder_sbnd |
| 57 | + pmtdecoder: @local::pmtdecoder |
| 58 | + ptbdecoder: @local::SBNDPTBDecoderDefaults |
| 59 | + crtdecoder: @local::crt_decoder |
| 60 | + } |
| 61 | + |
| 62 | + filters: |
| 63 | + { |
| 64 | + filterchoppy: { |
| 65 | + module_type: FilterChoppy |
| 66 | + } |
| 67 | + } |
| 68 | + |
| 69 | + analyzers: {} |
| 70 | + |
| 71 | + dropchoppy: [ daq, ntbdecoder, crtdecoder, ptbdecoder, tdcdecoder, pmtdecoder, filterchoppy ] |
| 72 | + savechoppy: [ daq, ntbdecoder, crtdecoder, ptbdecoder, tdcdecoder, pmtdecoder, "!filterchoppy" ] |
| 73 | + trigger_paths: [ dropchoppy, savechoppy ] |
| 74 | + |
| 75 | + stream1: [ out1 ] |
| 76 | + stream2: [ out2 ] |
| 77 | + end_paths: [ stream1, stream2 ] |
| 78 | +} |
| 79 | + |
| 80 | +source: |
| 81 | +{ |
| 82 | + module_type: RootInput |
| 83 | + maxEvents: -1 |
| 84 | +} |
| 85 | + |
| 86 | +outputs: |
| 87 | +{ |
| 88 | + // non-choppy events to be reconstructed |
| 89 | + out1: { |
| 90 | + @table::sbnd_rootoutput |
| 91 | + fileName: "%ifb_decoded-filtered.root" |
| 92 | + dataTier: "decoded-raw" |
| 93 | + fastCloning: true |
| 94 | + SelectEvents: [ dropchoppy ] |
| 95 | + outputCommands: [ "keep *", "drop artdaq::Fragments_*_*TPC_*" ] |
| 96 | + } |
| 97 | + |
| 98 | + // choppy events |
| 99 | + out2: |
| 100 | + { |
| 101 | + @table::sbnd_rootoutput |
| 102 | + fileName: "%ifb_decoded-choppy.root" |
| 103 | + dataTier: "decoded-raw" |
| 104 | + fastCloning: true |
| 105 | + SelectEvents: [ savechoppy ] |
| 106 | + outputCommands: [ "keep *", "drop artdaq::Fragments_*_*TPC_*" ] |
| 107 | + } |
| 108 | +} |
0 commit comments