-
Notifications
You must be signed in to change notification settings - Fork 0
rootana_module_PulseCandidateFinder
There is a possibility that a single TPulseIsland may contain more than one real pulse and so we need a class that can search for these "candidate pulses".
This is what the PulseCandidateFinder does, and it is a utility class that can be used by any module which wants it.
There are two algorithms we use. One for slow pulses and one for fast pulses.
For slow pulses, we simply look to see if the sample height above pedestals has reached some threshold:
[a picture will come soon]
For fast pulses, we look to see if there is a sudden rise in value between consecutive pulses:
[another picture will come soon]
You need to create a new PulseCandidateFinder for each channel, like so:
PulseCandidateFinder* pulse_candidate_finder = new PulseCandidateFinder(detname, fOpts)
It's important that you pass the modules::options* to PulseCandidateFinder so that it can read any options you pass to it through this module (e.g. changes to default parameter values or debug)
To change the parameter values, you just need to specify it in the modules file:
[ MODULES ]
alias=YourModule
[ alias ]
muSc=700
If you want to specify your parameter values based on the number of sigma above noise you can pass the parameter "n_sigma":
[ alias ]
n_sigma=3
this will then read the values for the noise from the SQLite database pedestals-and-noises.sqlite (generated in PlotPedestalAndNoise.
Finally, when you pass the debug option to YourModule, the PulseCandidateFinder will print the parameter values used.