CMS 3D CMS Logo

PulseFitWithFunction.h
Go to the documentation of this file.
1 //-----------------------------------------------------------------------
2 //----------------------------------------------------------------------
3 // File PulseFitWithFunction.h
4 // ===========================================================
5 // == ==
6 // == Class for a LIGHT weights method ==
7 // == ==
8 // == Date: July 16th 2003 ==
9 // == Author: Patrick Jarry ==
10 // == ==
11 // == ==
12 // ===========================================================
13 /* This routine is used to fit the signal line
14  shape of CMS barrel calorimeter
15  The method used is the one described in note LPC 84-30 (Billoir 1984) :
16  "Methode d'ajustement dans un probleme a parametrisation hierarchisee"
17  In this class we calculate the amplitude maximum and the time of arrival
18  of this maximum (done with function fit_electronic)
19  */
20 
21 #ifndef PulseFitWithFunction_H
22 #define PulseFitWithFunction_H
23 
25 
26 class PulseFitWithFunction : public TObject {
27 public:
28  // Default Constructor, mainly for Root
30 
31  // Destructor: Does nothing
32  ~PulseFitWithFunction() override;
33 
34  // Initialize
35  virtual void init(int, int, int, int, double, double);
36 
37  // Compute amplitude of a channel
38 
39  virtual double doFit(double *);
40 
41  double fFunc_max; // amplitude maximum as input of fit
42  double fTim_max; // time of amplitude maximum as input of fit
43  double fAmp_fitted_max; // amplitude maximum fitted
44  double fTim_fitted_max; // time of amplitude maximum fitted
45  double fValue_tim_max; // value of time of arrival of maximum from pol3 fit
46  int fNumber_samp_max; // number of the sample which is maximum
47  double fSigma_ped; // sigma of pedestal to be used in fit
48 
49  double getAmpl_parab() { return amp_parab; }
50  double getTime_parab() { return tim_parab; }
51 
52  double getAmpl() { return fAmp_fitted_max; }
53  double getTime() { return fTim_fitted_max; }
54 
55  double getMax_parab() { return amp_max; }
56  int getSampMax_parab() { return imax; }
57 
58 private:
60  int imax;
61 
62  int fNsamples; // maximum number of samples into framelegth
63 
64  double fAlpha_laser;
65  double fBeta_laser;
66  double fAlpha_beam;
67  double fBeta_beam;
68  double fAlpha;
69  double fBeta;
70  int fNb_iter; // maximum number of iterations
71  int fNum_samp_bef_max; // number of samples before maximum sample
72  int fNum_samp_after_max; // number of samples after maximum sample
73 
74  double Fit_electronic(int, double *, double);
75  void Fit_parab(double *, int, int, double *);
76  double Electronic_shape(double);
77 
78  ClassDefOverride(PulseFitWithFunction, 0)
79 };
80 
81 #endif
82 
83 //-----------------------------------------------------------------------
84 //----------------------------------------------------------------------
PulseFitWithFunction::fNumber_samp_max
int fNumber_samp_max
Definition: PulseFitWithFunction.h:46
PulseFitWithFunction::PulseFitWithFunction
PulseFitWithFunction()
Definition: PulseFitWithFunction.cc:26
PulseFitWithFunction::getSampMax_parab
int getSampMax_parab()
Definition: PulseFitWithFunction.h:56
PulseFitWithFunction::imax
int imax
Definition: PulseFitWithFunction.h:60
PulseFitWithFunction::~PulseFitWithFunction
~PulseFitWithFunction() override
Definition: PulseFitWithFunction.cc:33
PulseFitWithFunction::fBeta_beam
double fBeta_beam
Definition: PulseFitWithFunction.h:67
PulseFitWithFunction::getTime_parab
double getTime_parab()
Definition: PulseFitWithFunction.h:50
PulseFitWithFunction::init
virtual void init(int, int, int, int, double, double)
Definition: PulseFitWithFunction.cc:37
PulseFitWithFunction::Fit_parab
void Fit_parab(double *, int, int, double *)
Definition: PulseFitWithFunction.cc:229
PulseFitWithFunction::fNsamples
int fNsamples
Definition: PulseFitWithFunction.h:62
PulseFitWithFunction::fAlpha_beam
double fAlpha_beam
Definition: PulseFitWithFunction.h:66
PulseFitWithFunction::getMax_parab
double getMax_parab()
Definition: PulseFitWithFunction.h:55
PulseFitWithFunction::getAmpl
double getAmpl()
Definition: PulseFitWithFunction.h:52
PulseFitWithFunction::fBeta_laser
double fBeta_laser
Definition: PulseFitWithFunction.h:65
PulseFitWithFunction::tim_parab
double tim_parab
Definition: PulseFitWithFunction.h:59
PulseFitWithFunction::fNb_iter
int fNb_iter
Definition: PulseFitWithFunction.h:70
PulseFitWithFunction::getAmpl_parab
double getAmpl_parab()
Definition: PulseFitWithFunction.h:49
PulseFit.h
PulseFitWithFunction::fAlpha
double fAlpha
Definition: PulseFitWithFunction.h:68
PulseFitWithFunction::fTim_fitted_max
double fTim_fitted_max
Definition: PulseFitWithFunction.h:44
PulseFitWithFunction::fValue_tim_max
double fValue_tim_max
Definition: PulseFitWithFunction.h:45
PulseFitWithFunction::amp_max
double amp_max
Definition: PulseFitWithFunction.h:59
PulseFitWithFunction::Electronic_shape
double Electronic_shape(double)
Definition: PulseFitWithFunction.cc:212
PulseFitWithFunction::getTime
double getTime()
Definition: PulseFitWithFunction.h:53
PulseFitWithFunction::Fit_electronic
double Fit_electronic(int, double *, double)
Definition: PulseFitWithFunction.cc:103
PulseFitWithFunction::fNum_samp_bef_max
int fNum_samp_bef_max
Definition: PulseFitWithFunction.h:71
PulseFitWithFunction::fAmp_fitted_max
double fAmp_fitted_max
Definition: PulseFitWithFunction.h:43
PulseFitWithFunction::fBeta
double fBeta
Definition: PulseFitWithFunction.h:69
PulseFitWithFunction::amp_parab
double amp_parab
Definition: PulseFitWithFunction.h:59
PulseFitWithFunction
Definition: PulseFitWithFunction.h:26
PulseFitWithFunction::doFit
virtual double doFit(double *)
Definition: PulseFitWithFunction.cc:60
PulseFitWithFunction::fAlpha_laser
double fAlpha_laser
Definition: PulseFitWithFunction.h:64
PulseFitWithFunction::fSigma_ped
double fSigma_ped
Definition: PulseFitWithFunction.h:47
PulseFitWithFunction::fTim_max
double fTim_max
Definition: PulseFitWithFunction.h:42
PulseFitWithFunction::fFunc_max
double fFunc_max
Definition: PulseFitWithFunction.h:41
PulseFitWithFunction::fNum_samp_after_max
int fNum_samp_after_max
Definition: PulseFitWithFunction.h:72