]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HBTAN/AliHBTasCorrFctn.h
Redesigned Code for Azimuthally Sesitive HBT (AsHBT) (G.Galazka)
[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);
31 void Write();
32
33 void SetNumberOfIntervals(Int_t N){fNumberOfIntervals = N;}
34
35 Int_t GetNumberOfIntervals(){return fNumberOfIntervals;}
36
37
38 TH1* GetResult();
39
40protected:
41
42 virtual Double_t GetValue(AliHBTPair* pair) const = 0;
43 virtual void BuildHistos() = 0;
44 int Getnbins(){ return fnbins;} // this are workarounds for my lame coding
45 double GetmaxXval(){return fmaxXval;} // these methods are uset to build histograms
46 double GetminXval(){return fminXval;} // with set by user number of bins etc.
47 void SetParams(Int_t nbins,Float_t maxXval,Float_t minXval); //
48
49 TObjArray* fNum; // numerators array
50 TObjArray* fDen; // denominators array
51 TObjArray* fRat;// correl. fnctns array
52
53
54private:
55 int fnbins; //number of bins in histograms
56 Int_t fNumberOfIntervals; //number of intervals
57 double fmaxXval; //max histogram's X value
58 double fminXval; //min histogram's X value
59
60 ClassDef(AliHBTasCorrFctn,1)
61};
62
63class AliHBTQOutasCorrFctn: public AliHBTasCorrFctn{
64public:
65 AliHBTQOutasCorrFctn(const char* name, const char* title, Int_t nbins, Float_t maxXval, Float_t minXval);
66
67 virtual ~AliHBTQOutasCorrFctn(){};
68
69
70protected:
71 Double_t GetValue(AliHBTPair* pair) const {return pair->GetQOutLCMS();}
72 void BuildHistos();
73private:
74 ClassDef(AliHBTQOutasCorrFctn,1)
75};
76
77class AliHBTQSideasCorrFctn: public AliHBTasCorrFctn{
78public:
79 AliHBTQSideasCorrFctn(const char* name, const char* title, Int_t nbins, Float_t maxXval, Float_t minXval);
80// AliHBTSideasCorrFctn(const AliHBTasCorrFctn& in);
81
82 virtual ~AliHBTQSideasCorrFctn(){};
83
84protected:
85 Double_t GetValue(AliHBTPair* pair) const {return pair->GetQSideLCMS();}
86 void BuildHistos();
87private:
88 ClassDef(AliHBTQSideasCorrFctn,1)
89};
90
91
92class AliHBTQLongasCorrFctn: public AliHBTasCorrFctn{
93public:
94 AliHBTQLongasCorrFctn(const char* name, const char* title, Int_t nbins, Float_t maxXval, Float_t minXval);
95
96 virtual ~AliHBTQLongasCorrFctn(){};
97
98protected:
99 Double_t GetValue(AliHBTPair* pair) const {return pair->GetQLongLCMS();}
100 void BuildHistos();
101private:
102 ClassDef(AliHBTQLongasCorrFctn,1)
103};
104
105
106#endif