]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HBTAN/AliHBTTwoTrackEffFctn.cxx
remoe duplicate QA initialisation and do ESD QA for same detectors as RecPoint QA
[u/mrichter/AliRoot.git] / HBTAN / AliHBTTwoTrackEffFctn.cxx
index 261369e2bb114a1248685fa0a6688926476f01ff..6fd28d172448ba5b5d569bf4ea079f052d21c4ff 100644 (file)
@@ -37,31 +37,130 @@ AliHBTTwoTrackEffFctn::AliHBTTwoTrackEffFctn(Int_t nbins, Double_t maxval, Doubl
 TH1* AliHBTTwoTrackEffFctn::GetResult()
 {
 //returns ratio of numerator and denominator
- TH1* res = GetRatio(Scale());
- if(res)
+ delete fRatio;
+ fRatio = GetRatio(Scale());
+ if(fRatio)
   {
-   res->GetXaxis()->SetTitle("dP [GeV]");
-   res->GetYaxis()->SetTitle("C(dP)");
-   res->SetTitle("Double Track Resolution: dP Correlation Fctn.");
+   fRatio->GetXaxis()->SetTitle("dP [GeV]");
+   fRatio->GetYaxis()->SetTitle("C(dP)");
+   fRatio->SetTitle("Double Track Resolution: dP Correlation Fctn.");
   }
- return res;
+ return fRatio;
 }
 /******************************************************************/
 /******************************************************************/
 /******************************************************************/
-ClassImp(AliHBTTwoTrackEffFctn3D)
+ClassImp(AliHBTTwoTrackEffFctnPxPyPz)
 
-AliHBTTwoTrackEffFctn3D::AliHBTTwoTrackEffFctn3D()
+AliHBTTwoTrackEffFctnPxPyPz::AliHBTTwoTrackEffFctnPxPyPz(Int_t nXbins, Double_t maxXval, Double_t minXval,
+                                                   Int_t nYbins, Double_t maxYval, Double_t minYval,
+                                                   Int_t nZbins, Double_t maxZval, Double_t minZval):
+ AliHBTOnePairFctn3D(nXbins,maxXval,minXval,nYbins,maxYval,minYval,nZbins,maxZval,minZval)
 {
+//ctor
 //Set Axis Title
+ fWriteNumAndDen = kTRUE;
+ Rename("tteffpxpypz","P_{x} P_{y} P_{z} Two Track Efficiency Function");
+ if(fNumerator)
+  {
+   fNumerator->GetXaxis()->SetTitle("\\Delta P_{x} [GeV]");
+   fNumerator->GetYaxis()->SetTitle("\\Delta P_{y} [GeV]");
+   fNumerator->GetZaxis()->SetTitle("\\Delta P_{z} [GeV]");
+  }
+
+ if(fDenominator)
+  {
+   fDenominator->GetXaxis()->SetTitle("\\Delta P_{x} [GeV]");
+   fDenominator->GetYaxis()->SetTitle("\\Delta P_{y} [GeV]");
+   fDenominator->GetZaxis()->SetTitle("\\Delta P_{z} [GeV]");
+  }
+
 }
 /******************************************************************/
 
-void AliHBTTwoTrackEffFctn3D::GetValues(AliHBTPair* pair, Double_t& x, Double_t&y ,Double_t& z)
+void AliHBTTwoTrackEffFctnPxPyPz::GetValues(AliHBTPair* pair, Double_t& x, Double_t&y ,Double_t& z) const
 {
 //Returns values to be histogrammed
 //it does not 
  x = pair->GetDeltaPx();
  y = pair->GetDeltaPy();
  z = pair->GetDeltaPz();
+
+ if (fAbs)
+  {
+    x = TMath::Abs(x);
+    y = TMath::Abs(y);
+    z = TMath::Abs(z);
+  }
+}
+/******************************************************************/
+
+TH1* AliHBTTwoTrackEffFctnPxPyPz::GetResult()
+{
+//returns ratio of numerator and denominator
+ delete fRatio;
+ fRatio = GetRatio(Scale());
+ return fRatio;
+}
+
+/******************************************************************/
+/******************************************************************/
+/******************************************************************/
+ClassImp(AliHBTTwoTrackEffFctnPtThetaPhi)
+
+AliHBTTwoTrackEffFctnPtThetaPhi::AliHBTTwoTrackEffFctnPtThetaPhi(Int_t nXbins, Double_t maxXval, Double_t minXval,
+                                                   Int_t nYbins, Double_t maxYval, Double_t minYval,
+                                                   Int_t nZbins, Double_t maxZval, Double_t minZval):
+ AliHBTOnePairFctn3D(nXbins,maxXval,minXval,nYbins,maxYval,minYval,nZbins,maxZval,minZval)
+{
+//ctor
+//Set Axis Title
+ fWriteNumAndDen = kTRUE;
+ Rename("tteffptthetaphi","P_{t} \\theta \\phi Two Track Efficiency Function");
+ if(fNumerator)
+  {
+   fNumerator->GetXaxis()->SetTitle("\\Delta P_{t} [GeV]");
+   fNumerator->GetYaxis()->SetTitle("\\Delta \\theta [rad]");
+   fNumerator->GetZaxis()->SetTitle("\\Delta \\phi [rad]");
+  }
+
+ if(fDenominator)
+  {
+   fDenominator->GetXaxis()->SetTitle("\\Delta P_{t} [GeV]");
+   fDenominator->GetYaxis()->SetTitle("\\Delta \\theta [rad]");
+   fDenominator->GetZaxis()->SetTitle("\\Delta \\phi [rad]");
+  }
+}
+/******************************************************************/
+
+void AliHBTTwoTrackEffFctnPtThetaPhi::GetValues(AliHBTPair* pair, Double_t& x, Double_t&y ,Double_t& z) const
+{
+//Returns values to be histogrammed
+//it does not 
+ x = pair->GetDeltaPt();
+ y = pair->GetDeltaTheta();
+ z = pair->GetDeltaPhi();
+ if (fAbs)
+  {
+    x = TMath::Abs(x);
+    y = TMath::Abs(y);
+    z = TMath::Abs(z);
+  }
+}
+/******************************************************************/
+
+TH1* AliHBTTwoTrackEffFctnPtThetaPhi::GetResult()
+{
+//returns ratio of numerator and denominator
+ delete fRatio;
+ fRatio = GetRatio(Scale());
+ if(fRatio)
+  {
+   fRatio->GetXaxis()->SetTitle("\\Delta P_{t} [GeV]");
+   fRatio->GetYaxis()->SetTitle("\\Delta \\theta [rad]");
+   fRatio->GetZaxis()->SetTitle("\\Delta \\phi [rad]");
+  }
+ return fRatio;
 }