]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HBTAN/AliHBTMonDistributionFctns.h
Incedent angle correction fixed
[u/mrichter/AliRoot.git] / HBTAN / AliHBTMonDistributionFctns.h
index 593e9f4c77d70115c5424f53ec8aa6734dbaee50..01e2c188ab58acff1b42acb80edfec61eaf69442 100644 (file)
@@ -1,8 +1,33 @@
-#ifndef ALIHBTMONPXDISTRIBUTIONVSPTFCTN_H
-#define ALIHBTMONPXDISTRIBUTIONVSPTFCTN_H
+#ifndef ALIHBTMONDISTRIBUTIONFCTNS_H
+#define ALIHBTMONDISTRIBUTIONFCTNS_H
+/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ * See cxx source for full Copyright notice                               */
 
+/* $Id$ */
+
+//______________________________________________________________
+////////////////////////////////////////////////////////////////
+//
+// class AliHBTMonPxDistributionFctn;
+// class AliHBTMonPxDistributionVsPtFctn;
+// class AliHBTMonPyDistributionFctn;
+// class AliHBTMonPyDistributionVsPtFctn;
+// class AliHBTMonPzDistributionFctn;
+// class AliHBTMonPzDistributionVsPtFctn;
+// class AliHBTMonPDistributionFctn;
+// class AliHBTMonPDistributionVsPtFctn;
+// class AliHBTMonPtDistributionFctn;
+// class AliHBTMonVxDistributionFctn;
+// class AliHBTMonVyDistributionFctn;
+// class AliHBTMonVzDistributionFctn;
+// class AliHBTMonRDistributionFctn;
+// class AliHBTMonVyDistributionVsVxFctn;
+// class AliHBTMonRtDistributionVsVzFctn;
+//
 // added by Zbigniew.Chajecki@cern.ch
-// this classes create distribution functions of particle momentum 
+// this classes create distribution functions of particle momentum
+//
+/////////////////////////////////////////////////////////////////
 
 class AliHBTMonPxDistributionFctn;
 class AliHBTMonPxDistributionVsPtFctn;
@@ -14,6 +39,16 @@ class AliHBTMonPDistributionFctn;
 class AliHBTMonPDistributionVsPtFctn;
 class AliHBTMonPtDistributionFctn;
 
+class AliHBTMonVxDistributionFctn;
+class AliHBTMonVyDistributionFctn;
+class AliHBTMonVzDistributionFctn;
+class AliHBTMonRDistributionFctn;
+
+class AliHBTMonVyDistributionVsVxFctn;
+class AliHBTMonRtDistributionVsVzFctn;
+
+#include <TMath.h>
+
 #include "AliHBTMonitorFunction.h"
 /***********************************************************************/
 /***********************************************************************/
@@ -24,12 +59,9 @@ class AliHBTMonPxDistributionFctn: public AliHBTMonOneParticleFctn1D
  public:
    AliHBTMonPxDistributionFctn(Int_t nbins = 200, Double_t maxXval = 1.4, Double_t minXval = -1.4);
    virtual ~AliHBTMonPxDistributionFctn(){};
-   TH1* GetResult(){return fResult;}
  protected:
-   Double_t GetValue(AliHBTParticle * particle) { return particle->Px();}
-  public:
-    ClassDef(AliHBTMonPxDistributionFctn,1)
+   Double_t GetValue(AliVAODParticle * particle) const;
+   ClassDef(AliHBTMonPxDistributionFctn,1)
 };
 /*************************************************************************************/ 
 
@@ -38,12 +70,9 @@ class AliHBTMonPyDistributionFctn: public AliHBTMonOneParticleFctn1D
  public:
    AliHBTMonPyDistributionFctn(Int_t nbins = 200, Double_t maxXval = 1.4, Double_t minXval = -1.4);
    virtual ~AliHBTMonPyDistributionFctn(){};
-   TH1* GetResult(){return fResult;} 
  protected:
-   Double_t GetValue(AliHBTParticle * particle) { return particle->Py();}
-  public:
-    ClassDef(AliHBTMonPyDistributionFctn,1)
+   Double_t GetValue(AliVAODParticle * particle) const { return particle->Py();}
+   ClassDef(AliHBTMonPyDistributionFctn,1)
 };
 /*************************************************************************************/ 
 
@@ -52,11 +81,9 @@ class AliHBTMonPzDistributionFctn: public AliHBTMonOneParticleFctn1D
  public:
    AliHBTMonPzDistributionFctn(Int_t nbins = 200, Double_t maxXval = 1.4, Double_t minXval = -1.4);
    virtual ~AliHBTMonPzDistributionFctn(){};
-   TH1* GetResult(){return fResult;} 
  protected:
-   Double_t GetValue(AliHBTParticle * particle) { return particle->Pz();}
-  public:
-    ClassDef(AliHBTMonPzDistributionFctn,1)
+   Double_t GetValue(AliVAODParticle * particle) const { return particle->Pz();}
+   ClassDef(AliHBTMonPzDistributionFctn,1)
  
 };
 /*************************************************************************************/ 
@@ -66,11 +93,9 @@ class AliHBTMonPDistributionFctn: public AliHBTMonOneParticleFctn1D
  public:
    AliHBTMonPDistributionFctn(Int_t nbins = 200, Double_t maxXval = 1.4, Double_t minXval = 0.0);
    virtual ~AliHBTMonPDistributionFctn(){};
-   TH1* GetResult(){return fResult;} 
  protected:
-   Double_t GetValue(AliHBTParticle * particle) { return particle->P();}
-  public:
-    ClassDef(AliHBTMonPDistributionFctn,1)
+   Double_t GetValue(AliVAODParticle * particle) const { return particle->P();}
+   ClassDef(AliHBTMonPDistributionFctn,1)
  
 };
 /*************************************************************************************/ 
@@ -80,12 +105,9 @@ class AliHBTMonPtDistributionFctn: public AliHBTMonOneParticleFctn1D
  public:
    AliHBTMonPtDistributionFctn(Int_t nbins = 200, Double_t maxXval = 1.4, Double_t minXval = 0.0);
    virtual ~AliHBTMonPtDistributionFctn(){};
-   TH1* GetResult(){return fResult;} 
  protected:
-   Double_t GetValue(AliHBTParticle * particle) { return particle->Pt();}
-  public:
-    ClassDef(AliHBTMonPtDistributionFctn,1)
+   Double_t GetValue(AliVAODParticle * particle) const { return particle->Pt();}
+   ClassDef(AliHBTMonPtDistributionFctn,1)
 };
 
 /***********************************************************************/
@@ -96,16 +118,12 @@ class AliHBTMonPxDistributionVsPtFctn: public AliHBTMonOneParticleFctn2D
                              Int_t nYbins = 200, Double_t maxYval = 1.4, Double_t minYval =-1.4);
    virtual ~AliHBTMonPxDistributionVsPtFctn(){}
 
-   void GetValues(AliHBTParticle* partparticle,  Double_t& x, Double_t& y)
+   void GetValues(AliVAODParticle* partparticle,  Double_t& x, Double_t& y) const
     {
-     x = partparticle->Pt();
-     y = partparticle->Px();
+      x = partparticle->Pt();
+      y = partparticle->Px();
     }
-   TH1* GetResult(){return fResult;} 
-  protected:
-  private:
-  public:
-    ClassDef(AliHBTMonPxDistributionVsPtFctn,1)
+   ClassDef(AliHBTMonPxDistributionVsPtFctn,1)
  };
 
 /***********************************************************************/
@@ -116,16 +134,12 @@ class AliHBTMonPyDistributionVsPtFctn: public AliHBTMonOneParticleFctn2D
                              Int_t nYbins = 200, Double_t maxYval = 1.4, Double_t minYval =-1.4);
    virtual ~AliHBTMonPyDistributionVsPtFctn(){}
 
-   void GetValues(AliHBTParticle* partparticle,  Double_t& x, Double_t& y)
+   void GetValues(AliVAODParticle* partparticle,  Double_t& x, Double_t& y) const
     {
      x = partparticle->Pt();
      y = partparticle->Py();
     }
-   TH1* GetResult(){return fResult;} 
-  protected:
-  private:
-  public:
-    ClassDef(AliHBTMonPyDistributionVsPtFctn,1)
+  ClassDef(AliHBTMonPyDistributionVsPtFctn,1)
  };
 /***********************************************************************/
 class AliHBTMonPzDistributionVsPtFctn: public AliHBTMonOneParticleFctn2D
@@ -135,16 +149,12 @@ class AliHBTMonPzDistributionVsPtFctn: public AliHBTMonOneParticleFctn2D
                              Int_t nYbins = 200, Double_t maxYval = 1.4, Double_t minYval =-1.4);
    virtual ~AliHBTMonPzDistributionVsPtFctn(){}
 
-   void GetValues(AliHBTParticle* partparticle,  Double_t& x, Double_t& y)
+   void GetValues(AliVAODParticle* partparticle,  Double_t& x, Double_t& y) const
     {
      x = partparticle->Pt();
      y = partparticle->Pz();
     }
-   TH1* GetResult(){return fResult;} 
-  protected:
-  private:
-  public:
-    ClassDef(AliHBTMonPzDistributionVsPtFctn,1)
+   ClassDef(AliHBTMonPzDistributionVsPtFctn,1)
  };
 
 /***********************************************************************/
@@ -155,16 +165,12 @@ class AliHBTMonPDistributionVsPtFctn: public AliHBTMonOneParticleFctn2D
                              Int_t nYbins = 200, Double_t maxYval = 1.4, Double_t minYval =-1.4);
    virtual ~AliHBTMonPDistributionVsPtFctn(){}
 
-   void GetValues(AliHBTParticle* partparticle,  Double_t& x, Double_t& y)
+   void GetValues(AliVAODParticle* partparticle,  Double_t& x, Double_t& y) const
     {
      x = partparticle->Pt();
      y = partparticle->P();
     }
-   TH1* GetResult(){return fResult;} 
-  protected:
-  private:
-  public:
-    ClassDef(AliHBTMonPDistributionVsPtFctn,1)
+   ClassDef(AliHBTMonPDistributionVsPtFctn,1)
  };
 
 /***********************************************************************/
@@ -177,12 +183,9 @@ class AliHBTMonPhiDistributionFctn: public AliHBTMonOneParticleFctn1D
  public:
    AliHBTMonPhiDistributionFctn(Int_t nbins = 200, Double_t maxXval = 3.14, Double_t minXval = 0.0);
    virtual ~AliHBTMonPhiDistributionFctn(){};
-   TH1* GetResult(){return fResult;} 
  protected:
-   Double_t GetValue(AliHBTParticle * particle) { return particle->Phi();}
-  public:
-    ClassDef(AliHBTMonPhiDistributionFctn,1)
+   Double_t GetValue(AliVAODParticle * particle) const { return particle->Phi();}
+   ClassDef(AliHBTMonPhiDistributionFctn,1)
 };
 
 /***********************************************************************/
@@ -191,11 +194,9 @@ class AliHBTMonThetaDistributionFctn: public AliHBTMonOneParticleFctn1D
  public:
    AliHBTMonThetaDistributionFctn(Int_t nbins = 200, Double_t maxXval = 3.14, Double_t minXval = 0.0);
    virtual ~AliHBTMonThetaDistributionFctn(){};
-   TH1* GetResult(){return fResult;} 
  protected:
-   Double_t GetValue(AliHBTParticle * particle) { return particle->Theta();}
-  public:
-    ClassDef(AliHBTMonThetaDistributionFctn,1)
+   Double_t GetValue(AliVAODParticle * particle) const { return particle->Theta();}
+   ClassDef(AliHBTMonThetaDistributionFctn,1)
  
 };
 /***********************************************************************/
@@ -207,41 +208,103 @@ class AliHBTMonPhiDistributionVsPtFctn: public AliHBTMonOneParticleFctn2D
                              Int_t nYbins = 200, Double_t maxYval = 3.14, Double_t minYval =0.0);
    virtual ~AliHBTMonPhiDistributionVsPtFctn(){}
 
-   void GetValues(AliHBTParticle* partparticle,  Double_t& x, Double_t& y)
+   void GetValues(AliVAODParticle* partparticle,  Double_t& x, Double_t& y) const
     {
      x = partparticle->Pt();
      y = partparticle->Phi();
     }
-   TH1* GetResult(){return fResult;} 
-  protected:
-  private:
-  public:
-    ClassDef(AliHBTMonPhiDistributionVsPtFctn,1)
+  ClassDef(AliHBTMonPhiDistributionVsPtFctn,1)
  };
 
 /***********************************************************************/
 class AliHBTMonThetaDistributionVsPtFctn: public AliHBTMonOneParticleFctn2D
- {
+{
   public: 
    AliHBTMonThetaDistributionVsPtFctn(Int_t nXbins = 200, Double_t maxXval = 1.4, Double_t minXval = -0.1, 
                              Int_t nYbins = 200, Double_t maxYval = 3.14, Double_t minYval =0.0);
    virtual ~AliHBTMonThetaDistributionVsPtFctn(){}
 
-   void GetValues(AliHBTParticle* partparticle,  Double_t& x, Double_t& y)
+   void GetValues(AliVAODParticle* partparticle,  Double_t& x, Double_t& y) const
     {
       x = partparticle->Pt();
       y = partparticle->Theta();
     }
-   TH1* GetResult(){return fResult;} 
-  protected:
-  private:
-  public:
    ClassDef(AliHBTMonThetaDistributionVsPtFctn,1)
  };
 
 /***********************************************************************/
+class AliHBTMonVxDistributionFctn: public AliHBTMonOneParticleFctn1D
+{
+ public:
+   AliHBTMonVxDistributionFctn(Int_t nbins = 200, Double_t maxXval = 500, Double_t minXval = -500);
+   virtual ~AliHBTMonVxDistributionFctn(){};
+ protected:
+   Double_t GetValue(AliVAODParticle * particle)  const{ return particle->Vx();}
+   ClassDef(AliHBTMonVxDistributionFctn,1)
+};
+/***********************************************************************/
+class AliHBTMonVyDistributionFctn: public AliHBTMonOneParticleFctn1D
+{
+ public:
+   AliHBTMonVyDistributionFctn(Int_t nbins = 200, Double_t maxXval = 500, Double_t minXval = -500);
+   virtual ~AliHBTMonVyDistributionFctn(){};
+ protected:
+   Double_t GetValue(AliVAODParticle * particle) const { return particle->Vy();}
+   ClassDef(AliHBTMonVyDistributionFctn,1)
+};
+/***********************************************************************/
+class AliHBTMonVzDistributionFctn: public AliHBTMonOneParticleFctn1D
+{
+ public:
+   AliHBTMonVzDistributionFctn(Int_t nbins = 200, Double_t maxXval = 300, Double_t minXval = -300);
+   virtual ~AliHBTMonVzDistributionFctn(){};
+ protected:
+   Double_t GetValue(AliVAODParticle * particle) const { return particle->Vz();}
+   ClassDef(AliHBTMonVzDistributionFctn,1)
+};
 /***********************************************************************/
+class AliHBTMonRDistributionFctn: public AliHBTMonOneParticleFctn1D
+{
+ public:
+   AliHBTMonRDistributionFctn(Int_t nbins = 200, Double_t maxXval = 500, Double_t minXval = -500);
+   virtual ~AliHBTMonRDistributionFctn(){};
+ protected:
+   Double_t GetValue(AliVAODParticle * p) const { return TMath::Sqrt(p->Vx()*p->Vx() + p->Vy()*p->Vy() + p->Vz()*p->Vz());}
+   ClassDef(AliHBTMonRDistributionFctn,1)
+};
+
 /***********************************************************************/
+class AliHBTMonVyDistributionVsVxFctn: public AliHBTMonOneParticleFctn2D
+{
+  public: 
+   AliHBTMonVyDistributionVsVxFctn(Int_t nXbins = 200, Double_t maxXval = 10.0, Double_t minXval = -10.0, 
+                                   Int_t nYbins = 200, Double_t maxYval = 10.0, Double_t minYval =-10.0);
+   virtual ~AliHBTMonVyDistributionVsVxFctn(){}
+
+   void GetValues(AliVAODParticle* partparticle,  Double_t& x, Double_t& y) const
+    {
+      x = partparticle->Vx();
+      y = partparticle->Vy();
+    }
+   ClassDef(AliHBTMonVyDistributionVsVxFctn,1)
+ };
+
+
+class AliHBTMonRtDistributionVsVzFctn: public AliHBTMonOneParticleFctn2D
+{
+  public: 
+   AliHBTMonRtDistributionVsVzFctn(Int_t nXbins = 200, Double_t maxXval = 10.0, Double_t minXval = -10.0, 
+                                   Int_t nYbins = 100, Double_t maxYval = 10.0, Double_t minYval = 0.0);
+   virtual ~AliHBTMonRtDistributionVsVzFctn(){}
+   void GetValues(AliVAODParticle* partparticle,  Double_t& x, Double_t& y) const
+    {
+      x = partparticle->Vz();
+      y = TMath::Hypot(partparticle->Vx(),partparticle->Vy());
+    }
+   ClassDef(AliHBTMonRtDistributionVsVzFctn,1)
+ };
+
 /***********************************************************************/
 /***********************************************************************/