1 #ifndef ALIHBTPIDPURITYFCTNS_H
2 #define ALIHBTPIDPURITYFCTNS_H
3 //_______________________________________________________________________________
4 /////////////////////////////////////////////////////////////////////////////////
6 // class AliHBTMonPIDPurityVsPtFctn;
7 // class AliHBTMonThetaResolutionVsPtFctn;
9 // file: AliHBTPIDPurityFctns.cxx AliHBTPIDPurityFctns.h
11 // Caution: On 2D plots on X axis in simulated values
12 // That is contrary to two-particle resolutions where it is reconstructed one
14 // added by Piotr.Skowronski@cern.ch
17 //////////////////////////////////////////////////////////////////////////////////
19 #include "AliHBTFunction.h"
20 #include "AliHBTMonitorFunction.h"
22 class AliHBTMonPIDPurityVsPtFctn: public AliHBTMonTwoParticleFctn1D, public AliHBTCorrelFunction
25 AliHBTMonPIDPurityVsPtFctn(Int_t nbins = 20, Double_t maxXval = 2.0, Double_t minXval = 0.0);
26 virtual ~AliHBTMonPIDPurityVsPtFctn();
29 void Rename(const Char_t * name);
30 void Rename(const Char_t * name, const Char_t * title);
32 Double_t GetValue(AliHBTParticle * /*track*/,AliHBTParticle * /*part*/) const { return 0.0; }
33 void Process(AliHBTParticle * track,AliHBTParticle * part);
37 ClassDef(AliHBTMonPIDPurityVsPtFctn,1)
39 /***********************************************************************/
41 class AliHBTMonPIDContaminationVsPtFctn: public AliHBTMonTwoParticleFctn1D, public AliHBTCorrelFunction
44 AliHBTMonPIDContaminationVsPtFctn(Int_t nbins = 20, Double_t maxXval = 2.0, Double_t minXval = 0.0);
45 virtual ~AliHBTMonPIDContaminationVsPtFctn();
48 void Rename(const Char_t * name);
49 void Rename(const Char_t * name, const Char_t * title);
51 Double_t GetValue(AliHBTParticle * /*track*/,AliHBTParticle * /*part*/) const { return 0.0; }
52 void Process(AliHBTParticle * track,AliHBTParticle * part);
56 ClassDef(AliHBTMonPIDContaminationVsPtFctn,1)
58 /*************************************************************************************/
60 class AliHBTQInvCorrelFctnPerfectPID: public AliHBTTwoPairFctn1D, public AliHBTCorrelFunction
62 //Q Invaraint Correlation Function
63 //1D two particle function
64 //Fills the function only for correctly reconstructed PID
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);
73 Double_t GetValue(AliHBTPair* trackpair, AliHBTPair* /*partpair*/) const {return trackpair->GetQInv();}
75 ClassDef(AliHBTQInvCorrelFctnPerfectPID,1)
78 /*************************************************************************************/
80 class AliHBTWeightQInvCorrelFctnPerfectPID: public AliHBTTwoPairFctn1D, public AliHBTCorrelFunction
82 //Weight Q Invaraint Correlation Function
83 //1D two particle function
84 //Fills the function only for correctly reconstructed PID
85 //Together with regular
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);
93 Double_t GetValue(AliHBTPair* trackpair, AliHBTPair* /*partpair*/) const {return trackpair->GetQInv();}
95 ClassDef(AliHBTWeightQInvCorrelFctnPerfectPID,1)
97 /*************************************************************************************/
98 class AliHBTWeightQOutSQideQLongFctnPerfectPID: public AliHBTTwoPairFctn3D, public AliHBTCorrelFunction
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(){}
108 void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
109 void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
112 void GetValues(AliHBTPair* /*trackpair*/, AliHBTPair* /*partpair*/, Double_t& /*x*/, Double_t& /*y*/, Double_t& /*z*/) const {}
114 ClassDef(AliHBTWeightQOutSQideQLongFctnPerfectPID,1)
117 /*************************************************************************************/
118 class AliHBTQOutSQideQLongFctnPerfectPID: public AliHBTTwoPairFctn3D, public AliHBTCorrelFunction
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(){}
128 void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
129 void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
132 void GetValues(AliHBTPair* /*trackpair*/, AliHBTPair* /*partpair*/, Double_t& /*x*/, Double_t& /*y*/, Double_t& /*z*/) const {}
134 ClassDef(AliHBTQOutSQideQLongFctnPerfectPID,1)
138 /*************************************************************************************/
140 class AliHBTPairPIDProbVsQInvFctn: public AliHBTOnePairFctn1D, public AliHBTCorrelFunction
142 //Q Invaraint Correlation Function
143 //1D two particle function
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);
151 Double_t GetValue(AliHBTPair * pair) const {return pair->GetQInv();}
153 ClassDef(AliHBTPairPIDProbVsQInvFctn,1)
155 /*************************************************************************************/
156 class AliHBTPairPIDProbVsQOutSQideQLongFctn: public AliHBTOnePairFctn3D, public AliHBTCorrelFunction
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(){}
166 void ProcessSameEventParticles(AliHBTPair* part);
167 void ProcessDiffEventParticles(AliHBTPair* pair);
170 void GetValues(AliHBTPair* /*pair*/, Double_t& /*x*/, Double_t& /*y*/, Double_t& /*z*/) const {}
172 ClassDef(AliHBTPairPIDProbVsQOutSQideQLongFctn,1)