]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HBTAN/AliHBTFunction.h
virtual destructors
[u/mrichter/AliRoot.git] / HBTAN / AliHBTFunction.h
index 44140565d455c74fd60c29fced4f0aa3847ba6e0..df22f2912ef97a3ee72a93de1551ed3c70eb61ba 100644 (file)
@@ -49,10 +49,11 @@ inline AliHBTPair* AliHBTFunction::CheckPair(AliHBTPair* pair)
   if(fPairCut->Pass(pair)) //if the pair is BAD
    {//it is BAD 
     pair = pair->GetSwapedPair();
   if(fPairCut->Pass(pair)) //if the pair is BAD
    {//it is BAD 
     pair = pair->GetSwapedPair();
-    if(fPairCut->Pass(pair)) //so try reverse combination
-     { 
-       return 0x0;//it is BAD as well - so return
-     }
+    if(pair)
+     if(fPairCut->Pass(pair)) //so try reverse combination
+       { 
+        return 0x0;//it is BAD as well - so return
+       }
    }
   return pair; 
 }
    }
   return pair; 
 }
@@ -64,6 +65,7 @@ class AliHBTOnePairFctn: public AliHBTFunction
 {
   public:
     AliHBTOnePairFctn(){}
 {
   public:
     AliHBTOnePairFctn(){}
+    AliHBTOnePairFctn(const Char_t *name, const Char_t *title):AliHBTFunction(name,title){}
     virtual ~AliHBTOnePairFctn(){}
     
     virtual void ProcessSameEventParticles(AliHBTPair* pair) = 0;
     virtual ~AliHBTOnePairFctn(){}
     
     virtual void ProcessSameEventParticles(AliHBTPair* pair) = 0;
@@ -83,6 +85,7 @@ class AliHBTTwoPairFctn: public AliHBTFunction
 {
   public:
     AliHBTTwoPairFctn(){};
 {
   public:
     AliHBTTwoPairFctn(){};
+    AliHBTTwoPairFctn(const Char_t *name, const Char_t *title):AliHBTFunction(name,title){}
     virtual ~AliHBTTwoPairFctn(){};
     
     virtual void 
     virtual ~AliHBTTwoPairFctn(){};
     
     virtual void 
@@ -104,7 +107,10 @@ class AliHBTTwoPairFctn: public AliHBTFunction
 class AliHBTOnePairFctn1D: public AliHBTOnePairFctn
 {
  public:
 class AliHBTOnePairFctn1D: public AliHBTOnePairFctn
 {
  public:
-  AliHBTOnePairFctn1D(Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
+  AliHBTOnePairFctn1D();
+  AliHBTOnePairFctn1D(Int_t nbins, Double_t maxXval, Double_t minXval);
+  AliHBTOnePairFctn1D(const Char_t *name, const Char_t *title,
+                      Int_t nbins = 100, Double_t maxXval = 0.15, Double_t minXval = 0.0);
   virtual ~AliHBTOnePairFctn1D();
   
   
   virtual ~AliHBTOnePairFctn1D();
   
   
@@ -114,7 +120,7 @@ class AliHBTOnePairFctn1D: public AliHBTOnePairFctn
   void ProcessSameEventParticles(AliHBTPair* pair);
   void ProcessDiffEventParticles(AliHBTPair* pair);
   Double_t Scale();  
   void ProcessSameEventParticles(AliHBTPair* pair);
   void ProcessDiffEventParticles(AliHBTPair* pair);
   Double_t Scale();  
-  void SetNumberOfBinsToScale();
+  void SetNumberOfBinsToScale(Int_t n = 30){fNBinsToScale = n;}
  protected:
   //retruns velue to be histogrammed
   virtual Double_t GetValue(AliHBTPair* pair) = 0; 
  protected:
   //retruns velue to be histogrammed
   virtual Double_t GetValue(AliHBTPair* pair) = 0; 
@@ -130,13 +136,13 @@ class AliHBTOnePairFctn1D: public AliHBTOnePairFctn
 /******************************************************************/
 /******************************************************************/
 /******************************************************************/
 /******************************************************************/
 /******************************************************************/
 /******************************************************************/
-
 class AliHBTOnePairFctn2D: public AliHBTOnePairFctn
 {
  public:
   AliHBTOnePairFctn2D(Int_t nXbins = 200, Double_t maxXval = 1.5, Double_t minXval = 0.0, 
                       Int_t nYbins = 200, Double_t maxYval = .15, Double_t minYval =-0.15);
 class AliHBTOnePairFctn2D: public AliHBTOnePairFctn
 {
  public:
   AliHBTOnePairFctn2D(Int_t nXbins = 200, Double_t maxXval = 1.5, Double_t minXval = 0.0, 
                       Int_t nYbins = 200, Double_t maxYval = .15, Double_t minYval =-0.15);
-  ~AliHBTOnePairFctn2D();
+  virtual ~AliHBTOnePairFctn2D();
   
   TH1* GetNumerator(){return fNumerator;}
   TH1* GetDenominator(){return fDenominator;}
   
   TH1* GetNumerator(){return fNumerator;}
   TH1* GetDenominator(){return fDenominator;}
@@ -186,20 +192,25 @@ class AliHBTTwoPairFctn1D: public AliHBTTwoPairFctn
   AliHBTTwoPairFctn1D(Int_t nbins = 200, Double_t maxval = 1.5, Double_t minval = 0.0);
   AliHBTTwoPairFctn1D(const char*,const char*,
                       Int_t nbins = 200, Double_t maxval = 1.5, Double_t minval = 0.0);
   AliHBTTwoPairFctn1D(Int_t nbins = 200, Double_t maxval = 1.5, Double_t minval = 0.0);
   AliHBTTwoPairFctn1D(const char*,const char*,
                       Int_t nbins = 200, Double_t maxval = 1.5, Double_t minval = 0.0);
-  ~AliHBTTwoPairFctn1D();
+  virtual ~AliHBTTwoPairFctn1D();
   
   TH1* GetNumerator(){return fNumerator;}
   TH1* GetDenominator(){return fDenominator;}
   
   void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
   void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
   
   TH1* GetNumerator(){return fNumerator;}
   TH1* GetDenominator(){return fDenominator;}
   
   void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
   void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
+  
+  Double_t Scale();  
+  void SetNumberOfBinsToScale(Int_t n = 30){fNBinsToScale = n;} 
  
  protected:
   virtual Double_t GetValue(AliHBTPair* trackpair, AliHBTPair* partpair) = 0;
 
   TH1D* fNumerator;
   TH1D* fDenominator;
  
  protected:
   virtual Double_t GetValue(AliHBTPair* trackpair, AliHBTPair* partpair) = 0;
 
   TH1D* fNumerator;
   TH1D* fDenominator;
-  
+
+  Int_t fNBinsToScale;
+
  public:
   ClassDef(AliHBTTwoPairFctn1D,1)
 };
  public:
   ClassDef(AliHBTTwoPairFctn1D,1)
 };
@@ -247,8 +258,8 @@ class AliHBTTwoPairFctn3D: public AliHBTTwoPairFctn
   TH1* GetNumerator(){return fNumerator;}
   TH1* GetDenominator(){return fDenominator;}
   
   TH1* GetNumerator(){return fNumerator;}
   TH1* GetDenominator(){return fDenominator;}
   
-  void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair){}
-  void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair){}
+  void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
+  void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
  
   
  protected:
  
   
  protected: