1 #ifndef ALICALORAWANALYZERSTANDARD_H
2 #define ALICALORAWANALYZERSTANDARD_H
3 /**************************************************************************
4 * This file is property of and copyright by *
5 * the Relativistic Heavy Ion Group (RHIG), Yale University, US, 2009 *
7 * Primary Author: Per Thomas Hille <p.t.hille@fys.uio.no> *
9 * Contributors are mentioned in the code where appropriate. *
10 * Please report bugs to p.t.hille@fys.uio.no *
12 * Permission to use, copy, modify and distribute this software and its *
13 * documentation strictly for non-commercial purposes is hereby granted *
14 * without fee, provided that the above copyright notice appears in all *
15 * copies and that both the copyright notice and this permission notice *
16 * appear in the supporting documentation. The authors make no claims *
17 * about the suitability of this software for any purpose. It is *
18 * provided "as is" without express or implied warranty. *
19 **************************************************************************/
22 // Extraction of amplitude and peak position
23 // FRom CALO raw data using
26 #include "AliCaloRawAnalyzerFitter.h"
27 #include "AliCaloConstants.h"
29 //using namespace ALTRO;
30 //using namespace EMCAL;
35 class AliCaloRawAnalyzerKStandard : public AliCaloRawAnalyzerFitter
37 friend class AliCaloRawAnalyzerFactory;
40 //AliCaloRawAnalyzerKStandard();
41 virtual ~AliCaloRawAnalyzerKStandard();
42 virtual AliCaloFitResults Evaluate( const std::vector<AliCaloBunchInfo> &bunchvector, const UInt_t altrocfg1, const UInt_t altrocfg2 );
43 // void PrintFitResult(const TF1 *f) const;
44 static Double_t RawResponseFunction(Double_t *x, Double_t *par);
45 void FitRaw(const Int_t firstTimeBin, const Int_t lastTimeBin, Float_t & amp, Float_t & time,
46 Float_t & chi2, Bool_t & fitDone) const ;
48 void FitParabola(const TGraph *gSig, Float_t & amp) const ;
50 // shaper tau value, in time-bins, and flag for keeping tau fixed
52 // Float_t GetTau() const { return fTau;};
53 // void SetTau(Float_t f) { fTau = f; };
55 // Bool_t GetFixTau() const { return fFixTau; };
56 // void SetFixTau(Bool_t b) { fFixTau = b; };
58 // virtual void InitFormula( TF1*);
61 // TF1 * GetFit() const { return fTf1; };
64 AliCaloRawAnalyzerKStandard();
65 AliCaloRawAnalyzerKStandard(const AliCaloRawAnalyzerKStandard & );
66 AliCaloRawAnalyzerKStandard & operator = (const AliCaloRawAnalyzerKStandard &);
69 // double fXaxis[ALTROMAXSAMPLES]; //Axis if time bins, ( used by TGraph )
70 // const double fkEulerSquared; //e^2 = 7.389056098930650227
72 //TF1 *fTf1; // Analytical formula of the Semi Gaussian to be fitted
75 // Float_t fTau; // shaper tau, in time bins
76 // Bool_t fFixTau; // flag if tau should be fix
78 ClassDef(AliCaloRawAnalyzerKStandard, 2)