All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
simulate_sliding_window_trigger_icarus.fcl
Go to the documentation of this file.
1 #
2 # File: simulate_sliding_window_trigger_icarus.fcl
3 # Purpose: Runs SlidingWindowTriggerSimulation module.
4 # Author: Gianluca Petrillo (petrillo@slac.stanford.edu)
5 # Date: March 27, 2021
6 #
7 # This is a top-level configuration that can be run directly.
8 #
9 # This job simulates eight different sliding window triggers, with requirements
10 # of 3 to 6 LVDS gates open in one window, with or without a coincidence with
11 # the opposite window.
12 #
13 #
14 # Required inputs
15 # ----------------
16 #
17 # * sliding window trigger gates made from the selected sliding window
18 # configuration (with threshold)
19 #
20 # Output
21 # -------
22 #
23 # Data products:
24 # * `slidingwindowtriggerM3:thr`, `slidingwindowtriggerM3O3:thr`, ...:
25 # `raw::Trigger` collections for SlidingWindowTriggerSimulation;
26 # the tag in the instance name is the requirement pattern, while the
27 # instance name represents the discrimination threshold used for input.
28 #
29 # Plots:
30 # * `slidingwindowtriggerM3`, `slidingwindowtriggerM3O3`, ...:
31 # basic trigger response distributions
32 #
33 
35 #include "rootoutput_icarus.fcl"
36 #include "trigger_icarus.fcl"
37 
38 process_name: TrigSim
39 
40 
41 services: {
42 
43  # this provides: file service, random management (unused),
44  # Geometry, detector properties and clocks
45  @table::icarus_common_services
46 
47  # currently unused (remove the line if they start mattering):
48  LArPropertiesService: @erase
49  DetectorPropertiesService: @erase
50 
51 } # services
52 
53 
54 slidingwindowtriggerTemplate: {
55 
56  module_type: SlidingWindowTriggerSimulation
57 
58  TriggerGatesTag: "trigslidewindowOR"
59 
60  Thresholds: [ 400, 600, pmtthr ]
61 
62  ###
63  ### requirement:
64  ###
65  Pattern: @nil # need to replace
66 
67  # Beam gate:
68  # duration (BNB: 1.6 us; NuMI: 9.5 us)
69  BeamGateDuration: @local::BNB_settings.spill_duration # from trigger_icarus.fcl
70  BeamBits: @local::BNB_settings.trigger_bits # from trigger_icarus.fcl
71 
72 
73  EventTimeBinning: 900 # seconds-> 15'
74 
75  TriggerTimeResolution: "25 ns"
76 
77  # name of the category used for the output
78  LogCategory: "SlidingWindowTriggerSimulation"
79 
80 } # slidingwindowtriggerTemplate
81 
82 
83 physics: {
84 
85  producers: {
86 
87  slidingwindowtriggerM1: {
88  @table::slidingwindowtriggerTemplate
89  Pattern: {
90  inMainWindow: 1
91  }
92  } # slidingwindowtriggerM1
93 
94  slidingwindowtriggerM2: {
95  @table::slidingwindowtriggerTemplate
96  Pattern: {
97  inMainWindow: 2
98  }
99  } # slidingwindowtriggerM2
100 
101  slidingwindowtriggerM3: {
102  @table::slidingwindowtriggerTemplate
103  Pattern: {
104  inMainWindow: 3
105  }
106  } # slidingwindowtriggerM3
107 
108  slidingwindowtriggerM4: {
109  @table::slidingwindowtriggerTemplate
110  Pattern: {
111  inMainWindow: 4
112  }
113  } # slidingwindowtriggerM4
114 
115  slidingwindowtriggerM5: {
116  @table::slidingwindowtriggerTemplate
117  Pattern: {
118  inMainWindow: 5
119  }
120  } # slidingwindowtriggerM5
121 
122  slidingwindowtriggerM6: {
123  @table::slidingwindowtriggerTemplate
124  Pattern: {
125  inMainWindow: 6
126  }
127  } # slidingwindowtriggerM6
128 
129  slidingwindowtriggerM3O3: {
130  @table::slidingwindowtriggerTemplate
131  Pattern: {
132  inMainWindow: 3
133  inOppositeWindow: 3
134  }
135  } # slidingwindowtriggerM3O3
136 
137  slidingwindowtriggerM4O4: {
138  @table::slidingwindowtriggerTemplate
139  Pattern: {
140  inMainWindow: 4
141  inOppositeWindow: 4
142  }
143  } # slidingwindowtriggerM4O4
144 
145  slidingwindowtriggerM5O5: {
146  @table::slidingwindowtriggerTemplate
147  Pattern: {
148  inMainWindow: 5
149  inOppositeWindow: 5
150  }
151  } # slidingwindowtriggerM5O5
152 
153  slidingwindowtriggerM6O6: {
154  @table::slidingwindowtriggerTemplate
155  Pattern: {
156  inMainWindow: 6
157  inOppositeWindow: 6
158  }
159  } # slidingwindowtriggerM6O6
160 
161  } # producers
162 
163  trigger: [
164  slidingwindowtriggerM1,
165  slidingwindowtriggerM2,
166  slidingwindowtriggerM3,
167  slidingwindowtriggerM4,
168  slidingwindowtriggerM5,
169  slidingwindowtriggerM6,
170  slidingwindowtriggerM3O3,
171  slidingwindowtriggerM4O4,
172  slidingwindowtriggerM5O5,
173  slidingwindowtriggerM6O6
174  ]
175  output: [ rootoutput ]
176 
177  trigger_paths: [ trigger ]
178  end_paths: [ output ]
179 
180 } # physics
181 
182 
183 outputs: {
184 
185  rootoutput: @local::icarus_rootoutput # from rootoutput_icarus.fcl
186 
187 } # outputs
188 
189 
190 #
191 # add debug output to its own file
192 #
193 services.message.destinations.SlidingWindowTriggerLog: {
194  type: file
195  filename: "SlidingWindowTriggerSim.log"
196  threshold: DEBUG
197  categories: {
198  SlidingWindowTriggerSimulation: { limit: -1 }
199  default: { limit: 0 }
200  }
201 } # services.messages.destinations.SlidingWindowTriggerLog
202 
BEGIN_PROLOG BeamGateDuration pmtthr physics producers trigtilewindowORS Thresholds
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
BEGIN_PROLOG BeamGateDuration pmtthr
second seconds
Alias for common language habits.
Definition: spacetime.h:88
BEGIN_PROLOG BNB_settings
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 triggeremu_data_config_icarus settings sequence::triggeremu_data_config_icarus settings PMTADCthresholds sequence::triggeremu_data_config_icarus settings PMTADCthresholds sequence::triggeremu_data_config_icarus settings PMTADCthresholds Pattern
BEGIN_PROLOG sequence::SlidingWindowTriggerPatternsOppositeWindows END_PROLOG process_name