All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
hitfindermodules.fcl
Go to the documentation of this file.
1 // from larreco/RecoAlg:
2 #include "hitalgorithms.fcl"
3 #include "HitFinderTools.fcl"
4 
5 BEGIN_PROLOG
6 
8 {
9  module_type: "HitCheater"
10  G4ModuleLabel: "largeant"
11  WireModuleLabel: "caldata"
12  MinimumCharge: 5.
13 }
14 
15 standard_hitcheater_preSpill: @local::standard_hitcheater
16 standard_hitcheater_postSpill: @local::standard_hitcheater
17 standard_hitcheater_preSpill.WireModuleLabel: "caldataPreSpill:preSpill"
18 standard_hitcheater_postSpill.WireModuleLabel: "caldataPostSpill:postSpill"
19 
20 standard_hitfinder:
21 {
22  module_type: "FFTHitFinder"
23  CalDataModuleLabel: "caldata"
24  MinSigInd: 6.0 # Induction signal height threshold
25  MinSigCol: 11.0 # Collection signal height threshold
26  IndWidth: 6.0 # Initial width for induction fit
27  ColWidth: 7.8 # Initial width for collection fit
28  IndMinWidth: 4.0 # Induction Hit width threshold
29  ColMinWidth: 6.0 # Collection hit width threshold
30  MaxMultiHit: 3 # maximum hits for multi fit
31  AreaMethod: 0 # 0 = area by integral, 1 = area by gaussian area formula
32  AreaNorms: [ 13.25, 26.31 ] # normalizations that put signal area in
33  # same scale as peak height.
34 }
35 
36 gaus_hitfinder:
37 {
38  module_type: "GausHitFinder"
39  CalDataModuleLabel: "caldata"
40  MaxMultiHit: 10 # maximum hits for multi gaussia fit attempt
41  AreaMethod: 0 # 0 = area by integral, 1 = area by gaussian area formula
42  AreaNorms: [ 13.25, 26.31 ] # normalizations that put signal area in
43  # same scale as peak height.
44  LongMaxHits: [ 1, 1, 1] # max number hits in long pulse trains
45  LongPulseWidth: [ 16, 16, 16] # max widths for hits in long pulse trains
46  Chi2NDF: 2000 # maximum Chisquared / NDF allowed to store fit, if fail
47  # will use "long" pulse method to return hit
48  AllHitsInstanceName: "" # If non-null then this will be the instance name of all hits output to event
49  # in this case there will be two hit collections, one filtered and one containing all hits
50 
51  # Candididate peak finding done by tool, one tool instantiated per plane (but could be other divisions too)
52  HitFinderToolVec:
53  {
54  CandidateHitsPlane0: @local::candhitfinder_standard # plane 0
55  CandidateHitsPlane1: @local::candhitfinder_standard # plane 1
56  CandidateHitsPlane2: @local::candhitfinder_standard # plane 2
57  }
58 
59  # Declare the peak fitting tool
60  PeakFitter: @local::peakfitter_gaussian
61  #PeakFitter: @local::peakfitter_mrqdt
62 
63  # The below are for the hit filtering section of the gaushit finder
64  FilterHits: false # true = do not keep undesired hits according to settings of HitFilterAlg object
65  HitFilterAlg:
66  {
67  AlgName: "HitFilterAlg"
68  MinPulseHeight: [5.0, 5.0, 5.0] #minimum hit peak amplitude per plane
69  MinPulseSigma: [1.0, 1.0, 1.0] #minimum hit rms per plane
70  }
71  # In addition to the filter alg we can also filter hits on the same pulse train
72  PulseHeightCuts: [3.0, 3.0, 3.0 ] # Minimum pulse height
73  PulseWidthCuts: [2.0, 1.5, 1.0 ] # Minimum pulse width
74  PulseRatioCuts: [0.35, 0.40, 0.20] # Ratio of pulse height to width
75 }
76 
77 # Currently have to tell each tool which plane it is operating on... this is really
78 # for the histogramming option which enables hist naming without conflict
79 gaus_hitfinder.HitFinderToolVec.CandidateHitsPlane0.Plane: 0
80 gaus_hitfinder.HitFinderToolVec.CandidateHitsPlane1.Plane: 1
81 gaus_hitfinder.HitFinderToolVec.CandidateHitsPlane2.Plane: 2
82 
83 dpraw_hitfinder:
84 {
85  module_type: "DPRawHitFinder"
86  LogLevel: 0
87 
88  CalDataModuleLabel: "caldata"
89  MinSig: 10 # peak threshold for peak finding (in ADC). Peaks with lower amplitudes are neither fitted nor stored.
90  TicksToStopPeakFinder: 4 # when walking along waveform to find start and end points of a peak, stop when current tick is followed by minimum "TicksToStopPeakFinder" ticks # with equal or higher ADC counts (=inflection point). Stop anyway if ADC count of a tick is <= 0.
91 
92  GroupMaxDistance: 10 # maximum distance (in ticks) between two peaks to be grouped.
93  GroupMinADC: 0 # minimum ADC count between two peaks to be grouped.
94  SameShape: true # if true: fits within same group are forced to have identical shape
95 
96  DoMergePeaks: false # true: enables peak merging for peaks in the same group.
97  MergeADCSumThreshold: 0.2 # merge two peaks only if (ADC sum of the smaller peak) < MergeADCSumThreshold*(ADC sum of the bigger peak).
98  MergeMaxADCThreshold: 0.2 # merge two peaks only if (height of the smaller peak) < MergeADCSumThreshold*(height of the bigger peak).
99  MinRelativePeakHeightLeft: 0.1 # if smaller peak is on the left: merge two peaks if (relative peak height of the smaller peak) < MinRelativePeakHeightLeft*(peak height of the smaller peak)
100  MinRelativePeakHeightRight: 0.1 # if smaller peak is on the right: merge two peaks if (relative peak height of the smaller peak) < MinRelativePeakHeightRight*(peak height of the smaller peak)
101  MergeMaxADCLimit: 25 # merge two peaks only if smaller peak <= MergeMaxADCLimit
102 
103  MinWidth: 5 # threshold for width (in ticks). Groups of peaks with smaller values are neither fitted nor stored.
104  MinADCSum: 10 # threshold for ADC sum (in ADC*ticks). Groups of peaks with smaller values are neither fitted nor stored.
105  MinADCSumOverWidth: 0 # threshold for ADC sum over width (in ADC*ticks/ticks). Groups of peaks with smaller values are neither fitted nor stored.
106 
107  MaxMultiHit: 6 # maximum number of peaks in a group for the group to be fitted. If more, split the group in equally spaced hits without fitting.
108  # When refitting, maximum number of peaks in group is: 1) not greater than 3x number of peaks before re-fitting.
109  MaxGroupLength: 20000 # Maximum length of group of peaks for the group to be fitted, in ticks. If more, split the group in equally spaced hits without fitting.
110  MaxFluctuations: 20000 # If the sum of fluctuations in all peaks is > MaxFluctuations, split the group in equally spaced hits without fitting.
111 
112  TryNplus1Fits: false # true: will try to re-fit poorly modeled groups of peaks (chi2PerNDF>Chi2NDFRetry) while adding (an) additional peak(s).
113  Chi2NDFRetry: 25 # for single peaks: if the first fit returns a Chi2/NDF greater than this, try to re-fit.
114  Chi2NDFRetryFactorMultiHits: 2 # for groups of peaks (2 or more): if the first fit returns a Chi2/NDF greater than Chi2NDFRetryFactorMultiHits*Chi2NDFRetry, try to re-fit.
115 
116  Chi2NDFMax: 2000 # for single peaks: maximum chi square / NDF allowed for a fit to be stored as recob::Hits. Otherwise, handle peak as long pulse train.
117  Chi2NDFMaxFactorMultiHits: 2 # for groups of peaks (2 or more): maximum chi square / NDF allowed for a fit to be stored as recob::Hit. Otherwise, handle group as long pulse train.
118 
119  LongPulseWidth: 40 # max widths for hits in long pulse trains
120  LongMaxHits: 20 # max number hits in long pulse trains
121 
122 
123  ChargeNorm: 1 # Normalization for fit integral. Should be set to 1.
124  NumBinsToAverage: 0 # 0 or 1 = no averaging.
125  MinTau: 0.01 # minimum value of the rising and falling time constants of the fit, in microseconds.
126  MaxTau: 20 # maximum value of the rising and falling time constants of the fit, in microseconds.
127  FitPeakMeanRange: 5 # range in that the fitter can move the mean of the fit function w.r.t. the peak.
128 
129  WidthNormalization: 2.335 # standard width of the fitted hit is the FWHM of the fitted function (full width at half maximum).
130  # This width is divied by 'WidthNormalization' and saved to the recob::Hit.
131  # standard value is chosen to be 2.335 = 2*sqrt(2*ln(2)), which is the relation between FWHM and standard deviation for the Gaussian distribution.
132 }
133 
134 standard_rffhitfinderalg:
135 {
136  AmplitudeThreshold: [ 0.0 ]
137  MeanMatchThreshold: [ 2.0 ]
138  MinMergeMultiplicity: [ 2 ]
139 }
140 
141 rff_hitfinder:
142 {
143  module_type: "RFFHitFinder"
144  WireModuleLabel: "caldata"
145  RFFHitFinderAlgParams: @local::standard_rffhitfinderalg
146 }
147 
148 tt_hitfinder:
149 {
150  module_type: "TTHitFinder"
151  CalDataModuleLabel: "caldata"
152  MinSigPeakInd: 6.0
153  MinSigPeakCol: 11.0
154  MinSigTailInd: 2.0
155  MinSigTailCol: 3.67
156  IndWidth: 3
157  ColWidth: 3
158 }
159 
160 #For now, keep the APAHitFinder configured just like the GausHitFinder
161 apa_hitfinder: @local::gaus_hitfinder
162 apa_hitfinder.module_type: "APAHitFinder"
163 
164 
165 standard_hitfinderana:
166 {
167  module_type: "HitFinderAna"
168  HitsModuleLabel: "ffthit"
169  LArGeantModuleLabel: "largeant"
170 }
171 
172 gaus_hitfinderana:
173 {
174  module_type: "GausHitFinderAna"
175  HitsModuleLabel: "gaushit"
176  LArGeantModuleLabel: "largeant"
177 }
178 
179 standard_fasthitfinder:
180 {
181  module_type: "RawHitFinder"
182  CalDataModuleLabel: "caldata"
183  MinSigInd: 5.0 # Induction signal height threshold
184  MinSigCol: 5.0 # Collection signal height threshold
185  IndWidth: 6.0 # Initial width for induction fit
186  ColWidth: 7.8 # Initial width for collection fit
187  IndMinWidth: 4.0 # Induction Hit width threshold
188  ColMinWidth: 6.0 # Collection hit width threshold
189  MaxMultiHit: 3 # maximum hits for multi fit
190  AreaMethod: 0 # 0 = area by integral, 1 = area by gaussian area formula
191  AreaNorms: [ 13.25, 26.31 ] # normalizations that put signal area in
192  ColMinWindow: 100 # minimum integration window for charge, coll plane
193  IndCutoff: 1 # max distance between zero crossing and hit start
194  # in ticks, for induction planes only
195  SkipInd: false # If true, do not make any hits for ind plane wires
196  UncompressWithPed: false
197 }
198 
199 standard_clustercrawlerhit:
200 {
201  # call this: "cchit"
202  module_type: "HitFinder"
203  CalDataModuleLabel: "caldata"
204  CCHitFinderAlg: @local::standard_cchitfinderalg
205 } # standard_clustercrawlerhit
206 
207 
208 jp250L_hitfinder: @local::standard_hitfinder
209 jp250L_gaushitfinder: @local::gaus_hitfinder
210 
211 bo_hitfinder: @local::standard_hitfinder
212 bo_gaushitfinder: @local::gaus_hitfinder
213 
214 argoneut_hitfinder: @local::standard_hitfinder
215 argoneut_gaushitfinder: @local::gaus_hitfinder
216 argoneut_mc_hitfinder: @local::standard_hitfinder
217 argoneut_mc_hitfinder.AreaNorms: [ 12.89, 14.51 ]
218 
219 microboone_hitfinder: @local::standard_hitfinder
220 microboone_gaushitfinder: @local::gaus_hitfinder
221 microboone_rffhitfinder: @local::rff_hitfinder
222 microboone_hitfinder.IndMinWidth: 1.0
223 microboone_hitfinder.ColMinWidth: 1.0
224 microboone_gaushitfinder.MinSig: [ 6.0, 6.0, 11.0 ]
225 microboone_gaushitfinder.InitWidth: [ 6.0, 6.0, 7.8 ]
226 microboone_gaushitfinder.MinWidth: [ 4.0, 4.0, 6.0 ]
227 microboone_gaushitfinder.AreaNorms: [ 13.25, 13.25, 26.31 ]
228 microboone_clustercrawlerhit: @local::standard_clustercrawlerhit
229 microboone_clustercrawlerhit.CCHitFinderAlg: @local::microboone_cchitfinderalg
230 END_PROLOG
then if[["$THISISATEST"==1]]
Definition: neoSmazza.sh:95
process_name opflash particleana ie x
esac done echo Signal files are
Definition: TrainMVA.sh:25
walls no right
Definition: selectors.fcl:105
process_name opflash opflashana store
#define the
BEGIN_PROLOG microboone_gaushitfinder microboone_gaushitfinder HitFilterAlg MinPulseSigma
const std::string instance
microsecond microseconds
Alias for common language habits.
Definition: spacetime.h:122
process_name hit
Definition: cheaterreco.fcl:51
BEGIN_PROLOG icarushit pmAlgKalmanTrackGaus pmAlgKalmanTrackICARUS pandoraKalmanTrackGaus pandoraKalmanTrackICARUS sequence::icarus_reco_mcrecoICARUS icarus_reco_producers rawdigitfilter icarus_reco_producers recowire icarus_reco_producers gaushit icarus_reco_producers gaushit LongPulseWidth
tick ticks
Alias for common language habits.
Definition: electronics.h:78
process_name ccluster WireModuleLabel
Definition: hitana.fcl:49
process_name gaushit a
double distance(geo::Point_t const &point, CathodeDesc_t const &cathode)
Returns the distance of a point from the cathode.
BEGIN_PROLOG LongMaxHits
counts_as<> counts
Number of ADC counts, represented by signed short int.
Definition: electronics.h:116
BEGIN_PROLOG microboone_gaushitfinder AllHitsInstanceName
BEGIN_PROLOG icarushit pmAlgKalmanTrackGaus pmAlgKalmanTrackICARUS pandoraKalmanTrackGaus pandoraKalmanTrackICARUS sequence::icarus_reco_mcrecoICARUS icarus_reco_producers rawdigitfilter icarus_reco_producers recowire icarus_reco_producers recowire icarus_reco_producers recowireraw icarus_reco_producers gaushit MinWidth
for($it=0;$it< $RaceTrack_number;$it++)
auto end(FixedBins< T, C > const &) noexcept
Definition: FixedBins.h:585
tick_as<> tick
Tick number, represented by std::ptrdiff_t.
Definition: electronics.h:75
BEGIN_PROLOG icarushit pmAlgKalmanTrackGaus pmAlgKalmanTrackICARUS pandoraKalmanTrackGaus pandoraKalmanTrackICARUS sequence::icarus_reco_mcrecoICARUS icarus_reco_producers rawdigitfilter icarus_reco_producers recowire icarus_reco_producers recowire icarus_reco_producers recowireraw icarus_reco_producers gaushit icarus_reco_producers gaushit AreaNorms
return match has_match and(match.match_pdg==11 or match.match_pdg==-11)
walls no left
Definition: selectors.fcl:105
BEGIN_PROLOG microboone_hitfinder
BEGIN_PROLOG icarushit pmAlgKalmanTrackGaus pmAlgKalmanTrackICARUS pandoraKalmanTrackGaus pandoraKalmanTrackICARUS sequence::icarus_reco_mcrecoICARUS icarus_reco_producers rawdigitfilter icarus_reco_producers recowire icarus_reco_producers gaushit MaxMultiHit
BEGIN_PROLOG T range on one event bo_cchitfinderalg bo_cchitfinderalg microboone_cchitfinderalg
bool equal(double a, double b)
Comparison tolerance, in centimeters.
BEGIN_PROLOG gaushit pmAlgKalmanTrack sequence::icarus_reco_mcreco icarus_reco_producers rawdigitfilter icarus_reco_producers recowire icarus_reco_producers recowire icarus_reco_producers gaushit CalDataModuleLabel
art::PtrVector< recob::Hit > Hits
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
if &&[-z"$BASH_VERSION"] then echo Attempting to switch to bash bash shellSwitch exit fi &&["$1"= 'shellSwitch'] shift declare a IncludeDirectives for Dir in
then echo File list $list not found else cat $list while read file do echo $file sed s
Definition: file_to_url.sh:60
BEGIN_PROLOG sequence::SlidingWindowTriggerPatternsOppositeWindows END_PROLOG simSlidingORM6O6 effSlidingORW output
BEGIN_PROLOG standard_cchitfinderalg
then echo fcl name
temporary value
BEGIN_PROLOG pmt_uncoated Threshold needs to be a element array of each individual PMT ADC threshold in order of lowest to highest channel number page of manual option are OR or AND window for pmt trigger time start window for pmt trigger time end etc then what events all hists are saved for if too many hists are saved
BEGIN_PROLOG standard_hitcheater
std::size_t count(Cont const &cont)
esac echo uname r