PedAlgoRollingMean.h
Go to the documentation of this file.
1 /**
2  * \file PedAlgoRollingMean.h
3  *
4  * \ingroup PulseReco
5  *
6  * \brief Class definition file of PedAlgoRollingMean
7  *
8  * @author Kazu, Vic - Nevis 2015
9  */
10 
11 /** \addtogroup PulseReco
12 
13 @{*/
14 
15 #ifndef larana_OPTICALDETECTOR_PEDALGOROLLINGMEAN_H
16 #define larana_OPTICALDETECTOR_PEDALGOROLLINGMEAN_H
17 
18 #include "PMTPedestalBase.h"
19 #include "fhiclcpp/fwd.h"
21 
22 #include <string>
23 
24 namespace pmtana
25 {
26 
27  /**
28  \class PedAlgoRollingMean
29  A class that calculates pedestal mean & standard deviation (here and elsewhere called as "RMS").
30  */
32 
33  public:
34 
35  /// Default constructor
36  PedAlgoRollingMean(const std::string name="PedRollingMean");
37 
38  /// Alternative ctor
39  PedAlgoRollingMean(const fhicl::ParameterSet &pset,const std::string name="PedRollingMean");
40  //PedAlgoRollingMean(const ::fcllite::PSet &pset,const std::string name="PedRollingMean");
41 
42  protected:
43 
44  /// Method to compute a pedestal of the input waveform using "nsample" ADC samples from "start" index.
45  bool ComputePedestal( const pmtana::Waveform_t& wf,
46  pmtana::PedestalMean_t& mean_v,
47  pmtana::PedestalSigma_t& sigma_v);
48 
49  private:
50 
51  size_t _sample_size;
52  float _max_sigma;
55 
56  // int _range;
57  // double _divisions;
58  double _threshold;
61 
63 
64  //double _random_shift;
65 
66  };
67 }
68 #endif
69 
70 /** @} */ // end of doxygen group
static QCString name
Definition: declinfo.cpp:673
std::vector< double > PedestalSigma_t
std::string string
Definition: nybbler.cc:12
bool ComputePedestal(const pmtana::Waveform_t &wf, pmtana::PedestalMean_t &mean_v, pmtana::PedestalSigma_t &sigma_v)
Method to compute a pedestal of the input waveform using "nsample" ADC samples from "start" index...
Class definition file of PMTPedestalBase.
std::vector< short > Waveform_t
PedAlgoRollingMean(const std::string name="PedRollingMean")
Default constructor.
std::vector< double > PedestalMean_t