]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HBTAN/AliHBTWeightFctn.h
minor correction in documentation
[u/mrichter/AliRoot.git] / HBTAN / AliHBTWeightFctn.h
index 278eb5c115eae1f967c95c74ad38f84572a94981..ef7e62cc1a44c5cadad6318c412f3426dcf7a9da 100644 (file)
@@ -2,13 +2,30 @@
 #define ALIHBTWeightQINVFCTN_H
 
 /* $Id$ */
-
+//_________________________________________________________________________
+//
+// class AliHBTWeightQInvFctn
+// class AliHBTWeightQOutFctn
+// class AliHBTWeightQSideFctn
+// class AliHBTWeightQLongFctn
+// 
+// This class allows to obtain Q_inv correlation function with weights
+// calculated by Lednicky's alghorithm.
+// Numerator is filled with weighted events. Weights are attributed to reconstructed tracks.
+// Weights are calculated with corresponding simulated particles momenta.
+// Denominator is filled with mixing unweighted reconstructed tracks.
+// One needs both pairs 
+// (simulated and recontructed), thus function is of class AliHBTTwoPairFctn1D.
+// Author: Ludmila Malinina, JINR (malinina@sunhe.jinr.ru)
+//
+////////////////////////////////////////////////////////////////////////////////
 
 #include "AliHBTFunction.h"
 
 
 class AliHBTWeights;
-class AliHBTWeightQInvFctn: public AliHBTTwoPairFctn1D
+
+class AliHBTWeightQInvFctn: public AliHBTTwoPairFctn1D, public AliHBTCorrelFunction
 {
  public:
   AliHBTWeightQInvFctn(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
@@ -19,13 +36,13 @@ class AliHBTWeightQInvFctn: public AliHBTTwoPairFctn1D
   void   ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
   
  protected:
-  Double_t GetValue(AliHBTPair* trackpair, AliHBTPair* partpair)
+  Double_t GetValue(AliHBTPair* trackpair, AliHBTPair* partpair) const
     { return trackpair->GetQInv()-partpair->GetQInv();} //isn't use                                                                    
-  ClassDef(AliHBTWeightQInvFctn,1)
+  ClassDef(AliHBTWeightQInvFctn,3)
 };
 /*************************************************************************************/ 
 
-class AliHBTWeightQOutFctn: public AliHBTTwoPairFctn1D
+class AliHBTWeightQOutFctn: public AliHBTTwoPairFctn1D, public AliHBTCorrelFunction
 {
 
   //  friend class AliHBTOnePairFctn1D;
@@ -37,14 +54,14 @@ class AliHBTWeightQOutFctn: public AliHBTTwoPairFctn1D
   void   ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
       
  protected:
-  Double_t GetValue(AliHBTPair* trackpair, AliHBTPair* partpair)         
-    { return trackpair->GetQOutCMSLC()-partpair->GetQOutCMSLC();} //isn't use                                                                    
-  ClassDef(AliHBTWeightQOutFctn,1)
+  Double_t GetValue(AliHBTPair* trackpair, AliHBTPair* partpair) const
+    { return trackpair->GetQOutLCMS()-partpair->GetQOutLCMS();} //isn't use                                                                    
+  ClassDef(AliHBTWeightQOutFctn,3)
  
 };
 /*************************************************************************************/ 
   
-class AliHBTWeightQLongFctn: public AliHBTTwoPairFctn1D
+class AliHBTWeightQLongFctn: public AliHBTTwoPairFctn1D, public AliHBTCorrelFunction
 {
   //  friend class AliHBTOnePairFctn1D;
  public:
@@ -55,15 +72,15 @@ class AliHBTWeightQLongFctn: public AliHBTTwoPairFctn1D
   void   ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
   
  protected:
-  Double_t GetValue(AliHBTPair* trackpair, AliHBTPair* partpair)
-    { return trackpair->GetQLongCMSLC()-partpair->GetQLongCMSLC();} //isn't used
+  Double_t GetValue(AliHBTPair* trackpair, AliHBTPair* partpair) const
+    { return trackpair->GetQLongLCMS()-partpair->GetQLongLCMS();} //isn't used
 
-  ClassDef(AliHBTWeightQLongFctn,1)
+  ClassDef(AliHBTWeightQLongFctn,3)
  
 };
 /*************************************************************************************/ 
   
-class AliHBTWeightQSideFctn: public AliHBTTwoPairFctn1D
+class AliHBTWeightQSideFctn: public AliHBTTwoPairFctn1D, public AliHBTCorrelFunction
 {
   // friend class AliHBTOnePairFctn1D;
  public:
@@ -74,14 +91,14 @@ class AliHBTWeightQSideFctn: public AliHBTTwoPairFctn1D
   void   ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
       
  protected:
-  Double_t GetValue(AliHBTPair* trackpair, AliHBTPair* partpair)         
-    { return trackpair->GetQLongCMSLC()-partpair->GetQLongCMSLC();} //isn't used
+  Double_t GetValue(AliHBTPair* trackpair, AliHBTPair* partpair) const
+    { return trackpair->GetQLongLCMS()-partpair->GetQLongLCMS();} //isn't used
 
-  ClassDef(AliHBTWeightQSideFctn,1
+  ClassDef(AliHBTWeightQSideFctn,3
 };
 /*************************************************************************************/ 
   
-class AliHBTWeightTwoKStarFctn: public AliHBTTwoPairFctn1D
+class AliHBTWeightTwoKStarFctn: public AliHBTTwoPairFctn1D, public AliHBTCorrelFunction
 {
   // friend class AliHBTOnePairFctn1D;
  public:
@@ -92,14 +109,14 @@ class AliHBTWeightTwoKStarFctn: public AliHBTTwoPairFctn1D
   void   ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
       
  protected:
-  Double_t GetValue(AliHBTPair* trackpair, AliHBTPair* partpair)         
+  Double_t GetValue(AliHBTPair* trackpair, AliHBTPair* partpair) const
     { return trackpair->GetKStar()-partpair->GetKStar();} //isn't used
-  ClassDef(AliHBTWeightTwoKStarFctn,1
+  ClassDef(AliHBTWeightTwoKStarFctn,3
 
 };
 /*************************************************************************************/ 
 
-class AliHBTWeightQOutQSideFctn: public AliHBTTwoPairFctn2D
+class AliHBTWeightQOutQSideFctn: public AliHBTTwoPairFctn2D, public AliHBTCorrelFunction
 {
 
   //  friend class AliHBTOnePairFctn1D;
@@ -112,13 +129,13 @@ class AliHBTWeightQOutQSideFctn: public AliHBTTwoPairFctn2D
   void   ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
       
  protected:
-  void GetValues(AliHBTPair* /*trackpair*/, AliHBTPair* /*partpair*/, Double_t& /*x*/, Double_t& /*y*/){}
-  ClassDef(AliHBTWeightQOutQSideFctn,1)
+  void GetValues(AliHBTPair* /*trackpair*/, AliHBTPair* /*partpair*/, Double_t& /*x*/, Double_t& /*y*/) const{}
+  ClassDef(AliHBTWeightQOutQSideFctn,3)
  
 };
 /*************************************************************************************/ 
 
-class AliHBTWeightQOutQLongFctn: public AliHBTTwoPairFctn2D
+class AliHBTWeightQOutQLongFctn: public AliHBTTwoPairFctn2D, public AliHBTCorrelFunction
 {
 
   //  friend class AliHBTOnePairFctn1D;
@@ -131,29 +148,50 @@ class AliHBTWeightQOutQLongFctn: public AliHBTTwoPairFctn2D
   void   ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
       
  protected:
-  void GetValues(AliHBTPair* /*trackpair*/, AliHBTPair* /*partpair*/, Double_t& /*x*/, Double_t& /*y*/){}
-  ClassDef(AliHBTWeightQOutQLongFctn,1)
+  void GetValues(AliHBTPair* /*trackpair*/, AliHBTPair* /*partpair*/, Double_t& /*x*/, Double_t& /*y*/) const{}
+  ClassDef(AliHBTWeightQOutQLongFctn,3)
  
 };
-
 /*************************************************************************************/ 
 
-class AliHBTWeightQSideQLongFctn: public AliHBTTwoPairFctn2D
+class AliHBTWeightQSideQLongFctn: public AliHBTTwoPairFctn2D, public AliHBTCorrelFunction
 {
 
   //  friend class AliHBTOnePairFctn1D;
  public:
   AliHBTWeightQSideQLongFctn(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 nybins = 100, Double_t maxYval = 0.15, Double_t minYval = 0.0);
   virtual ~AliHBTWeightQSideQLongFctn(){};
   TH1* GetResult();
   void   ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
   void   ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
       
  protected:
-  void GetValues(AliHBTPair* /*trackpair*/, AliHBTPair* /*partpair*/, Double_t& /*x*/, Double_t& /*y*/){}
-  ClassDef(AliHBTWeightQSideQLongFctn,1)
+  void GetValues(AliHBTPair* /*trackpair*/, AliHBTPair* /*partpair*/, Double_t& /*x*/, Double_t& /*y*/) const{}
+  ClassDef(AliHBTWeightQSideQLongFctn,3)
  
 };
+/*************************************************************************************/ 
+
+class AliHBTWeightQOutSQideQLongFctn: public AliHBTTwoPairFctn3D, public AliHBTCorrelFunction
+{
+
+  public:
+    AliHBTWeightQOutSQideQLongFctn(Int_t nXbins = 100, Double_t maxXval = 0.3, Double_t minXval = 0.0,
+                                Int_t nYbins = 100, Double_t maxYval = 0.3, Double_t minYval = 0.0,
+                                Int_t nZbins = 100, Double_t maxZval = 0.3, Double_t minZval = 0.0);
+    virtual  ~AliHBTWeightQOutSQideQLongFctn(){}
+
+    TH1* GetResult();
+  void   ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
+  void   ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
+  
+  protected:
+    void GetValues(AliHBTPair* /*trackpair*/, AliHBTPair* /*partpair*/, 
+                   Double_t& /*x*/, Double_t& /*y*/, Double_t& /*z*/)  const{ } 
+
+    ClassDef(AliHBTWeightQOutSQideQLongFctn,1)
+};
+
 
 #endif