Coding violation corrected (G.Galazka)
[u/mrichter/AliRoot.git] / HBTAN / AliHBTWeightasCorrFctn.h
CommitLineData
94a709e1 1#ifndef ALIHBTWEIGHTASCORRFCTN_H
2#define ALIHBTWEIGHTASCORRFCTN_H
3
4///////////////////////////////////////////////////////
5// //
6// AliHBTWeightasCorrFctn.h //
7// //
8// Class for calculating 3D Weightas correlation //
9// functions //
10// author: Grzegorz.Galazka@cern.ch //
11///////////////////////////////////////////////////////
12
13#include "AliHBTFunction.h"
14
15
16class AliHBTWeightasCorrFctn: public AliHBTTwoPairFctn1D
17{
18public:
19 AliHBTWeightasCorrFctn(const char* name = "asejdzbitiCF",
20 const char* title= "as Correlation Function");
21
22 AliHBTWeightasCorrFctn(const char* name, const char* title,
23 Int_t nbins, Float_t maxXval, Float_t minXval);
24 AliHBTWeightasCorrFctn(const AliHBTWeightasCorrFctn& in);
25
26 virtual ~AliHBTWeightasCorrFctn();
27
28 void Init();
29 void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
30 void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
31
32 void Write();
33
34 void SetNumberOfIntervals(Int_t N){fNumberOfIntervals = N;}
35
265f04f7 36 Int_t GetNumberOfIntervals() const {return fNumberOfIntervals;}
94a709e1 37
38
39 TH1* GetResult();
40
41protected:
42
43 virtual Double_t GetValue(AliHBTPair* tpair, AliHBTPair* ppair) const = 0;
44 virtual void BuildHistos() = 0;
45
46 void SetParams(Int_t nbins,Float_t maxXval,Float_t minXval);
265f04f7 47 int Getnbins() const { return fnbins;}
48 double GetmaxXval() const {return fmaxXval;}
49 double GetminXval() const {return fminXval;}
94a709e1 50
51 TObjArray* fNum; // numerators array
52 TObjArray* fDen; // denominators array
53 TObjArray* fRat;// correl. fnctns array
54
55
56private:
57 int fnbins; //number of bins in histograms
58 Int_t fNumberOfIntervals; //number of intervals
59 double fmaxXval; //max histogram's X value
60 double fminXval; //min histogram's X value
61
62 ClassDef(AliHBTWeightasCorrFctn,1)
63};
64
65class AliHBTQOutWeightasCorrFctn: public AliHBTWeightasCorrFctn{
66public:
67 AliHBTQOutWeightasCorrFctn(const char* name, const char* title, Int_t nbins, Float_t maxXval, Float_t minXval);
68
69 virtual ~AliHBTQOutWeightasCorrFctn(){};
70
71
72protected:
265f04f7 73 Double_t GetValue(AliHBTPair* pair, AliHBTPair* ppair) const {ppair=0; return TMath::Abs(pair->GetQOutLCMS());}
94a709e1 74 void BuildHistos();
75private:
76 ClassDef(AliHBTQOutWeightasCorrFctn,1)
77};
78
79class AliHBTQSideWeightasCorrFctn: public AliHBTWeightasCorrFctn{
80public:
81 AliHBTQSideWeightasCorrFctn(const char* name, const char* title, Int_t nbins, Float_t maxXval, Float_t minXval);
82 virtual ~AliHBTQSideWeightasCorrFctn(){};
83
84protected:
265f04f7 85 Double_t GetValue(AliHBTPair* pair, AliHBTPair* ppair) const {ppair=0;return TMath::Abs(pair->GetQSideLCMS());}
94a709e1 86 void BuildHistos();
87private:
88 ClassDef(AliHBTQSideWeightasCorrFctn,1)
89};
90
91
92class AliHBTQLongWeightasCorrFctn: public AliHBTWeightasCorrFctn{
93public:
94 AliHBTQLongWeightasCorrFctn(const char* name, const char* title, Int_t nbins, Float_t maxXval, Float_t minXval);
95
96 virtual ~AliHBTQLongWeightasCorrFctn(){};
97
98protected:
265f04f7 99 Double_t GetValue(AliHBTPair* pair,AliHBTPair* ppair) const {ppair=0;return TMath::Abs(pair->GetQLongLCMS());}
94a709e1 100 void BuildHistos();
101private:
102 ClassDef(AliHBTQLongWeightasCorrFctn,1)
103};
104
265f04f7 105/********************************************************************************************************/
106class AliHBTasWeightQOSLCorrFctn: public AliHBTTwoPairFctn3D
107{
108 public:
109 AliHBTasWeightQOSLCorrFctn(const char* name = "asejdzbiti3dCF",
110 const char* title= "as 3d Correlation Function");
111
112 AliHBTasWeightQOSLCorrFctn(const char* name, const char* title,Int_t nXbins , Double_t maxXval , Double_t minXval ,
113 Int_t nYbins, Double_t maxYval, Double_t minYval ,
114 Int_t nZbins, Double_t maxZval, Double_t minZval);
115
116 AliHBTasWeightQOSLCorrFctn(const AliHBTasWeightQOSLCorrFctn& in);
117
118 virtual ~AliHBTasWeightQOSLCorrFctn();
119
120 void Init();
121 void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
122 void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
123
124 void Write();
125
126 void SetNumberOfIntervals(Int_t N){fNumberOfIntervals = N;}
127
128 Int_t GetNumberOfIntervals(){return fNumberOfIntervals;}
129
130
131 TH1* GetResult();
132
133protected:
134
135 Double_t GetValue(AliHBTPair* tpair, AliHBTPair* ppair);
136 void BuildHistos();
137 void GetValues(AliHBTPair*, AliHBTPair*, Double_t&,Double_t&, Double_t&) const {};
138 void SetParams(Int_t nXbins,Float_t maxXval,Float_t minXval,Int_t nYbins,Float_t maxYval,Float_t minYval,Int_t nZbins,Float_t maxZval,Float_t minZval);
139
140 int GetnXbins(){ return fnXbins;}
141 double GetmaxXval(){return fmaxXval;}
142 double GetminXval(){return fminXval;}
143
144 int GetnYbins(){ return fnYbins;}
145 double GetmaxYval(){return fmaxYval;}
146 double GetminYval(){return fminYval;}
147
148 int GetnZbins(){ return fnZbins;}
149 double GetmaxZval(){return fmaxZval;}
150 double GetminZval(){return fminZval;}
151
152Double_t Scale(TH3D* num, TH3D *den);
153
154 TObjArray* fNum; // numerators array
155 TObjArray* fDen; // denominators array
156 TObjArray* fRat;// correl. fnctns array
157
158
159private:
160 int fnXbins; //number of bins in histograms
161 Int_t fNumberOfIntervals; //number of intervals
162 double fmaxXval; //max histogram's X value
163 double fminXval; //min histogram's X value
164 int fnYbins;
165 int fnZbins;
166 double fmaxYval; //max histogram's X value
167 double fminYval; //min histogram's X value
168 double fmaxZval; //max histogram's X value
169 double fminZval; //min histogram's X value
170
171
172 ClassDef(AliHBTasWeightQOSLCorrFctn,1)
173};
174
94a709e1 175
176#endif