]>
Commit | Line | Data |
---|---|---|
0b272b9b | 1 | #ifndef ALIPHOSFASTALTROFIT_H |
2 | #define ALIPHOSFASTALTROFIT_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | /* $Id: $ */ | |
6 | ||
7 | /* History of svn commits | |
8 | * $Log$ | |
9 | */ | |
10 | ||
11 | ||
12 | //_________________________________________________________________________ | |
13 | // Procedure of fast altro fitting | |
14 | // | |
15 | //*-- Author: Aleksei Pavlinov; IHEP, Protvino, Russia | |
16 | ||
17 | #include <TNamed.h> | |
18 | #include <TArrayD.h> | |
19 | // --- ROOT system --- | |
20 | ||
21 | class AliPHOSFastAltroFit : public TNamed { | |
22 | ||
23 | public: | |
24 | ||
25 | AliPHOSFastAltroFit(); | |
26 | AliPHOSFastAltroFit(const char* name, const char* title, const Double_t tau); | |
27 | virtual ~AliPHOSFastAltroFit(); | |
28 | ||
29 | void SetTau(const Double_t tau) {fTau = tau;} | |
30 | ||
31 | void FastFit(Int_t* t, Int_t* y, Int_t n, Double_t sig, Double_t tau, Double_t ped); | |
32 | ||
33 | void GetFitResult(Double_t &, Double_t &eamp, Double_t &t0, Double_t &et0, Double_t &chi2, | |
34 | Int_t &fNDF); | |
35 | Double_t GetSig() const {return fSig;} | |
36 | Double_t GetTau() const {return fTau;} | |
37 | Double_t GetN() const {return fN;} | |
38 | Double_t GetAmp() const {return fAmp;} | |
39 | Double_t GetAmpErr() const {return fAmpErr;} | |
40 | Double_t GetT0() const {return fT0;} | |
41 | Double_t GetT0Err() const {return fT0Err;} | |
42 | Double_t GetChi2() const {return fChi2;} | |
43 | Double_t GetNDF() const {return fNDF;} | |
44 | ||
45 | static void DeductPedestal(Int_t* t, Int_t* y, Int_t n, Double_t ped, Double_t tau, | |
46 | Double_t* tn, Double_t* yn, Int_t &nn); | |
47 | static void FastFit(Double_t* t, Double_t* y, Int_t n, Double_t sig, Double_t tau, | |
48 | Double_t &, Double_t &eamp, Double_t &t0, Double_t &et0, Double_t &chi2); | |
49 | static Bool_t QuadraticRoots(Double_t a, Double_t b, Double_t c, Double_t &x1, Double_t &x2); | |
50 | static void Amplitude(Double_t* t, Double_t* y, Int_t n, Double_t sig, Double_t tau, | |
51 | Double_t t0, Double_t &, Double_t &chi2); | |
52 | static void CalculateParsErrors(Double_t* t, Double_t* y, Int_t n, Double_t sig, Double_t tau, | |
53 | Double_t &, Double_t &t0, Double_t &eamp, Double_t &et0); | |
54 | ||
55 | protected: | |
56 | Double_t fSig; | |
57 | Double_t fTau; // filter time response | |
58 | Double_t fN; // order of function (equal 2) | |
59 | ||
60 | Double_t fAmp; | |
61 | Double_t fAmpErr; | |
62 | Double_t fT0; | |
63 | Double_t fT0Err; | |
64 | Double_t fChi2; | |
65 | Int_t fNDF; | |
66 | ||
67 | ClassDef(AliPHOSFastAltroFit,1) // Class for fast altro fitting | |
68 | }; | |
69 | ||
70 | #endif // ALIPHOSFASTALTROFIT_H |