]>
Commit | Line | Data |
---|---|---|
e09fa876 | 1 | #ifndef ALIHBTCORRECTOSLCORRELFCTN_H |
2 | #define ALIHBTCORRECTOSLCORRELFCTN_H | |
3 | //____________________ | |
4 | /////////////////////////////////////////////////////// | |
5 | // // | |
6 | // AliHBTCorrectQ3DCorrelFctn // | |
7 | // // | |
8 | // Class for calculating Q Invariant correlation // | |
9 | // taking to the account resolution of the // | |
10 | // detector and coulomb effects. // | |
11 | // // | |
62e1b4fe | 12 | // N[meas] N[ideal]/D[ideal] |
13 | // C(Q) = ------- * ----------------- | |
14 | // D[meas] N[smear]/D[smear] | |
15 | // | |
16 | // if smeared is eqal to the measured than we get ideal. | |
e09fa876 | 17 | /////////////////////////////////////////////////////// |
18 | ||
62e1b4fe | 19 | #include "AliHBTCorrectQInvCorrelFctn.h" |
e09fa876 | 20 | |
21 | ||
62e1b4fe | 22 | class AliHBTCorrectOSLCorrelFctn: public AliHBTOnePairFctn3D, public AliHBTCorrectedCorrelFctn |
e09fa876 | 23 | { |
24 | public: | |
62e1b4fe | 25 | AliHBTCorrectOSLCorrelFctn(const char* name = "qoslcorrectedCF", |
26 | const char* title= "Corrected Q_{out}-Q_{side}-Q_{long} Correlation Fonction"); | |
27 | ||
28 | AliHBTCorrectOSLCorrelFctn(const Char_t *name, const Char_t *title, | |
29 | Int_t nXbins, Double_t maxXval, Double_t minXval, | |
30 | Int_t nYbins, Double_t maxYval, Double_t minYval, | |
31 | Int_t nZbins, Double_t maxZval, Double_t minZval); | |
32 | ||
e09fa876 | 33 | AliHBTCorrectOSLCorrelFctn(const AliHBTCorrectOSLCorrelFctn& in); |
34 | virtual ~AliHBTCorrectOSLCorrelFctn(); | |
62e1b4fe | 35 | |
36 | void ProcessSameEventParticles(AliHBTPair* pair);//process particles from same event (real pair) | |
37 | void ProcessDiffEventParticles(AliHBTPair* pair);//process particles coming from different events (mixed pairs) | |
38 | ||
39 | void SetInitialValues(Double_t lambda, Double_t rout, Double_t rside, Double_t rlong); | |
40 | void Init(); | |
6f1c277c | 41 | Int_t WriteFunction();//overloaded |
62e1b4fe | 42 | |
43 | TH1* GetResult();//returns the result histogram | |
44 | void GetValues(AliHBTPair* pair, Double_t& x, Double_t& y, Double_t& z) const ; | |
45 | ||
46 | Double_t GetModelValue(Double_t qout, Double_t qside, Double_t qlong) const; | |
47 | ||
e09fa876 | 48 | |
49 | protected: | |
62e1b4fe | 50 | |
51 | void BuildHistos(Int_t nxbins, Float_t xmax, Float_t xmin, | |
52 | Int_t nybins, Float_t ymax, Float_t ymin, | |
53 | Int_t nzbins, Float_t zmax, Float_t zmin); | |
3c1edb34 | 54 | virtual void BuildHistos() {AliHBTFunction3D::BuildHistos();} |
62e1b4fe | 55 | |
56 | TH3F* fMeasCorrelFctn; //!Measured correlation function | |
e09fa876 | 57 | |
62e1b4fe | 58 | TH3F* fSmearedNumer; //! Numerator of smeard q |
59 | TH3F* fSmearedDenom; //! Denominator of smeard q | |
60 | TH3F* fMeasNumer; //! Numerator of ideal q calculated on basis of model equation | |
61 | TH3F* fMeasDenom; //! Denominator of ideal q calculated on basis of model equation | |
e09fa876 | 62 | |
62e1b4fe | 63 | Double_t fLambda; |
64 | Double_t fROutSq; | |
65 | Double_t fRSideSq; | |
66 | Double_t fRLongSq; | |
e09fa876 | 67 | |
68 | private: | |
69 | ||
70 | ClassDef(AliHBTCorrectOSLCorrelFctn,1) | |
71 | }; | |
72 | ||
62e1b4fe | 73 | inline Double_t AliHBTCorrectOSLCorrelFctn::GetModelValue(Double_t qout, Double_t qside, Double_t qlong) const |
74 | { | |
75 | //returns model value of the cf | |
76 | return 1.0 + fLambda*TMath::Exp(( fROutSq*qout*qout + fRSideSq*qside*qside + fRLongSq*qlong*qlong) / (-0.038936366329)); | |
77 | } | |
78 | ||
e09fa876 | 79 | #endif |