All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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 { class ParameterSet; }
14 
15 #include "PMTPulseRecoBase.h"
17 
18 #include <string>
19 
20 namespace pmtana {
21 
22  class AlgoSiPM : public PMTPulseRecoBase {
23 
24  public:
25 
26  AlgoSiPM(const fhicl::ParameterSet &pset,
27  std::unique_ptr<pmtana::RiseTimeCalculatorBase> risetimecalculator=nullptr,
28  const std::string name="AlgoSiPM");
29 
30  // Implementation of PMTPulseRecoBase::Reset() method
31  void Reset();
32 
33  // A method to set user-defined ADC threshold value
34  // void SetADCThreshold(double v) {_adc_thres = v;};
35 
36  // A method to set a multiplication factor to the pedestal standard deviation
37  // which is used as one of two input values to define a threshold
38  // void SetNSigma(double v) {_nsigma = v;};
39 
40  protected:
41 
42  bool RecoPulse( const pmtana::Waveform_t&,
44  const pmtana::PedestalSigma_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 
66 #endif
double _adc_thres
Definition: AlgoSiPM.h:47
std::vector< double > PedestalSigma_t
double _2nd_thres
Definition: AlgoSiPM.h:53
bool RecoPulse(const pmtana::Waveform_t &, const pmtana::PedestalMean_t &, const pmtana::PedestalSigma_t &)
Definition: AlgoSiPM.cxx:40
AlgoSiPM(const fhicl::ParameterSet &pset, std::unique_ptr< pmtana::RiseTimeCalculatorBase > risetimecalculator=nullptr, const std::string name="AlgoSiPM")
Definition: AlgoSiPM.cxx:12
std::vector< short > Waveform_t
then echo fcl name
Class definition file of PMTPulseRecoBase.
void Reset()
A method to be called event-wise to reset parameters.
Definition: AlgoSiPM.cxx:32
std::vector< double > PedestalMean_t
double _pedestal
Definition: AlgoSiPM.h:56