All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
triggersim_singlewindow_icarus_data.fcl
Go to the documentation of this file.
1 #
2 # File: triggersim_singlewindow_icarus_data.fcl
3 # Purpose: Runs a chain to simulate ICARUS trigger primitives on ICARUS data.
4 # Author: Gianluca Petrillo (petrillo@slac.stanford.edu)
5 # Date: February 8, 2021
6 # Version: 1.1
7 #
8 # This is a top-level configuration that can be run directly.
9 # The selection of thresholds and trigger configurations reflects the ones used
10 # for commissioning runs 4759-4787 documented in the spreadsheet:
11 # https://docs.google.com/spreadsheets/d/1VabkSa9ogYl8pkoGGjin9DLpe3lCVOsfQtgKX4QrutM
12 #
13 #
14 # Required inputs
15 # ----------------
16 #
17 # * optical detector readout: `daqPMT`
18 #
19 #
20 # Changes
21 # --------
22 #
23 # 20210208 (petrillo@slac.stanford.edu) [v1.0]
24 # : original version based on `triggersim_singlewindow_icarus.fcl` v1.0
25 # 20210728 (petrillo@slac.stanford.edu) [v1.1]
26 # : timing override removed, as modern run are decoded with proper timing
27 #
28 
30 
32 
33 
34 #
35 # different input labels
36 #
37 physics.producers.discrimopdaq.OpticalWaveforms: "daqPMT"
38 physics.producers.pmtbaselines.OpticalWaveforms: "daqPMT"
39 
40 #
41 # additional modules:
42 # * PMT configuration from metadata
43 # * baseline from PMT configuration
44 # * discrimination from PMT configuration
45 #
46 services.IICARUSChannelMap: @local::icarus_channelmappinggservice
47 
48 
49 physics.producers.pmtconfig: {
50 
51  module_type: PMTconfigurationExtraction
52 
53 } # physics.producers.pmtconfig
54 
55 
56 physics.producers.pmtconfigbaselines: {
57 
58  module_type: PMTWaveformBaselinesFromReadoutConfiguration
59 
60  # label of input digitized optical waveform data product
61  OpticalWaveforms: "daqPMT"
62 
63  # label of PMT configuration
64  PMTconfigurationTag: "pmtconfig"
65 
66  # produce plots on the extracted baseline
67  PlotBaselines: true # default
68 
69  # print on screen the baselines (good for debugging)
70  PrintBaselines: true
71 
72  # tag of the module output to console via message facility
73  OutputCategory: "PMTWaveformBaselines" # default
74 
75 } # physics.producers.pmtconfigbaselines
76 
77 
78 physics.producers.pmtthr: {
79 
80  module_type: DiscriminatePMTwaveformsByChannel
81 
82  # input optical waveform data product tag:
83  OpticalWaveforms: "daqPMT"
84 
85  # PMT baselines
86  Baselines: "pmtconfigbaselines" # from data products
87 
88  # threshold configuration
89  ThresholdsFromPMTconfig: "pmtconfig"
90  NChannels: 360 # to be safe...
91 
92  #
93  # choosing the discrimination algorithm: fixed length gates
94  #
95  TriggerGateBuilder: {
96  @table::icarus_fixedtriggergate # from trigger_icarus.fcl
97 
98  ChannelThresholds: @local::PMTthresholds
99 
101 
102  } # TriggerGateBuilder
103 
104 
105  # message facility stream
106  OutputCategory: "DiscriminatePMTwaveforms"
107 
108 } # physics.producers.pmtthr
109 
110 
111 physics.producers.lvdsgatesOR.Thresholds:
112  [ @sequence::physics.producers.lvdsgatesOR.Thresholds, "pmtthr:" ]
113 physics.producers.trigslidewindowOR6m.Thresholds:
114  [ @sequence::physics.producers.trigslidewindowOR6m.Thresholds, pmtthr ]
115 physics.analyzers.effSlidingOR6m.Thresholds: @local::physics.producers.trigslidewindowOR6m.Thresholds
116 
117 
118 physics.triggerOR: [
120  @sequence::physics.triggerOR
121 ]
122 
123 
124 #
125 # disable truth information
126 #
127 physics.analyzers.effSlidingOR6m.OnlyPlotCategories: [ "All" ]
128 physics.analyzers.effSlidingOR6m.GeneratorTags: []
129 physics.analyzers.effSlidingOR6m.DetectorParticleTag: @erase
130 physics.analyzers.effSlidingOR6m.EnergyDeposits: []
131 
132 
133 # ------------------------------------------------------------------------------
134 # --- Configuration override guide
135 # ------------------------------------------------------------------------------
136 #
137 # The default values of the trigger configuration are in one way or the other
138 # coming from `trigger_icarus.fcl`.
139 #
140 
141 
142 # ------------------------------------------------------------------------------
143 
process_name pmtconfig
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
process_name drop raw::OpDetWaveforms_DataApr2016RecoStage1_saturation_ * physics
BEGIN_PROLOG LVDSsignalWidth
BEGIN_PROLOG BeamGateDuration pmtthr
BEGIN_PROLOG GateDuration
physics producers discrimopdaq OpticalWaveforms
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 module_type
BEGIN_PROLOG BeamGateDuration pmtthr physics producers trigtilewindowORS pmtthr physics producers trigtilewindowORC pmtthr physics producers trigtilewindowORN pmtthr physics producers trigtilewindowORE pmtthr physics producers trigtilewindowORSE pmtthr physics producers trigtilewindowORCE pmtthr physics producers trigtilewindowORNE pmtthr physics producers trigtilewindowORW pmtthr physics producers trigtilewindowORSW pmtthr physics producers trigtilewindowORCW pmtthr physics producers trigtilewindowORNW pmtthr physics producers trigslidewindowOR pmtthr physics producers trigslidewindowORE pmtthr physics producers trigslidewindowORW pmtthr physics analyzers effTiledOR pmtconfigbaselines