new functions added
[u/mrichter/AliRoot.git] / HBTAN / AliHBTPIDPurityFctns.h
CommitLineData
becde6ce 1#ifndef ALIHBTPIDPURITYFCTNS_H
2#define ALIHBTPIDPURITYFCTNS_H
3//_______________________________________________________________________________
4/////////////////////////////////////////////////////////////////////////////////
5//
6// class AliHBTMonPIDPurityVsPtFctn;
7// class AliHBTMonThetaResolutionVsPtFctn;
8//
9// file: AliHBTPIDPurityFctns.cxx AliHBTPIDPurityFctns.h
10//
11// Caution: On 2D plots on X axis in simulated values
12// That is contrary to two-particle resolutions where it is reconstructed one
13//
14// added by Piotr.Skowronski@cern.ch
15//
16//
17//////////////////////////////////////////////////////////////////////////////////
18
19#include "AliHBTFunction.h"
20#include "AliHBTMonitorFunction.h"
21
c93e6c76 22class AliHBTMonPIDPurityVsPtFctn: public AliHBTMonTwoParticleFctn1D, public AliHBTCorrelFunction
becde6ce 23{
24 public:
25 AliHBTMonPIDPurityVsPtFctn(Int_t nbins = 20, Double_t maxXval = 2.0, Double_t minXval = 0.0);
26 virtual ~AliHBTMonPIDPurityVsPtFctn();
27 void Init();
28 void Write();
29 void Rename(const Char_t * name);
30 void Rename(const Char_t * name, const Char_t * title);
31 TH1* GetResult();
a22a56ec 32 Double_t GetValue(AliHBTParticle * /*track*/,AliHBTParticle * /*part*/) const { return 0.0; }
becde6ce 33 void Process(AliHBTParticle * track,AliHBTParticle * part);
34 protected:
35 TH1D* fGood;
81b40753 36 TH1D* fAll;
becde6ce 37 ClassDef(AliHBTMonPIDPurityVsPtFctn,1)
38};
39/***********************************************************************/
40
41class AliHBTMonPIDContaminationVsPtFctn: public AliHBTMonTwoParticleFctn1D, public AliHBTCorrelFunction
42{
43 public:
44 AliHBTMonPIDContaminationVsPtFctn(Int_t nbins = 20, Double_t maxXval = 2.0, Double_t minXval = 0.0);
45 virtual ~AliHBTMonPIDContaminationVsPtFctn();
46 void Init();
47 void Write();
48 void Rename(const Char_t * name);
49 void Rename(const Char_t * name, const Char_t * title);
50 TH1* GetResult();
a22a56ec 51 Double_t GetValue(AliHBTParticle * /*track*/,AliHBTParticle * /*part*/) const { return 0.0; }
becde6ce 52 void Process(AliHBTParticle * track,AliHBTParticle * part);
53 protected:
54 TH1D* fWrong;
81b40753 55 TH1D* fAll;
becde6ce 56 ClassDef(AliHBTMonPIDContaminationVsPtFctn,1)
57};
58/*************************************************************************************/
59
61763057 60class AliHBTQInvCorrelFctnPerfectPID: public AliHBTTwoPairFctn1D, public AliHBTCorrelFunction
61{
62//Q Invaraint Correlation Function
63//1D two particle function
64//Fills the function only for correctly reconstructed PID
65//Together with
66 public:
67 AliHBTQInvCorrelFctnPerfectPID(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
68 virtual ~AliHBTQInvCorrelFctnPerfectPID(){};
69 void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
70 void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
71 TH1* GetResult();
72 protected:
73 Double_t GetValue(AliHBTPair* trackpair, AliHBTPair* /*partpair*/) const {return trackpair->GetQInv();}
74 private:
75 ClassDef(AliHBTQInvCorrelFctnPerfectPID,1)
76};
77
78/*************************************************************************************/
79
80class AliHBTWeightQInvCorrelFctnPerfectPID: public AliHBTTwoPairFctn1D, public AliHBTCorrelFunction
81{
82//Weight Q Invaraint Correlation Function
83//1D two particle function
84//Fills the function only for correctly reconstructed PID
85//Together with regular
86 public:
87 AliHBTWeightQInvCorrelFctnPerfectPID(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
88 virtual ~AliHBTWeightQInvCorrelFctnPerfectPID(){};
89 void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
90 void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
91 TH1* GetResult();
92 protected:
93 Double_t GetValue(AliHBTPair* trackpair, AliHBTPair* /*partpair*/) const {return trackpair->GetQInv();}
94 private:
95 ClassDef(AliHBTWeightQInvCorrelFctnPerfectPID,1)
96};
97/*************************************************************************************/
98class AliHBTWeightQOutSQideQLongFctnPerfectPID: public AliHBTTwoPairFctn3D, public AliHBTCorrelFunction
99{
100
101 public:
102 AliHBTWeightQOutSQideQLongFctnPerfectPID(Int_t nXbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0,
103 Int_t nYbins = 100, Double_t maxYval = 0.15, Double_t minYval = 0.0,
104 Int_t nZbins = 100, Double_t maxZval = 0.15, Double_t minZval = 0.0);
105 virtual ~AliHBTWeightQOutSQideQLongFctnPerfectPID(){}
106
107 TH1* GetResult();
108 void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
109 void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
110
111 protected:
112 void GetValues(AliHBTPair* /*trackpair*/, AliHBTPair* /*partpair*/, Double_t& /*x*/, Double_t& /*y*/, Double_t& /*z*/) const {}
113
114 ClassDef(AliHBTWeightQOutSQideQLongFctnPerfectPID,1)
115};
116
117/*************************************************************************************/
118class AliHBTQOutSQideQLongFctnPerfectPID: public AliHBTTwoPairFctn3D, public AliHBTCorrelFunction
119{
120
121 public:
122 AliHBTQOutSQideQLongFctnPerfectPID(Int_t nXbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0,
123 Int_t nYbins = 100, Double_t maxYval = 0.15, Double_t minYval = 0.0,
124 Int_t nZbins = 100, Double_t maxZval = 0.15, Double_t minZval = 0.0);
125 virtual ~AliHBTQOutSQideQLongFctnPerfectPID(){}
126
127 TH1* GetResult();
128 void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
129 void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
130
131 protected:
132 void GetValues(AliHBTPair* /*trackpair*/, AliHBTPair* /*partpair*/, Double_t& /*x*/, Double_t& /*y*/, Double_t& /*z*/) const {}
133
134 ClassDef(AliHBTQOutSQideQLongFctnPerfectPID,1)
135};
136
137
138/*************************************************************************************/
139
becde6ce 140class AliHBTPairPIDProbVsQInvFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction
141{
142//Q Invaraint Correlation Function
143//1D two particle function
144 public:
145 AliHBTPairPIDProbVsQInvFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
146 virtual ~AliHBTPairPIDProbVsQInvFctn(){};
147 void ProcessSameEventParticles(AliHBTPair* pair);
148 void ProcessDiffEventParticles(AliHBTPair* pair);
149 TH1* GetResult();
150 protected:
a22a56ec 151 Double_t GetValue(AliHBTPair * pair) const {return pair->GetQInv();}
becde6ce 152 private:
153 ClassDef(AliHBTPairPIDProbVsQInvFctn,1)
154};
155/*************************************************************************************/
156class AliHBTPairPIDProbVsQOutSQideQLongFctn: public AliHBTOnePairFctn3D, public AliHBTCorrelFunction
157{
158
159 public:
160 AliHBTPairPIDProbVsQOutSQideQLongFctn(Int_t nXbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0,
161 Int_t nYbins = 100, Double_t maxYval = 0.15, Double_t minYval = 0.0,
162 Int_t nZbins = 100, Double_t maxZval = 0.15, Double_t minZval = 0.0);
163 virtual ~AliHBTPairPIDProbVsQOutSQideQLongFctn(){}
164
165 TH1* GetResult();
166 void ProcessSameEventParticles(AliHBTPair* part);
167 void ProcessDiffEventParticles(AliHBTPair* pair);
168
169 protected:
a22a56ec 170 void GetValues(AliHBTPair* /*pair*/, Double_t& /*x*/, Double_t& /*y*/, Double_t& /*z*/) const {}
becde6ce 171
172 ClassDef(AliHBTPairPIDProbVsQOutSQideQLongFctn,1)
173};
174
175
176#endif