dunedp_reco_light.fcl
Go to the documentation of this file.
1 #include "services_dune.fcl"
2 #include "caldata_dune.fcl"
3 #include "hitfindermodules_dune.fcl"
4 #include "cluster_dune.fcl"
5 #include "trackfindermodules_dune.fcl"
6 #include "pandoramodules_dune.fcl"
7 #include "calorimetry_dune10kt.fcl"
8 #include "mctrutht0matching.fcl"
9 #include "t0reco.fcl"
10 #include "particleid.fcl"
11 #include "showerfindermodules_dune.fcl"
12 #include "opticaldetectormodules_dune.fcl"
13 #include "opticaldetectorservices_dune.fcl"
14 
15 #include "tools_dune.fcl"
16 
17 process_name: Reco
18 
19 services:
20 {
21  # Load the service that manages root files for histograms.
22  TFileService: { fileName: "%ifb_reco_hist.root" }
23  TimeTracker: {}
24  MemoryTracker: {}
25  RandomNumberGenerator: {} #ART native random number generator
26  message: @local::dune_message_services_prod_debug
27  FileCatalogMetadata: @local::art_file_catalog_mc
28  @table::dunefddphase_simulation_services_legacy
29 # @table::dunefddphase_reco_services_legacy
30  PhotonVisibilityService: @local::dunefddphase_PhotonVisibilityService
31 }
32 
33 services.DetectorPropertiesService.Electronlifetime: 1000.0e3 #in us
34 # services.message.destinations.LogStandardOut.threshold: "INFO"
35 
36 #source is now a root file
37 source:
38 {
39  module_type: RootInput
40  maxEvents: -1
41  fileNames: ["detsim.root"]
42 }
43 
44 # Define and configure some modules to do work on each event.
45 # First modules are defined; they are scheduled later.
46 # Modules are grouped by type.
47 physics:
48 {
49  producers:
50  {
51 # random number saver
52  rns: { module_type: RandomNumberSaver }
53 
54  ophit:
55  {
56  module_type: "OpHitFinder"
57  GenModule: "generator"
58  InputModule: "opdigi"
59  InputLabels: [ "" ]
60  ChannelMasks: []
61  HitThreshold: 0.5 # PE
62  UseCalibrator: false # If set to false, SPE parameters below
63  # are used
64  AreaToPE: true # Use area to calculate number of PEs
65  SPEArea: 4.1 # If AreaToPE is true, this number is
66  # used as single PE area (in ADC counts)
67  SPEShift: 0 # Baseline offset in ADC->SPE conversion
68  reco_man: @local::standard_preco_manager
69  HitAlgoPset: @local::standard_algo_threshold
70  PedAlgoPset:
71  {
72  Name: "UB"
73  BeamGateSamples : 1500
74  # You need to include parameters fed to PedTruncatedMean since that
75  # algo is called for beam gate sample as well
76  # Sliding mean number of samples
77  SampleSize: 50
78  MaxSigma: 1
79  PedRangeMax: 4100
80  PedRangeMin: 3900
81 
82  # RandomRange: 5
83  # RandomRangeDivisions: 4.0
84  Threshold: 4
85  # Number of ADC count to shift during random sampling
86  # RandomRangeShift: -0.5
87  # This parameter get's multiplied by mode_sigma to determine
88  # whether or not samples are close enough to be filled with random baseline
89  # between gaps
90  DiffBetweenGapsThreshold: 2
91  DiffADCCounts: 2
92  NPrePostSamples: 5
93  }
94  }
95  opflash:
96  {
97  module_type: "OpFlashFinder"
98  InputModule: "ophit"
99  BinWidth: 1 # us | Pulse finding parameters
100  FlashThreshold: 2 # PE
101  WidthTolerance: 0.5 # unitless
102  TrigCoinc: 2.5 # in microseconds!
103  }
104  }
105 
106  #define the producer and filter modules for this path, order matters,
107  #filters reject all following items. see lines starting physics.producers below
108  reco: [ rns, ophit,opflash ]
109 
110  analyzers:
111  {
112  opdigiana: @local::dunefddphase_opdigiana
113  opflashana: @local::dunefd_opflashana
114  }
115 
116 
117  #define the output stream, there could be more than one if using filters
118  stream1: [ opdigiana, opflashana, out1 ]
119 
120  #trigger_paths is a keyword and contains the paths that modify the art::event,
121  #ie filters and producers
122  trigger_paths: [reco]
123 
124  #end_paths is a keyword and contains the paths that do not modify the art::Event,
125  #ie analyzers and output streams. these all run simultaneously
126  end_paths: [stream1]
127 }
128 
129 #block to define where the output goes. if you defined a filter in the physics
130 #block and put it in the trigger_paths then you need to put a SelectEvents: {SelectEvents: [XXX]}
131 #entry in the output stream you want those to go to, where XXX is the label of the filter module(s)
132 outputs:
133 {
134  out1:
135  {
136  module_type: RootOutput
137  fileName: "%ifb_reco.root"
138  dataTier: "full-reconstructed"
139  compressionLevel: 1
140  }
141 }
142 
143 
144 services.OpDetResponseInterface.QuantumEfficiency: 0.2
145 services.LArPropertiesService.ScintPreScale: 1