Skip to content

rootana_module_PulseCandidateFinder

AndrewEdmonds11 edited this page Jun 24, 2014 · 1 revision

PulseCandidateFinder

Introduction

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.

Explanation

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]

Usage

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.