]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HBTAN/AliHBTWeightTheorFctn.cxx
Now uses the simplified interface of RawStreamTracker to loop over raw data
[u/mrichter/AliRoot.git] / HBTAN / AliHBTWeightTheorFctn.cxx
index 611914b1115502f2713faf487fb6ffbd441c68dc..e7e0e3e1a2d436099bf5b64ef78610a1aa413de3 100644 (file)
@@ -78,7 +78,7 @@ void  AliHBTWeightTheorQOutFctn::ProcessSameEventParticles(AliHBTPair* partpair)
   partpair  = CheckPair(partpair);
   if (partpair == 0x0) return;
   Double_t weight = partpair->GetWeight();
-  if(TMath::Abs(weight)<=10.) fNumerator->Fill(partpair->GetQOutCMSLC(),weight);
+  if(TMath::Abs(weight)<=10.) fNumerator->Fill(partpair->GetQOutLCMS(),weight);
 } 
 
 /**************************************************************/
@@ -112,7 +112,7 @@ void  AliHBTWeightTheorQSideFctn::ProcessSameEventParticles(AliHBTPair* partpair
   partpair  = CheckPair(partpair);
   if (partpair == 0x0) return;
   Double_t weight = partpair->GetWeight();
-  if(TMath::Abs(weight)<=10.) fNumerator->Fill(partpair->GetQSideCMSLC(),weight);
+  if(TMath::Abs(weight)<=10.) fNumerator->Fill(partpair->GetQSideLCMS(),weight);
 } 
 /**************************************************************/
 
@@ -146,7 +146,7 @@ void  AliHBTWeightTheorQLongFctn::ProcessSameEventParticles(AliHBTPair* partpair
   partpair  = CheckPair(partpair);
   if (partpair == 0x0) return;
   Double_t weight = partpair->GetWeight();
-  if(TMath::Abs(weight)<=10.) fNumerator->Fill(partpair->GetQLongCMSLC(),weight);
+  if(TMath::Abs(weight)<=10.) fNumerator->Fill(partpair->GetQLongLCMS(),weight);
 } 
 /**************************************************************/
 
@@ -162,6 +162,40 @@ TH1* AliHBTWeightTheorQLongFctn::GetResult()
 /*************************************************************/
 /*************************************************************/
 
+ClassImp(AliHBTWeightTheorQtFctn)  
+/*************************************************************/
+
+AliHBTWeightTheorQtFctn::AliHBTWeightTheorQtFctn(Int_t nbins, Double_t maxXval, Double_t minXval):
+  AliHBTOnePairFctn1D(nbins,maxXval,minXval)
+{
+  //ctor
+ fWriteNumAndDen = kTRUE;//change default behaviour
+ Rename("wqttheorcf","Q_{t} Weight Theoretical Correlation Function");
+}
+/****************************************************************/
+
+void  AliHBTWeightTheorQtFctn::ProcessSameEventParticles(AliHBTPair* partpair)
+{
+  //Processes Particles and tracks Same different even
+  partpair  = CheckPair(partpair);
+  if (partpair == 0x0) return;
+  Double_t weight = partpair->GetWeight();
+  if(TMath::Abs(weight)<=10.) fNumerator->Fill(partpair->GetQt(),weight);
+} 
+/**************************************************************/
+
+TH1* AliHBTWeightTheorQtFctn::GetResult() 
+{
+ //returns the scaled ratio
+ delete fRatio;
+ fRatio = GetRatio(Scale());
+ return fRatio;
+}                    
+
+/*************************************************************/
+/*************************************************************/
+/*************************************************************/
+
 ClassImp(AliHBTWeightTheorOSLFctn)
 
 AliHBTWeightTheorOSLFctn::AliHBTWeightTheorOSLFctn(Int_t nXbins, Double_t maxXval, Double_t minXval,
@@ -169,20 +203,53 @@ AliHBTWeightTheorOSLFctn::AliHBTWeightTheorOSLFctn(Int_t nXbins, Double_t maxXva
                                                    Int_t nZbins, Double_t maxZval, Double_t minZval):
  AliHBTOnePairFctn3D(nXbins,maxXval,minXval,nYbins,maxYval,minYval,nZbins,maxZval,minZval)
 {
+  //ctor
   fWriteNumAndDen = kTRUE;//change default behaviour
   Rename("wqosltheorcf","Q_{out}-Q_{side}-Q_{long} Weight Theoretical Correlation Fctn");
 }
+
 /*************************************************************/
 
+void AliHBTWeightTheorOSLFctn::GetValues(AliHBTPair* pair, Double_t& x, Double_t& y, Double_t& z) const
+{ 
+//returns values of a functions for a given pair of particles
+  x=pair->GetQOutLCMS(); 
+  y=pair->GetQSideLCMS(); 
+  z=pair->GetQLongLCMS();
+
+  if (fAbs)
+   {
+     x = TMath::Abs(x);
+     y = TMath::Abs(y);
+     z = TMath::Abs(z);
+   }
+  
+} 
+
 void AliHBTWeightTheorOSLFctn::ProcessSameEventParticles(AliHBTPair* partpair)
 {
 //Fills numerator
   partpair  = CheckPair(partpair);
   if (partpair == 0x0) return;
   Double_t weight = partpair->GetWeight();
-  Double_t out = TMath::Abs(partpair->GetQOutCMSLC());
-  Double_t side = TMath::Abs(partpair->GetQSideCMSLC());
-  Double_t lon = TMath::Abs(partpair->GetQLongCMSLC());
+  Double_t out, side, lon;
+  
+  GetValues(partpair, out, side, lon);
+
+/*  
+  if (out < 0.01)
+    if (side < 0.01)
+      if (lon < 0.01)
+       {
+         Info("TheorOSL Num","================================================================");
+         Info("TheorOSL Num","o:%f, s:%f, l:%f, w%f",out,side,lon,weight);
+         Info("TheorOSL Num","First");
+         partpair->Particle1()->Print();
+         Info("TheorOSL Num","Second");
+         partpair->Particle2()->Print();
+         fflush(0);
+       }
+*/ 
   fNumerator->Fill(out,side,lon,weight);
 }
 /*************************************************************/