Retrofeed from 4-01-Release
[u/mrichter/AliRoot.git] / HBTAN / AliHBTCorrFitFctn.cxx
index 5b77f06..144c7cf 100644 (file)
@@ -11,11 +11,33 @@ ClassImp(AliHBTCorrFitFctn)
 
 /*****************************************************************/
 
-AliHBTCorrFitFctn::AliHBTCorrFitFctn(Int_t nbins, Double_t maxXval, Double_t minXval):
- AliHBTTwoPairFctn1D(nbins,maxXval,minXval),
+AliHBTCorrFitFctn::AliHBTCorrFitFctn():
+ AliHBTOnePairFctn1D(),
+ fNtuple(0x0),
+ fNPairsFitArea(0),
+ fNMaxPairsFitArea(3000000),
+ fFitRangeMax(0.05),
+ fNPairsNormArea(0),
+ fNMaxPairsNormArea(1000000),
+ fNormRangeMin(0.05),
+ fNormRangeMax(0.1)
+{
+//ctor
+ fWriteNumAndDen = kTRUE;//change default behaviour
+ Rename("wqinvcfCorrFit","Lednicky Weught Theoretical Q_{inv} Correlation Function");
+} 
+/*****************************************************************/
+
+AliHBTCorrFitFctn::AliHBTCorrFitFctn(Int_t  fit, Int_t  norm):
+ AliHBTOnePairFctn1D(100,0.1,0.0),
  fNtuple(new TNtuple("pair", "pair", "px1:py1:pz1:e1:px2:py2:pz2:e2")),
  fNPairsFitArea(0),
- fNPairsNormArea(0)
+ fNMaxPairsFitArea(fit),
+ fFitRangeMax(0.05),
+ fNPairsNormArea(0),
+ fNMaxPairsNormArea(norm),
+ fNormRangeMin(0.05),
+ fNormRangeMax(0.1)
 {
 //ctor
  fWriteNumAndDen = kTRUE;//change default behaviour
@@ -23,63 +45,64 @@ AliHBTCorrFitFctn::AliHBTCorrFitFctn(Int_t nbins, Double_t maxXval, Double_t min
 } 
 /*****************************************************************/
 
-void AliHBTCorrFitFctn::ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair)
+void AliHBTCorrFitFctn::ProcessSameEventParticles(AliHBTPair* /*trackpair*/)
 {
  //Fills the numerator using pair from the same event
 //   partpair = CheckPair(partpair);
-   if(partpair == 0x0) return; 
-   trackpair = CheckPair(trackpair);
-   if(trackpair == 0x0) return; 
-   
-   Double_t q = trackpair->GetQInv();
-   
-   Double_t weight = partpair->GetWeight();
-   fNumerator->Fill(q,weight);
-   
+   return;
 
 }
 /****************************************************************/
 
-void  AliHBTCorrFitFctn::ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair)
+void  AliHBTCorrFitFctn::ProcessDiffEventParticles(AliHBTPair* trackpair)
 {
   // Fills the denominator using mixed pairs
   trackpair = CheckPair(trackpair);
-//  partpair  = CheckPair(partpair);
-  if ( trackpair && partpair)
-   {
-     Double_t q = trackpair->GetQInv();
-
-     Bool_t fill = kFALSE;
-    
-     if ( (q < 0.15) && (fNPairsFitArea < 2.e+5))
-       {
-         fNPairsFitArea++;
-         fill = kTRUE;
-       }
+  if ( trackpair == 0x0) return;
+  
+  Double_t q = 2.* trackpair->GetKStar();
 
-     if ( (q > 0.15) && (q < 0.3) && (fNPairsFitArea < 1.e+5))
-       {
-         fNPairsNormArea++;
-         fill = kTRUE;
-       }
+  Bool_t fill = kFALSE;
 
-     if (fill)
-      {  
-        const AliVAODParticle& p1 = *(trackpair->Particle1());
-        const AliVAODParticle& p2 = *(trackpair->Particle2());
-        fNtuple->Fill(p1.Px(),p1.Py(),p1.Pz(),p1.E(),
-                      p2.Px(),p2.Py(),p2.Pz(),p2.E());
-      }
+  if ( q < fFitRangeMax )
+   {
+    if (fNPairsFitArea < fNMaxPairsFitArea)
+     {
+       fNPairsFitArea++;
+       fill = kTRUE;
+     }
+    else
+     {
+       Info("ProcessDiffEventParticles","Fit area already full");
+     } 
+   }
+   
+  if ( (q > fNormRangeMin) && (q < fNormRangeMax) )
+   { 
+    if  ( fNPairsNormArea < fNMaxPairsNormArea) 
+     {
+       fNPairsNormArea++;
+       fill = kTRUE;
+     }
+   }
+  if (fill)
+   {  
+     const AliVAODParticle& p1 = *(trackpair->Particle1());
+     const AliVAODParticle& p2 = *(trackpair->Particle2());
+     fNtuple->Fill(p1.Px(),p1.Py(),p1.Pz(),p1.E(),
+                   p2.Px(),p2.Py(),p2.Pz(),p2.E());
 
-       fDenominator->Fill(q);
+     fDenominator->Fill(q);  
    }
+
+
 }
 /*****************************************************************/
 
 TH1* AliHBTCorrFitFctn::GetResult()
 {
-//returns ratio of numerator and denominator
- return GetRatio(Scale());
+//returns denominator
+ return fDenominator;
 }
 /**************************************************************/