]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HBTAN/AliHBTPIDPurityFctns.h
Added preprocessor conditionals to support ROOT > 5.11.2.
[u/mrichter/AliRoot.git] / HBTAN / AliHBTPIDPurityFctns.h
index 2eaa36973275519e8dbb586dfaa96019c20240aa..ac52404f9e8b35468a39b29629ae0a05600f94c7 100644 (file)
@@ -8,11 +8,14 @@
 //
 // file: AliHBTPIDPurityFctns.cxx AliHBTPIDPurityFctns.h
 //
-// Caution: On 2D plots on X axis in simulated values
-// That is contrary to two-particle resolutions where it is reconstructed one
+// Classes for calculating PID purity, efficiency and other things connected with PID
+// xxxxxxxxxx
+// xxxxxxxxxx
+// xxxxxxxxxx
+// xxxxxxxxxx
+// xxxxxxxxxx
 //
 // added by Piotr.Skowronski@cern.ch
-// 
 //
 //////////////////////////////////////////////////////////////////////////////////
 
@@ -23,17 +26,22 @@ class AliHBTMonPIDPurityVsPtFctn: public AliHBTMonTwoParticleFctn1D, public AliH
 {
   public: 
     AliHBTMonPIDPurityVsPtFctn(Int_t nbins = 20, Double_t maxXval = 2.0, Double_t minXval = 0.0);
+    AliHBTMonPIDPurityVsPtFctn(const AliHBTMonPIDPurityVsPtFctn& /*in*/);
     virtual ~AliHBTMonPIDPurityVsPtFctn();
+    
+    AliHBTMonPIDPurityVsPtFctn& operator=(const AliHBTMonPIDPurityVsPtFctn& /*in*/);
+    
     void Init();
-    void Write();
+    Int_t Write(const char* /*x1*/ = "",Int_t /*x2*/ = 0, Int_t /*x3*/ = 0);
+    Int_t Write(const char* x1 = "",Int_t x2 = 0, Int_t x3 = 0) const {return AliHBTMonTwoParticleFctn1D::Write(x1,x2,x3);}
     void Rename(const Char_t * name);
     void Rename(const Char_t * name, const Char_t * title);
     TH1* GetResult();
-    Double_t GetValue(AliHBTParticle * /*track*/,AliHBTParticle * /*part*/) const { return 0.0; }
-    void Process(AliHBTParticle * track,AliHBTParticle * part);
+    Double_t GetValue(AliVAODParticle * /*track*/,AliVAODParticle * /*part*/) const { return 0.0; }
+    void Process(AliVAODParticle * track,AliVAODParticle * part);
   protected:
-    TH1D* fGood;
-    TH1D* fAll;
+    TH1D* fGood;//histogram filled with correctly identified particles
+    TH1D* fAll;//histogram filled with all particles
     ClassDef(AliHBTMonPIDPurityVsPtFctn,1)
 };
 /***********************************************************************/
@@ -42,17 +50,22 @@ class AliHBTMonPIDContaminationVsPtFctn: public AliHBTMonTwoParticleFctn1D, publ
 {
   public: 
     AliHBTMonPIDContaminationVsPtFctn(Int_t nbins = 20, Double_t maxXval = 2.0, Double_t minXval = 0.0);
-    virtual ~AliHBTMonPIDContaminationVsPtFctn();
+    AliHBTMonPIDContaminationVsPtFctn(const AliHBTMonPIDContaminationVsPtFctn& /*in*/);
+    virtual ~AliHBTMonPIDContaminationVsPtFctn();    
+
+    AliHBTMonPIDContaminationVsPtFctn& operator=(const AliHBTMonPIDContaminationVsPtFctn& /*in*/);
+
     void Init();
-    void Write();
+    Int_t Write(const char* /*x1*/ = "",Int_t /*x2*/ = 0, Int_t /*x3*/ = 0);
+    Int_t Write(const char* x1 = "",Int_t x2 = 0, Int_t x3 = 0) const {return AliHBTMonTwoParticleFctn1D::Write(x1,x2,x3);}
     void Rename(const Char_t * name);
     void Rename(const Char_t * name, const Char_t * title);
     TH1* GetResult();
-    Double_t GetValue(AliHBTParticle * /*track*/,AliHBTParticle * /*part*/) const { return 0.0; }
-    void Process(AliHBTParticle * track,AliHBTParticle * part);
+    Double_t GetValue(AliVAODParticle * /*track*/,AliVAODParticle * /*part*/) const { return 0.0; }
+    void Process(AliVAODParticle * track,AliVAODParticle * part);
   protected:
-    TH1D* fWrong;  
-    TH1D* fAll;
+    TH1D* fWrong;//histogram filled with wrongly identified particles
+    TH1D* fAll;//histogram filled with all particles
     ClassDef(AliHBTMonPIDContaminationVsPtFctn,1)
 };
 /*************************************************************************************/
@@ -153,13 +166,14 @@ class AliHBTPairPIDProbVsQInvFctn: public AliHBTOnePairFctn1D, public AliHBTCorr
    ClassDef(AliHBTPairPIDProbVsQInvFctn,1)
 };
 /*************************************************************************************/
+
 class AliHBTPairPIDProbVsQOutSQideQLongFctn: public AliHBTOnePairFctn3D, public AliHBTCorrelFunction
 {
 
   public:
     AliHBTPairPIDProbVsQOutSQideQLongFctn(Int_t nXbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0,
-                             Int_t nYbins = 100, Double_t maxYval = 0.15, Double_t minYval = 0.0,
-                 Int_t nZbins = 100, Double_t maxZval = 0.15, Double_t minZval = 0.0);
+                                          Int_t nYbins = 100, Double_t maxYval = 0.15, Double_t minYval = 0.0,
+                                          Int_t nZbins = 100, Double_t maxZval = 0.15, Double_t minZval = 0.0);
     virtual  ~AliHBTPairPIDProbVsQOutSQideQLongFctn(){}
 
     TH1* GetResult();
@@ -171,6 +185,45 @@ class AliHBTPairPIDProbVsQOutSQideQLongFctn: public AliHBTOnePairFctn3D, public
 
     ClassDef(AliHBTPairPIDProbVsQOutSQideQLongFctn,1)
 };
+/******************************************************************/
+
+class AliHBTTwoTrackEffFctnPtThetaPhiPerfectPID: public AliHBTTwoPairFctn3D, public AliHBTCorrelFunction
+ {
+  public:
+    AliHBTTwoTrackEffFctnPtThetaPhiPerfectPID(Int_t nXbins = 50, Double_t maxXval = 0.3, Double_t minXval = 0.0,
+                                    Int_t nYbins = 50, Double_t maxYval = 0.3, Double_t minYval = 0.0,
+                       Int_t nZbins = 50, Double_t maxZval = 0.3, Double_t minZval = 0.0);
+    virtual ~AliHBTTwoTrackEffFctnPtThetaPhiPerfectPID(){}
+    void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
+    void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
+    
+    TH1* GetResult();
+  protected:
+    void GetValues(AliHBTPair* /*trackpair*/, AliHBTPair* /*partpair*/, Double_t& /*x*/, Double_t& /*y*/, Double_t& /*z*/) const {}
+  private:
+    ClassDef(AliHBTTwoTrackEffFctnPtThetaPhiPerfectPID,1)
+ };
+/*************************************************************************************/
+
+class AliHBTPairPIDProbVsPtThetaPhiFctn: public AliHBTOnePairFctn3D, public AliHBTCorrelFunction
+{
+
+  public:
+    AliHBTPairPIDProbVsPtThetaPhiFctn(Int_t nXbins = 50, Double_t maxXval = 0.3, Double_t minXval = 0.0,
+                                      Int_t nYbins = 50, Double_t maxYval = 0.3, Double_t minYval = 0.0,
+                                      Int_t nZbins = 50, Double_t maxZval = 0.3, Double_t minZval = 0.0);
+    virtual  ~AliHBTPairPIDProbVsPtThetaPhiFctn(){}
+
+    TH1* GetResult();
+    void ProcessSameEventParticles(AliHBTPair* part);
+    void ProcessDiffEventParticles(AliHBTPair* pair);
+
+  protected:
+    void GetValues(AliHBTPair* /*pair*/, Double_t& /*x*/, Double_t& /*y*/, Double_t& /*z*/) const {}
+
+    ClassDef(AliHBTPairPIDProbVsPtThetaPhiFctn,1)
+};
+
 
 
 #endif