All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
run_pmttriggerproducer.fcl
Go to the documentation of this file.
1 #
2 # File: pmtTriggerproducer_sbnd.fcl
3 # Purpose: Simulates pmt hardware trigger
4 # Author: Erin Yandel (eyandel@fnal.gov)
5 # Date: October 26, 2021
6 # Version: 1.0
7 #
8 # This is a module to simulate the PMT hardware trigger on simulated data.
9 # It takes a largeant file with optical detectors waveforms and produces a
10 # vector whose index is time within the trigger (beam) window and content
11 # is number of PMT pairs passsing the trigger threshold.
12 #
13 # Input:
14 # - output from OpDetSim module (in particular, OpDetWaveforms)
15 #
16 # Output:
17 # - std::vector<sbnd::comm::pmtTrigger> > : PMT trigger array
18 #
19 
20 
21 #include "services_sbnd.fcl"
22 #include "messages_sbnd.fcl"
23 #include "sam_sbnd.fcl"
24 #include "larfft_sbnd.fcl"
25 #include "signalservices_sbnd.fcl"
27 #include "detsimmodules_sbnd.fcl"
28 #include "opdetdigitizer_sbnd.fcl"
29 #include "ophit_finder_sbnd.fcl"
30 #include "pmttriggerproducer.fcl"
31 
33 #include "cluster_sbnd.fcl"
35 #include "calorimetry_sbnd.fcl"
36 #include "showerfindermodules.fcl"
37 #include "databaseutil_sbnd.fcl"
38 #include "vertexfindermodules.fcl"
39 
40 
41 
42 #include "rootoutput_sbnd.fcl"
43 
44 
45 process_name: pmtTriggerproducer
46 
47 services:
48 {
49  # Load the service that manages root files for histograms.
50  TFileService: { fileName: "pmtTrigger_hist.root" }
51  @table::sbnd_detsim_services
52  RandomNumberGenerator: {} # required by fuzzyCluster
53  message: @local::sbnd_message_services_prod # from messages_sbnd.fcl
54  FileCatalogMetadata: @local::sbnd_file_catalog_mc # from sam_sbnd.fcl
55  LArFFT: @local::sbnd_larfft
56 
57  SignalShapingServiceSBND: @local::sbnd_signalshapingservice # from signalservices_sbnd.fcl
58 }
59 
60 
61 #source is now a root file
62 source:
63 {
64  module_type: RootInput
65  maxEvents: -1 # Number of events to create
66 }
67 
68 
69 #block to define where the output goes. if you defined a filter in the physics
70 #block and put it in the trigger_paths then you need to put a SelectEvents: {SelectEvents: [XXX]}
71 #entry in the output stream you want those to go to, where XXX is the label of the filter module(s)
72 outputs:
73 {
74  out1:
75  {
77  dataTier: "reconstructed"
79  }
80 }
81 
82 # Define and configure some modules to do work on each event.
83 # First modules are defined; they are scheduled later.
84 # Modules are grouped by type.
85 
86 
87 physics:
88 {
89 
90  producers:
91  {
92  # random number saver
93  rns: { module_type: RandomNumberSaver }
94  #opdaq: @local::sbnd_opdetdigitizer
95  #ophit: @local::sbnd_ophit_finder_pmt
96  pmttriggerproducer: @local::pmtTriggerProducer
97  }
98 
99 
100  # define the producer and filter modules for this path, order matters,
101  # filters reject all following items. see lines starting physics.producers below
102  reco: [rns, pmttriggerproducer]
103 
104  # define the output stream, there could be more than one if using filters
105  out: [ out1 ]
106 
107  # trigger_paths is a keyword and contains the paths that modify the art::event,
108  # ie filters and producers
110 
111  # end_paths is a keyword and contains the paths that do not modify the art::Event,
112  # ie analyzers and output streams. these all run simultaneously
113  end_paths: [out]
114 
115 }
116 
117 
118 ### Some potential overwrites below
119 
120 #physics.producers.pmttriggerproducer.SaveHists: true
121 physics.producers.pmttriggerproducer.Verbose: true
122 
123 #physics.producers.pmttriggerproducer.PairLogic: "AND"
124 
125 #physics.producers.pmttriggerproducer.OpDetsToPlot: ["pmt_coated", "pmt_uncoated"]
126 
127 #physics.producers.pmttriggerproducer.WindowStart: -1510.0
128 #physics.producers.pmttriggerproducer.WindowEnd: 1510.0
services RandomNumberGenerator
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 local::throughgoing_selection SelectEvents
BEGIN_PROLOG pandoraTrackRangeCryoW pandoraTrackRangeCryoW rns
process_name drop raw::OpDetWaveforms_DataApr2016RecoStage1_saturation_ * physics
do source
physics producers trigslidewindowOR6mW physics effSlidingOR6mW physics end_paths
process_name can override from command line with o or output dataTier
Definition: runPID.fcl:28
BEGIN_PROLOG sbnd_signalshapingservice
required by fuzzyCluster table::sbnd_g4_services LArFFT
Definition: reco_sbnd.fcl:182
source drop raw::ubdaqSoftwareTriggerData_ *_ *_ * maxEvents
Definition: frame-shunt.fcl:6
process_name standard_reco_uboone reco
BEGIN_PROLOG sbnd_rootoutput
BEGIN_PROLOG pmtTriggerProducer
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
process_name showerreco Particles Coinciding wih the Vertex services ScanOptions nu_mu services ScanOptions Number
BEGIN_PROLOG sequence::SlidingWindowTriggerPatternsWindowPair END_PROLOG trigslidewindowOR6m output outputs
process_name sequence::icarus_reco_cluster3d physics trigger_paths
BEGIN_PROLOG sequence::SlidingWindowTriggerPatternsOppositeWindows END_PROLOG process_name