protodune_findprim_datahit.fcl
Go to the documentation of this file.
1 # addnoise_findprim_daqsimanas.fcl
2 
3 # Read in (presumably noise-free) waveforms, add noise and pedestals,
4 # then find trigger primitives on the (now noisy) waveforms, and save
5 # the trigger primitives (as "Hits") to an output TTree.
6 
7 # Any number of trigger primitive finders can be run: useful for
8 # running the same finder with multiple parameter settings, for
9 # example. The output of each trigger primitive finder should be
10 # connected to a DaqSimAna analyzer
11 
12 
13 #include "trigprim.fcl"
14 BEGIN_PROLOG
15 trigprim_datahit: {
16  module_type: DataHit
17  HitLabel: "foo"
18 
19 }
20 END_PROLOG
21 #include "services_dune.fcl"
22 
23 
24 process_name: PrimSim
25 
26 services: @local::protodune_services
27 services.TFileService: { fileName: "protodune_trigprim_multithreshold.root" }
28 services.TimeTracker: {}
29 services.MemoryTracker: { } # default is one
30 services.RandomNumberGenerator: {} #ART native random number generator
31 // services.FileCatalogMetadata: @local::art_file_catalog_mc
32 services.NuRandomService: @local::per_event_NuRandomService # seedservice.fcl
33 services.message: @local::dune_message_services_prod
34 #source is now a root file
35 source: {
36  module_type: RootInput
37  maxEvents: -1 # Number of events to create
38 }
39 
40 # Define and configure some modules to do work on each event.
41 # First modules are defined; they are scheduled later.
42 # Modules are grouped by type.
43 physics: {
44  producers: {
45  # You can add any number of trigger primitive finders here. Make
46  # sure each one has a distinct name, and has a corresponding
47  # daqsimana analyzer (otherwise you won't get a corresponding
48  # TTree in the output file. Also make sure to add it to the "simulate" list below
49  trigprim800: @local::trigprimpass1_protodune
50  trigprim1000: @local::trigprimpass1_protodune
51  trigprim1200: @local::trigprimpass1_protodune
52  trigprim1400: @local::trigprimpass1_protodune
53  trigprim1600: @local::trigprimpass1_protodune
54  trigprim1800: @local::trigprimpass1_protodune
55  trigprim2000: @local::trigprimpass1_protodune
56  trigprim2400: @local::trigprimpass1_protodune
57  trigprim2800: @local::trigprimpass1_protodune
58  trigprim3200: @local::trigprimpass1_protodune
59 
60  }
61 
62  analyzers:
63  {
64  # Create an SNAna for each trigger primitive finders. Make
65  # sure to add each one to the "ana" list below
66  datahittrigprim800: @local::trigprim_datahit
67  datahittrigprim1000: @local::trigprim_datahit
68  datahittrigprim1200: @local::trigprim_datahit
69  datahittrigprim1400: @local::trigprim_datahit
70  datahittrigprim1600: @local::trigprim_datahit
71  datahittrigprim1800: @local::trigprim_datahit
72  datahittrigprim2000: @local::trigprim_datahit
73  datahittrigprim2400: @local::trigprim_datahit
74  datahittrigprim2800: @local::trigprim_datahit
75  datahittrigprim3200: @local::trigprim_datahit
76  waveformstotree: {
77  module_type: "WaveformsToTree"
78  InputTag: "tpcrawdecoder:daq:DecoderandReco"
79  MaxChannels: 50
80  }
81  }
82 
83  reco: [ trigprim800, trigprim1000, trigprim1200, trigprim1400, trigprim1600, trigprim1800, trigprim2000, trigprim2400, trigprim2800, trigprim3200 ]
84  ana: [ datahittrigprim800, datahittrigprim1000, datahittrigprim1200, datahittrigprim1400, datahittrigprim1600, datahittrigprim1800, datahittrigprim2000, datahittrigprim2400, datahittrigprim2800, datahittrigprim3200, waveformstotree ]
85 
86  trigger_paths: [reco]
87  end_paths: [ ana ]
88 
89 }
90 
91 # Modify the settings of each of the trigger primitive finders. If you
92 # want to use a different trigger primitive finder class, set
93 # "physics.producers.<itemname>.finder.tool_type: MyNewTriggerPrimitiveFinderTool"
94 physics.producers.trigprim800.finder.Threshold: 800
95 physics.producers.trigprim1000.finder.Threshold: 1000
96 physics.producers.trigprim1200.finder.Threshold: 1200
97 physics.producers.trigprim1400.finder.Threshold: 1400
98 physics.producers.trigprim1600.finder.Threshold: 1600
99 physics.producers.trigprim1800.finder.Threshold: 1800
100 physics.producers.trigprim2000.finder.Threshold: 2000
101 physics.producers.trigprim2400.finder.Threshold: 2400
102 physics.producers.trigprim2800.finder.Threshold: 2800
103 physics.producers.trigprim3200.finder.Threshold: 3200
104 
105 
106 # Set the HitLabel to make sure each DaqAnaSim reads hits from its
107 # corresponding TriggerPrimitiveFinder
108 physics.analyzers.datahittrigprim800.HitLabel: "trigprim800"
109 physics.analyzers.datahittrigprim1000.HitLabel: "trigprim1000"
110 physics.analyzers.datahittrigprim1200.HitLabel: "trigprim1200"
111 physics.analyzers.datahittrigprim1400.HitLabel: "trigprim1400"
112 physics.analyzers.datahittrigprim1600.HitLabel: "trigprim1600"
113 physics.analyzers.datahittrigprim1800.HitLabel: "trigprim1800"
114 physics.analyzers.datahittrigprim2000.HitLabel: "trigprim2000"
115 physics.analyzers.datahittrigprim2400.HitLabel: "trigprim2400"
116 physics.analyzers.datahittrigprim2800.HitLabel: "trigprim2800"
117 physics.analyzers.datahittrigprim3200.HitLabel: "trigprim3200"
118 
119