All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
icarus_ophitfinder.fcl
Go to the documentation of this file.
2 #include "icarus_spe.fcl"
3 BEGIN_PROLOG
4 # ==============================================================================
5 # Pedestal estimation algorithms
6 # ==============================================================================
8  @table::standard_algo_pedestal_edges
9  NumSampleFront: 3
10  NumSampleTail: 3
11  NumSampleMethod: 2
12 }
13 
14 icarus_opreco_pedestal_rollingmean: {
15  @table::standard_algo_pedestal_rollingmean
16  SampleSize: 20
17  Threshold: 2
18  MaxSigma: 1.5
19  PedRangeMax: 8010
20  PedRangeMin: 0
21 }
22 
23 icarus_opreco_pedestal_rmsslider: {
24  @table::standard_algo_pedestal_ub
25  BeamGateSamples: 1
26  SampleSize: 20
27  Threshold: 1.5
28  Verbose: false
29  NWaveformsToFile: 0
30  MaxSigma: 1.5
31  PedRangeMax: 8003
32  PedRangeMin: 7995
33  NumPreSample: 10
34  NumPostSample: 20
35 }
36 
37 ##
38 ## ICARUS "old" baseline settings: see SBN DocDB 24969
39 ## Labelled as "MC" here because at this time they appear to work better for MC.
40 ##
41 icarus_opreco_pedestal_MC_DocDB24969: { # based on icarus_opreco_pedestal_rmsslider
42  Name: "UB"
43  BeamGateSamples: 1
44  SampleSize: 20
45  Threshold: 4
46  MaxSigma: 4
47  NumPreSample: 10
48  NumPostSample: 20
49  PedRangeMax: 15200
50  PedRangeMin: 14640
51  NWaveformsToFile: 0
52  Verbose: false
53 } # icarus_opreco_pedestal_MC_DocDB24969
54 
55 ##
56 ## ICARUS tuning: see SBN DocDB 24969
57 ##
58 icarus_opreco_pedestal_DocDB24969: {
59  Name: "RollingMean" # was "UB"
60  SampleSize: 20 # unchanged
61  NPrePostSamples: 5 # unchanged
62  Threshold: 1.5 # was: 4
63  MaxSigma: 5 # was: 4
64  DiffADCCounts: 2 # unchanged
65  DiffBetweenGapsThreshold: 2 # unchanged
66  PedRangeMax: 16000 # was: 15200
67  PedRangeMin: 14000 # was: 14640
68 } # icarus_opreco_pedestal_DocDB24969
69 
70 
71 # ==============================================================================
72 # Hit Algorithms
73 # ==============================================================================
74 icarus_opreco_hit_threshold: {
75  @table::standard_algo_threshold
76  StartADCThreshold : 5
77  EndADCThreshold : 2
78  NSigmaThresholdStart : 5
79  NSigmaThresholdEnd : 3
80 }
81 
82 icarus_opreco_hit_fixedwindow: {
83  @table::standard_algo_fixedwindow
84  StartIndex: 0
85  EndIndex: 20
86 }
87 
88 icarus_opreco_hit_slidingwindow: {
89  @table::standard_algo_slidingwindow
90  PositivePolarity: false
91  NumPreSample: 5
92  NumPostSample: 10
93  ADCThreshold: 5 # ADC threshold (absolute) above pedestal mean to fire a pulse
94  NSigmaThreshold: 3 # ADC threshold (N*pedestal sigma) above pedestal mean to fire a pulse
95  TailADCThreshold: 2 # ADC threshold (absolute) below which next pulse is allowed to fire
96  TailNSigmaThreshold: 2 # ADC threshold (N*pedestal sigma) below which next pulse is allowed to fire
97  EndADCThreshold: 1 # ADC threshold (absolute) at which the pulse ends
98  EndNSigmaThreshold: 1 # ADC threshold (N*pedetal sigma) at which the pulse ends
99  MinPulseWidth: 2 # The width of a pulse needs to be equal or larger than this to be recorded
100  Verbosity: false
101 }
102 
103 
104 icarus_opreco_hit_slidingwindow_201910: { # based on icarus_opreco_hit_slidingwindow
105  @table::standard_algo_slidingwindow
106  PositivePolarity: false
107  NumPreSample: 5
108  NumPostSample: 10
109  ADCThreshold: 10 # ADC threshold (absolute) above pedestal mean to fire a pulse
110  NSigmaThreshold: 3 # ADC threshold (N*pedestal sigma) above pedestal mean to fire a pulse
111  TailADCThreshold: 6 # ADC threshold (absolute) below which next pulse is allowed to fire
112  TailNSigmaThreshold: 2 # ADC threshold (N*pedestal sigma) below which next pulse is allowed to fire
113  EndADCThreshold: 2 # ADC threshold (absolute) at which the pulse ends
114  EndNSigmaThreshold: 1 # ADC threshold (N*pedetal sigma) at which the pulse ends
115  MinPulseWidth: 5 # The width of a pulse needs to be equal or larger than this to be recorded
116  Verbosity: false
117 } # icarus_opreco_hit_slidingwindow_201910
118 
119 
120 icarus_opreco_hit_cfd: {
121  @table::standard_algo_cfd
122  Fraction: 0.9
123  Delay: 2
124  PeakThresh: 7.5
125  StartThresh: 5.0
126  EndThresh: 1.5
127 }
128 
129 
130 # ==============================================================================
131 # module configurations
132 # ==============================================================================
133 
134 icarus_ophit: # some basic configuration
135 {
136  module_type: "OpHitFinder"
137  GenModule: "generator"
138  InputModule: "opdaq"
139  InputLabels: []
140  ChannelMasks: []
141  HitThreshold: 0.2 # PE
142  AreaToPE: true # Use area to calculate number of PEs
143  SPEArea: @local::SPE.Area # If AreaToPE is true, this number is
144  # used as single PE area (in ADC counts)
145  SPEShift: @local::SPE.Shift # Used by PhotonCalibratorStandard to compute
146  # PE = area / SPEArea + SPEShift
147  UseStartTime: true # record pulse start time rather than peak (max) time
148  reco_man: @local::standard_preco_manager
149  HitAlgoPset: @local::icarus_opreco_hit_slidingwindow_201910
150  PedAlgoPset: @local::icarus_opreco_pedestal_MC_DocDB24969
151 }
152 
153 icarus_ophitdebugger: @local::icarus_ophit
154 icarus_ophitdebugger.module_type: "FullOpHitFinder"
155 icarus_ophitdebugger.OutputFile: "ophit_debug.root"
156 
157 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
158 # this is the "standard" ICARUS configuration for MC optical hit reconstruction:
159 icarus_ophit_MC: {
160  @table::icarus_ophit
161  InputModule: "opdaq"
162 }
163 
164 icarus_ophitdebugger_MC: @local::icarus_ophit_MC
165 icarus_ophitdebugger_MC.module_type: "FullOpHitFinder"
166 icarus_ophitdebugger_MC.OutputFile: "ophit_debug.root"
167 
168 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
169 # this is the "standard" ICARUS configuration for data optical hit reconstruction:
170 icarus_ophit_data: {
171  @table::icarus_ophit
172  InputModule: "daqPMT"
173 # PedAlgoPset: @local::icarus_opreco_pedestal_DocDB24969
174 }
175 
176 icarus_ophitdebugger_data: @local::icarus_ophit_data
177 icarus_ophitdebugger_data.module_type: "FullOpHitFinder"
178 icarus_ophitdebugger_data.OutputFile: "ophit_debug.root"
179 
180 
181 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
182 
183 END_PROLOG
BEGIN_PROLOG Verbose
BEGIN_PROLOG pmt_uncoated this number is reco_man
#define the
BEGIN_PROLOG xarapuca_vuv SBNDDecoOpHitFinderXArapuca SPEArea
process_name gaushit a
then local
BEGIN_PROLOG SPE parameters below AreaToPE
BEGIN_PROLOG d d Threshold
BEGIN_PROLOG dataFFTHistosEW root
BEGIN_PROLOG vertical distance to the surface Name
process_name sequence::icarus_stage0_mc_crt physics purityinfoana1 physics streamBNB outputs outBNB drop *_MCDecodeTPCROI_ *_ drop *_decon1droi_ *_ drop raw::RawDigits_ *_ *_ *physics producers ophit InputModule
BEGIN_PROLOG icarus_opreco_pedestal_edges
bool equal(double a, double b)
Comparison tolerance, in centimeters.
double mean(const std::vector< short > &wf, size_t start, size_t nsample)
Definition: UtilFunc.cxx:13
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