LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
AlgoSiPM.h
Go to the documentation of this file.
1 //=============================================================================
2 // AlgoSiPM.h
3 // This is a hit finding algorithm that makes an optical hit out of
4 // everything above threshold, but uses only the first peak to assign hit time
5 //
6 // Gleb Sinev, Duke, 2015
7 // Based on AlgoTreshold.h
8 //=============================================================================
9 
10 #ifndef ALGOSIPM_H
11 #define ALGOSIPM_H
12 
13 namespace fhicl {
14  class ParameterSet;
15 }
16 
17 #include "PMTPulseRecoBase.h"
19 
20 #include <string>
21 
22 namespace pmtana {
23 
24  class AlgoSiPM : public PMTPulseRecoBase {
25 
26  public:
27  AlgoSiPM(const fhicl::ParameterSet& pset,
28  std::unique_ptr<pmtana::RiseTimeCalculatorBase> risetimecalculator = nullptr,
29  const std::string name = "AlgoSiPM");
30 
31  // Implementation of PMTPulseRecoBase::Reset() method
32  void Reset();
33 
34  // A method to set user-defined ADC threshold value
35  // void SetADCThreshold(double v) {_adc_thres = v;};
36 
37  // A method to set a multiplication factor to the pedestal standard deviation
38  // which is used as one of two input values to define a threshold
39  // void SetNSigma(double v) {_nsigma = v;};
40 
41  protected:
42  bool RecoPulse(const pmtana::Waveform_t&,
45 
46  // A variable holder for a user-defined absolute ADC threshold value
47  double _adc_thres;
48 
49  // Minimum width for a hit to be recorded
51 
52  // Start recording hit information after this threshold is reached
53  double _2nd_thres;
54 
55  // Use this pedestal instead of the one given by the pedestal algorithm
56  double _pedestal;
57 
58  // A variable holder for a multiplicative factor for the pedestal
59  // standard deviation to define the threshold
60  // double _nsigma;
61  };
62 
63 }
64 
65 #endif
double _adc_thres
Definition: AlgoSiPM.h:47
std::vector< double > PedestalSigma_t
double _2nd_thres
Definition: AlgoSiPM.h:53
ntupleExperimental Reset()
parameter set interface
std::vector< short > Waveform_t
Class definition file of PMTPulseRecoBase.
std::vector< double > PedestalMean_t
double _pedestal
Definition: AlgoSiPM.h:56