10 G4ModuleLabel:
"largeant"
17 standard_hitcheater_preSpill.WireModuleLabel:
"caldataPreSpill:preSpill"
18 standard_hitcheater_postSpill.WireModuleLabel:
"caldataPostSpill:postSpill"
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
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.
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
46 Chi2NDF: 2000 # maximum Chisquared / NDF allowed to
store fit,
if fail
47 # will use "long" pulse method to return hit
49 # in this case there will be two hit collections, one filtered and one containing all hits
51 # Candididate peak finding done by tool, one tool instantiated per plane (but could be other divisions too)
54 CandidateHitsPlane0: @local::candhitfinder_standard # plane 0
55 CandidateHitsPlane1: @local::candhitfinder_standard # plane 1
56 CandidateHitsPlane2: @local::candhitfinder_standard # plane 2
59 # Declare the peak fitting tool
60 PeakFitter: @local::peakfitter_gaussian
61 #PeakFitter: @local::peakfitter_mrqdt
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
67 AlgName:
"HitFilterAlg"
68 MinPulseHeight: [5.0, 5.0, 5.0] #minimum
hit peak amplitude per plane
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
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
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.
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
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
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.
108 # When refitting, maximum number of peaks
in group is: 1) not greater than 3
x 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.
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.
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.
123 ChargeNorm: 1 # Normalization
for fit integral. Should be set to 1.
124 NumBinsToAverage: 0 # 0 or 1 = no averaging.
127 FitPeakMeanRange: 5 # range
in that
the fitter can move
the mean of
the fit function
w.
r.t.
the peak.
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.
134 standard_rffhitfinderalg:
136 AmplitudeThreshold: [ 0.0 ]
137 MeanMatchThreshold: [ 2.0 ]
138 MinMergeMultiplicity: [ 2 ]
145 RFFHitFinderAlgParams: @local::standard_rffhitfinderalg
160 #For now, keep the APAHitFinder configured just like the GausHitFinder
161 apa_hitfinder: @local::gaus_hitfinder
162 apa_hitfinder.module_type:
"APAHitFinder"
165 standard_hitfinderana:
168 HitsModuleLabel:
"ffthit"
169 LArGeantModuleLabel:
"largeant"
175 HitsModuleLabel:
"gaushit"
176 LArGeantModuleLabel:
"largeant"
179 standard_fasthitfinder:
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
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
194 # in ticks, for induction planes only
195 SkipInd:
false # If
true,
do not make any hits
for ind plane wires
196 UncompressWithPed:
false
199 standard_clustercrawlerhit:
205 } # standard_clustercrawlerhit
208 jp250L_hitfinder: @local::standard_hitfinder
209 jp250L_gaushitfinder: @local::gaus_hitfinder
211 bo_hitfinder: @local::standard_hitfinder
212 bo_gaushitfinder: @local::gaus_hitfinder
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 ]
220 microboone_gaushitfinder: @local::gaus_hitfinder
221 microboone_rffhitfinder: @local::rff_hitfinder
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
then if[["$THISISATEST"==1]]
process_name opflash particleana ie x
esac done echo Signal files are
process_name opflash opflashana store
BEGIN_PROLOG microboone_gaushitfinder microboone_gaushitfinder HitFilterAlg MinPulseSigma
const std::string instance
microsecond microseconds
Alias for common language habits.
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.
process_name ccluster WireModuleLabel
double distance(geo::Point_t const &point, CathodeDesc_t const &cathode)
Returns the distance of a point from the cathode.
counts_as<> counts
Number of ADC counts, represented by signed short int.
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
tick_as<> tick
Tick number, represented by std::ptrdiff_t.
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)
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)
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
BEGIN_PROLOG sequence::SlidingWindowTriggerPatternsOppositeWindows END_PROLOG simSlidingORM6O6 effSlidingORW output
BEGIN_PROLOG standard_cchitfinderalg
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)