]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGCF/FLOW/blastwave/AliBlastwaveFitSpectra2.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGCF / FLOW / blastwave / AliBlastwaveFitSpectra2.h
1 #ifndef ALIBLASTWAVEFITSPECTRA2_H
2 #define ALIBLASTWAVEFITSPECTRA2_H
3
4
5 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
6  * See cxx source for full Copyright notice                               */
7
8 /* $Id: AliBlastwaveFitSpectra2.h 49869 2012-05-17 04:49:51Z fnoferin $ */
9
10 /////////////////////////////////////////////////
11 //                                             //
12 //      Blastwave Fit Class in Spectra2        //
13 //           noferini@bo.infn.it               //
14 /////////////////////////////////////////////////
15
16 #include "TF1.h"
17 #include "TF2.h"
18
19 #include "AliBlastwaveFit.h"
20
21 class AliBlastwaveFitSpectra2 : public AliBlastwaveFit
22 {
23 public:
24   enum{
25       kParT,
26       kParBetaAv,
27       kParGamma
28   };
29   
30   static const char *fgParName[5];
31   static Float_t fgStartValues[3];
32   static const Float_t fgStepValues[3];
33   static const Float_t fgMinValues[3];
34   static const Float_t fgMaxValues[3];
35   
36   AliBlastwaveFitSpectra2(const char *name,Double_t mass=0);
37   AliBlastwaveFitSpectra2();
38   ~AliBlastwaveFitSpectra2();
39
40   // required methods (pure virtual in the base class)
41   void Initialize();
42   Int_t SetParameter(Int_t ipar,Double_t val);
43   Int_t SetNormalization();
44   Int_t GetNpar() {return 3;};
45   
46   Float_t GetParStart(Int_t ipar) {if(ipar>=0 && ipar <3) return fgStartValues[ipar]; else return 0.0;};
47   Float_t GetParStep(Int_t ipar) {if(ipar>=0 && ipar <3) return fgStepValues[ipar]; else return 0.0;};
48   Float_t GetParMin(Int_t ipar) {if(ipar>=0 && ipar <3) return fgMinValues[ipar]; else return 0.0;};
49   Float_t GetParMax(Int_t ipar) {if(ipar>=0 && ipar <3) return fgMaxValues[ipar]; else return 0.0;};
50   
51   Float_t GetMeanBeta();
52   Float_t GetMeanBeta(Double_t par[]);
53
54   // method suggested to be replace (virtual in the base class)
55   void SetMass(Double_t mass);
56   const char *GetParName(Int_t i) {if(i >= 0 && i < 5) return fgParName[i]; else return "";};
57   
58   // to allow double integration on R and phi
59   static Double_t FunctionIntYield(Double_t x[],Double_t par[]); // integrand (phi,r)
60   
61   static Double_t Pt(Double_t x[],Double_t par[]); // integrated on phi and r
62   
63   
64 private:
65   static TF1 *fgFuncIntYield; // function used to integrate FunctionIntYield
66   
67   ClassDef(AliBlastwaveFitSpectra2,1)  // blast wave fit Spectra beta parameterization
68 };
69
70 #endif
71
72