]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HBTAN/AliHBTasCorrFctn.h
Possibility to compile with Root v5-11-04/06
[u/mrichter/AliRoot.git] / HBTAN / AliHBTasCorrFctn.h
CommitLineData
94a709e1 1#ifndef ALIHBTASCORRFCTN_H
2#define ALIHBTASCORRFCTN_H
3
4///////////////////////////////////////////////////////
5// //
6// AliHBTasCorrFctn.h //
7// //
8// Class for calculating 3D as correlation //
9// functions //
10//author: Grzegorz.Galazka@cern.ch //
11///////////////////////////////////////////////////////
12
13#include "AliHBTFunction.h"
14
15
16class AliHBTasCorrFctn: public AliHBTOnePairFctn1D
17{
18public:
19 AliHBTasCorrFctn(const char* name = "asejdzbitiCF",
20 const char* title= "as Correlation Function");
21
22 AliHBTasCorrFctn(const char* name, const char* title,
23 Int_t nbins, Float_t maxXval, Float_t minXval);
24 AliHBTasCorrFctn(const AliHBTasCorrFctn& in);
25
26 virtual ~AliHBTasCorrFctn();
27
28 void Init();
29 void ProcessSameEventParticles(AliHBTPair* pair);
30 void ProcessDiffEventParticles(AliHBTPair* pair);
3c1edb34 31 Int_t Write(const char* /*x1*/ = "",Int_t /*x2*/ = 0, Int_t /*x3*/ = 0);
32 Int_t Write(const char* x1 = "",Int_t x2 = 0, Int_t x3 = 0) const {return AliHBTOnePairFctn1D::Write(x1,x2,x3);}
94a709e1 33
34 void SetNumberOfIntervals(Int_t N){fNumberOfIntervals = N;}
35
36 Int_t GetNumberOfIntervals(){return fNumberOfIntervals;}
37
38
39 TH1* GetResult();
40
41protected:
42
43 virtual Double_t GetValue(AliHBTPair* pair) const = 0;
44 virtual void BuildHistos() = 0;
3c1edb34 45 void BuildHistos(Int_t nbins, Float_t max, Float_t min) {
46 AliHBTOnePairFctn1D::BuildHistos(nbins, max, min);
47 }
94a709e1 48 int Getnbins(){ return fnbins;} // this are workarounds for my lame coding
49 double GetmaxXval(){return fmaxXval;} // these methods are uset to build histograms
50 double GetminXval(){return fminXval;} // with set by user number of bins etc.
51 void SetParams(Int_t nbins,Float_t maxXval,Float_t minXval); //
52
53 TObjArray* fNum; // numerators array
54 TObjArray* fDen; // denominators array
55 TObjArray* fRat;// correl. fnctns array
56
57
58private:
59 int fnbins; //number of bins in histograms
60 Int_t fNumberOfIntervals; //number of intervals
61 double fmaxXval; //max histogram's X value
62 double fminXval; //min histogram's X value
63
64 ClassDef(AliHBTasCorrFctn,1)
65};
66
67class AliHBTQOutasCorrFctn: public AliHBTasCorrFctn{
68public:
69 AliHBTQOutasCorrFctn(const char* name, const char* title, Int_t nbins, Float_t maxXval, Float_t minXval);
70
71 virtual ~AliHBTQOutasCorrFctn(){};
72
73
74protected:
75 Double_t GetValue(AliHBTPair* pair) const {return pair->GetQOutLCMS();}
3c1edb34 76 void BuildHistos(Int_t nbins, Float_t max, Float_t min) {
77 AliHBTasCorrFctn::BuildHistos(nbins, max, min);
78 }
94a709e1 79 void BuildHistos();
80private:
81 ClassDef(AliHBTQOutasCorrFctn,1)
82};
83
84class AliHBTQSideasCorrFctn: public AliHBTasCorrFctn{
85public:
86 AliHBTQSideasCorrFctn(const char* name, const char* title, Int_t nbins, Float_t maxXval, Float_t minXval);
87// AliHBTSideasCorrFctn(const AliHBTasCorrFctn& in);
88
89 virtual ~AliHBTQSideasCorrFctn(){};
90
91protected:
92 Double_t GetValue(AliHBTPair* pair) const {return pair->GetQSideLCMS();}
3c1edb34 93 void BuildHistos(Int_t nbins, Float_t max, Float_t min) {
94 AliHBTasCorrFctn::BuildHistos(nbins, max, min);
95 }
94a709e1 96 void BuildHistos();
97private:
98 ClassDef(AliHBTQSideasCorrFctn,1)
99};
100
101
102class AliHBTQLongasCorrFctn: public AliHBTasCorrFctn{
103public:
104 AliHBTQLongasCorrFctn(const char* name, const char* title, Int_t nbins, Float_t maxXval, Float_t minXval);
105
106 virtual ~AliHBTQLongasCorrFctn(){};
107
108protected:
109 Double_t GetValue(AliHBTPair* pair) const {return pair->GetQLongLCMS();}
3c1edb34 110 void BuildHistos(Int_t nbins, Float_t max, Float_t min) {
111 AliHBTasCorrFctn::BuildHistos(nbins, max, min);
112 }
94a709e1 113 void BuildHistos();
114private:
115 ClassDef(AliHBTQLongasCorrFctn,1)
116};
117
118
119#endif