]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HBTAN/AliHBTPIDPurityFctns.cxx
minor correction in documentation
[u/mrichter/AliRoot.git] / HBTAN / AliHBTPIDPurityFctns.cxx
index 8a5ed957776ed62dc23adbaf3ca15a32940d1047..6cf6b00f6c0fe2520d151fc3c332b53cafec3963 100644 (file)
@@ -1,4 +1,23 @@
+/**************************************************************************
+ * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
+ *                                                                        *
+ * Author: The ALICE Off-line Project.                                    *
+ * Contributors are mentioned in the code where appropriate.              *
+ *                                                                        *
+ * Permission to use, copy, modify and distribute this software and its   *
+ * documentation strictly for non-commercial purposes is hereby granted   *
+ * without fee, provided that the above copyright notice appears in all   *
+ * copies and that both the copyright notice and this permission notice   *
+ * appear in the supporting documentation. The authors make no claims     *
+ * about the suitability of this software for any purpose. It is          *
+ * provided "as is" without express or implied warranty.                  *
+ **************************************************************************/
+
+/* $Id$ */
+
 #include "AliHBTPIDPurityFctns.h"
+#include "AliLog.h"
+
 //_______________________________________________________________________________
 /////////////////////////////////////////////////////////////////////////////////
 //
 //
 // file: AliHBTPIDPurityFctns.cxx AliHBTPIDPurityFctns.h
 //
-// Caution: On 2D plots on X axis in simulated values
-// That is contrary to two-particle resolutions where it is reconstructed one
+// Classes for calculating PID purity, efficiency and other things connected with PID
+// xxx
+// xxx
 //
 // added by Piotr.Skowronski@cern.ch
-// 
 //
 //////////////////////////////////////////////////////////////////////////////////
 
@@ -19,7 +38,6 @@
 /******************************************************************/
 /******************************************************************/
 /******************************************************************/
-AliHBTQInvCorrelFctnPerfectPID f;
 
 ClassImp(AliHBTMonPIDPurityVsPtFctn)
 
@@ -34,6 +52,19 @@ AliHBTMonPIDPurityVsPtFctn::AliHBTMonPIDPurityVsPtFctn(Int_t nbins, Double_t max
 }
 /******************************************************************/
 
+AliHBTMonPIDPurityVsPtFctn::AliHBTMonPIDPurityVsPtFctn(const AliHBTMonPIDPurityVsPtFctn& /*in*/):
+ AliHBTMonTwoParticleFctn1D(),
+ AliHBTCorrelFunction(),
+ fGood(0x0),
+ fAll(0x0)
+{
+  //cpy constructor
+  Error("AliHBTMonPIDPurityVsPtFctn(const AliHBTMonPIDPurityVsPtFctn&",
+        "Functions can not be copied because of histogram names clashes");
+}
+
+/******************************************************************/
+
 AliHBTMonPIDPurityVsPtFctn::~AliHBTMonPIDPurityVsPtFctn()
 {
  //dtor
@@ -41,22 +72,34 @@ AliHBTMonPIDPurityVsPtFctn::~AliHBTMonPIDPurityVsPtFctn()
   delete fAll;
 }
 /******************************************************************/
-void AliHBTMonPIDPurityVsPtFctn::Write()
+
+AliHBTMonPIDPurityVsPtFctn& AliHBTMonPIDPurityVsPtFctn::operator=
+                                   (const AliHBTMonPIDPurityVsPtFctn& /*in*/)
 {
+//assigment operator
+  Error("operator=","Functions can not be copied because of histogram names clashes");
+  return *this;
+}
+/******************************************************************/
+
+Int_t AliHBTMonPIDPurityVsPtFctn::Write(const char*,Int_t, Int_t)
+{
+//Writes a fucntion results
  AliHBTMonitorFunction::Write();
  fGood->Write();
  fAll->Write();
+ return 0;
 }
 /******************************************************************/
 
 void AliHBTMonPIDPurityVsPtFctn::Init()
 {
 //Initializes fuction
-  if (AliHBTParticle::GetDebug()>0) Info("Init","%s",GetName());
+  AliDebug(1,"Entering");
 
   if (fResult == 0x0)
    {   
-      Warning("Init","Function has NULL result histogram!");
+      AliWarning("Function has NULL result histogram!");
       return;
    }
   
@@ -86,7 +129,7 @@ void AliHBTMonPIDPurityVsPtFctn::Init()
   fAll->SetDirectory(0x0);
   fAll->Sumw2();
 
-  if (AliHBTParticle::GetDebug()>0) Info("Init","%s Done.",GetName());
+  AliDebug(1,"Done");
 }
 
 /******************************************************************/
@@ -163,7 +206,7 @@ TH1* AliHBTMonPIDPurityVsPtFctn::GetResult()
 }
 /******************************************************************/
 
-void AliHBTMonPIDPurityVsPtFctn::Process(AliHBTParticle * track,AliHBTParticle * part)
+void AliHBTMonPIDPurityVsPtFctn::Process(AliVAODParticle * track,AliVAODParticle * part)
 {
  //process the particle/track
  Double_t pt = part->Pt();
@@ -194,6 +237,20 @@ AliHBTMonPIDContaminationVsPtFctn::AliHBTMonPIDContaminationVsPtFctn(Int_t nbins
 }
 /******************************************************************/
 
+AliHBTMonPIDContaminationVsPtFctn::AliHBTMonPIDContaminationVsPtFctn
+                                          (const AliHBTMonPIDContaminationVsPtFctn& /*in*/):
+ AliHBTMonTwoParticleFctn1D(),
+ AliHBTCorrelFunction(),
+ fWrong(0x0),
+ fAll(0x0)
+{
+  //cpy constructor
+  Error("AliHBTMonPIDContaminationVsPtFctn(const AliHBTMonPIDContaminationVsPtFctn&",
+        "Functions can not be copied because of histogram names clashes");
+}
+
+/******************************************************************/
+
 AliHBTMonPIDContaminationVsPtFctn::~AliHBTMonPIDContaminationVsPtFctn()
 {
  //dtor
@@ -202,23 +259,33 @@ AliHBTMonPIDContaminationVsPtFctn::~AliHBTMonPIDContaminationVsPtFctn()
 }
 /******************************************************************/
 
-void AliHBTMonPIDContaminationVsPtFctn::Write()
+AliHBTMonPIDContaminationVsPtFctn& AliHBTMonPIDContaminationVsPtFctn::operator=
+                                           (const AliHBTMonPIDContaminationVsPtFctn& /*in*/)
+{
+//assigment operator
+  Error("operator=","Functions can not be copied because of histogram names clashes");
+  return *this;
+}
+/******************************************************************/
+
+Int_t AliHBTMonPIDContaminationVsPtFctn::Write(const char*,Int_t, Int_t)
 {
  //Writes the function results
  AliHBTMonitorFunction::Write();
  fWrong->Write();
  fAll->Write();
+ return 0;
 }
 /******************************************************************/
 
 void AliHBTMonPIDContaminationVsPtFctn::Init()
 {
 //Initializes fuction
-  if (AliHBTParticle::GetDebug()>0) Info("Init","%s",GetName());
+  AliDebug(1,"Entering");
 
   if (fResult == 0x0)
    {   
-      Warning("Init","Function has NULL result histogram!");
+      AliWarning("Function has NULL result histogram!");
       return;
    }
   
@@ -247,7 +314,7 @@ void AliHBTMonPIDContaminationVsPtFctn::Init()
   fAll->SetDirectory(0x0);
   fAll->Sumw2();
   
-  if (AliHBTParticle::GetDebug()>0) Info("Init","%s Done.",GetName());
+  AliDebug(1,"Done");
 }
 
 /******************************************************************/
@@ -323,7 +390,7 @@ TH1* AliHBTMonPIDContaminationVsPtFctn::GetResult()
 }
 /******************************************************************/
 
-void AliHBTMonPIDContaminationVsPtFctn::Process(AliHBTParticle * track, AliHBTParticle * part)
+void AliHBTMonPIDContaminationVsPtFctn::Process(AliVAODParticle * track, AliVAODParticle * part)
 {
  //process the particle/track
  Double_t pt = part->Pt();
@@ -354,12 +421,12 @@ AliHBTQInvCorrelFctnPerfectPID::AliHBTQInvCorrelFctnPerfectPID(Int_t nbins, Doub
 void AliHBTQInvCorrelFctnPerfectPID::ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair)
 {
 //Fills numerator
-  if (trackpair->Particle1()->GetPid() != partpair->Particle1()->GetPid()) return;
-  if (trackpair->Particle2()->GetPid() != partpair->Particle2()->GetPid()) return;
+  if (trackpair->Particle1()->GetPdgCode() != partpair->Particle1()->GetPdgCode()) return;
+  if (trackpair->Particle2()->GetPdgCode() != partpair->Particle2()->GetPdgCode()) return;
 
   trackpair  = CheckPair(trackpair);
   if (trackpair == 0x0) return;
-  partpair  = CheckPair(partpair);
+//  partpair  = CheckPair(partpair);
   if (partpair == 0x0) return;
 
   fNumerator->Fill(trackpair->GetQInv());
@@ -369,12 +436,12 @@ void AliHBTQInvCorrelFctnPerfectPID::ProcessSameEventParticles(AliHBTPair* track
 void AliHBTQInvCorrelFctnPerfectPID::ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair)
 {
 //Fills numerator
-  if (trackpair->Particle1()->GetPid() != partpair->Particle1()->GetPid()) return;
-  if (trackpair->Particle2()->GetPid() != partpair->Particle2()->GetPid()) return;
+  if (trackpair->Particle1()->GetPdgCode() != partpair->Particle1()->GetPdgCode()) return;
+  if (trackpair->Particle2()->GetPdgCode() != partpair->Particle2()->GetPdgCode()) return;
 
   trackpair  = CheckPair(trackpair);
   if (trackpair == 0x0) return;
-  partpair  = CheckPair(partpair);
+//  partpair  = CheckPair(partpair);
   if (partpair == 0x0) return;
 
   fDenominator->Fill(trackpair->GetQInv());
@@ -408,12 +475,12 @@ AliHBTWeightQInvCorrelFctnPerfectPID::AliHBTWeightQInvCorrelFctnPerfectPID(Int_t
 void AliHBTWeightQInvCorrelFctnPerfectPID::ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair)
 {
 //Fills numerator
-  if (trackpair->Particle1()->GetPid() != partpair->Particle1()->GetPid()) return;
-  if (trackpair->Particle2()->GetPid() != partpair->Particle2()->GetPid()) return;
+  if (trackpair->Particle1()->GetPdgCode() != partpair->Particle1()->GetPdgCode()) return;
+  if (trackpair->Particle2()->GetPdgCode() != partpair->Particle2()->GetPdgCode()) return;
 
   trackpair  = CheckPair(trackpair);
   if (trackpair == 0x0) return;
-  partpair  = CheckPair(partpair);
+//  partpair  = CheckPair(partpair);
   if (partpair == 0x0) return;
 
   fNumerator->Fill(trackpair->GetQInv(),partpair->GetWeight());
@@ -423,12 +490,12 @@ void AliHBTWeightQInvCorrelFctnPerfectPID::ProcessSameEventParticles(AliHBTPair*
 void AliHBTWeightQInvCorrelFctnPerfectPID::ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair)
 {
 //Fills numerator
-  if (trackpair->Particle1()->GetPid() != partpair->Particle1()->GetPid()) return;
-  if (trackpair->Particle2()->GetPid() != partpair->Particle2()->GetPid()) return;
+  if (trackpair->Particle1()->GetPdgCode() != partpair->Particle1()->GetPdgCode()) return;
+  if (trackpair->Particle2()->GetPdgCode() != partpair->Particle2()->GetPdgCode()) return;
 
   trackpair  = CheckPair(trackpair);
   if (trackpair == 0x0) return;
-  partpair  = CheckPair(partpair);
+//  partpair  = CheckPair(partpair);
   if (partpair == 0x0) return;
   
   fDenominator->Fill(trackpair->GetQInv());
@@ -466,18 +533,26 @@ AliHBTWeightQOutSQideQLongFctnPerfectPID::AliHBTWeightQOutSQideQLongFctnPerfectP
 void AliHBTWeightQOutSQideQLongFctnPerfectPID::ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair)
 {
 //Fills numerator
-  if (trackpair->Particle1()->GetPid() != partpair->Particle1()->GetPid()) return;
-  if (trackpair->Particle2()->GetPid() != partpair->Particle2()->GetPid()) return;
+  if (trackpair->Particle1()->GetPdgCode() != partpair->Particle1()->GetPdgCode()) return;
+  if (trackpair->Particle2()->GetPdgCode() != partpair->Particle2()->GetPdgCode()) return;
 
   trackpair  = CheckPair(trackpair);
   if (trackpair == 0x0) return;
-  partpair  = CheckPair(partpair);
+//  partpair  = CheckPair(partpair);
   if (partpair == 0x0) return;
 
+
   Double_t weight = partpair->GetWeight();
-  Double_t out = TMath::Abs(trackpair->GetQOutCMSLC());
-  Double_t side = TMath::Abs(trackpair->GetQSideCMSLC());
-  Double_t lon = TMath::Abs(trackpair->GetQLongCMSLC());
+  Double_t out = trackpair->GetQOutLCMS();
+  Double_t side = trackpair->GetQSideLCMS();
+  Double_t lon = trackpair->GetQLongLCMS();
+
+  if (fAbs)
+   {
+     out = TMath::Abs(out);
+     side = TMath::Abs(side);
+     lon = TMath::Abs(lon);
+   }
   fNumerator->Fill(out,side,lon,weight);
 }
 /*************************************************************/
@@ -485,17 +560,24 @@ void AliHBTWeightQOutSQideQLongFctnPerfectPID::ProcessSameEventParticles(AliHBTP
 void AliHBTWeightQOutSQideQLongFctnPerfectPID::ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair)
 {
 //Fills numerator
-  if (trackpair->Particle1()->GetPid() != partpair->Particle1()->GetPid()) return;
-  if (trackpair->Particle2()->GetPid() != partpair->Particle2()->GetPid()) return;
+  if (trackpair->Particle1()->GetPdgCode() != partpair->Particle1()->GetPdgCode()) return;
+  if (trackpair->Particle2()->GetPdgCode() != partpair->Particle2()->GetPdgCode()) return;
 
   trackpair  = CheckPair(trackpair);
   if (trackpair == 0x0) return;
-  partpair  = CheckPair(partpair);
+//  partpair  = CheckPair(partpair);
   if (partpair == 0x0) return;
 
-  Double_t out = TMath::Abs(trackpair->GetQOutCMSLC());
-  Double_t side = TMath::Abs(trackpair->GetQSideCMSLC());
-  Double_t lon = TMath::Abs(trackpair->GetQLongCMSLC());
+  Double_t out = trackpair->GetQOutLCMS();
+  Double_t side = trackpair->GetQSideLCMS();
+  Double_t lon = trackpair->GetQLongLCMS();
+
+  if (fAbs)
+   {
+     out = TMath::Abs(out);
+     side = TMath::Abs(side);
+     lon = TMath::Abs(lon);
+   }
   fDenominator->Fill(out,side,lon);
 }
 /******************************************************************/
@@ -530,17 +612,24 @@ AliHBTQOutSQideQLongFctnPerfectPID::AliHBTQOutSQideQLongFctnPerfectPID
 void AliHBTQOutSQideQLongFctnPerfectPID::ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair)
 {
 //Fills numerator
-  if (trackpair->Particle1()->GetPid() != partpair->Particle1()->GetPid()) return;
-  if (trackpair->Particle2()->GetPid() != partpair->Particle2()->GetPid()) return;
+  if (trackpair->Particle1()->GetPdgCode() != partpair->Particle1()->GetPdgCode()) return;
+  if (trackpair->Particle2()->GetPdgCode() != partpair->Particle2()->GetPdgCode()) return;
 
   trackpair  = CheckPair(trackpair);
   if (trackpair == 0x0) return;
-  partpair  = CheckPair(partpair);
+//  partpair  = CheckPair(partpair);
   if (partpair == 0x0) return;
   
-  Double_t out = TMath::Abs(trackpair->GetQOutCMSLC());
-  Double_t side = TMath::Abs(trackpair->GetQSideCMSLC());
-  Double_t lon = TMath::Abs(trackpair->GetQLongCMSLC());
+  Double_t out = trackpair->GetQOutLCMS();
+  Double_t side = trackpair->GetQSideLCMS();
+  Double_t lon = trackpair->GetQLongLCMS();
+
+  if (fAbs)
+   {
+     out = TMath::Abs(out);
+     side = TMath::Abs(side);
+     lon = TMath::Abs(lon);
+   }
   fNumerator->Fill(out,side,lon);
 }
 /*************************************************************/
@@ -548,17 +637,24 @@ void AliHBTQOutSQideQLongFctnPerfectPID::ProcessSameEventParticles(AliHBTPair* t
 void AliHBTQOutSQideQLongFctnPerfectPID::ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair)
 {
 //Fills numerator
-  if (trackpair->Particle1()->GetPid() != partpair->Particle1()->GetPid()) return;
-  if (trackpair->Particle2()->GetPid() != partpair->Particle2()->GetPid()) return;
+  if (trackpair->Particle1()->GetPdgCode() != partpair->Particle1()->GetPdgCode()) return;
+  if (trackpair->Particle2()->GetPdgCode() != partpair->Particle2()->GetPdgCode()) return;
 
   trackpair  = CheckPair(trackpair);
   if (trackpair == 0x0) return;
-  partpair  = CheckPair(partpair);
+//  partpair  = CheckPair(partpair);
   if (partpair == 0x0) return;
   
-  Double_t out = TMath::Abs(trackpair->GetQOutCMSLC());
-  Double_t side = TMath::Abs(trackpair->GetQSideCMSLC());
-  Double_t lon = TMath::Abs(trackpair->GetQLongCMSLC());
+  Double_t out = trackpair->GetQOutLCMS();
+  Double_t side = trackpair->GetQSideLCMS();
+  Double_t lon = trackpair->GetQLongLCMS();
+
+  if (fAbs)
+   {
+     out = TMath::Abs(out);
+     side = TMath::Abs(side);
+     lon = TMath::Abs(lon);
+   }
   fDenominator->Fill(out,side,lon);
 }
 /******************************************************************/
@@ -634,9 +730,17 @@ void AliHBTPairPIDProbVsQOutSQideQLongFctn::ProcessSameEventParticles(AliHBTPair
   pair  = CheckPair(pair);
   if (pair == 0x0) return;
   Double_t weight = pair->GetPIDProb();
-  Double_t out = TMath::Abs(pair->GetQOutCMSLC());
-  Double_t side = TMath::Abs(pair->GetQSideCMSLC());
-  Double_t lon = TMath::Abs(pair->GetQLongCMSLC());
+  Double_t out = pair->GetQOutLCMS();
+  Double_t side = pair->GetQSideLCMS();
+  Double_t lon = pair->GetQLongLCMS();
+
+  if (fAbs)
+   {
+     out = TMath::Abs(out);
+     side = TMath::Abs(side);
+     lon = TMath::Abs(lon);
+   }
+
   fNumerator->Fill(out,side,lon,weight);
 }
 /*************************************************************/
@@ -647,9 +751,17 @@ void AliHBTPairPIDProbVsQOutSQideQLongFctn::ProcessDiffEventParticles(AliHBTPair
   pair  = CheckPair(pair);
   if (pair == 0x0) return;
   Double_t weight = pair->GetPIDProb();
-  Double_t out = TMath::Abs(pair->GetQOutCMSLC());
-  Double_t side = TMath::Abs(pair->GetQSideCMSLC());
-  Double_t lon = TMath::Abs(pair->GetQLongCMSLC());
+  Double_t out = pair->GetQOutLCMS();
+  Double_t side = pair->GetQSideLCMS();
+  Double_t lon = pair->GetQLongLCMS();
+
+  if (fAbs)
+   {
+     out = TMath::Abs(out);
+     side = TMath::Abs(side);
+     lon = TMath::Abs(lon);
+   }
+  
   fDenominator->Fill(out,side,lon,weight);
 }
 /*************************************************************/
@@ -677,7 +789,7 @@ AliHBTTwoTrackEffFctnPtThetaPhiPerfectPID::AliHBTTwoTrackEffFctnPtThetaPhiPerfec
 //ctor
 //Set Axis Title
  fWriteNumAndDen = kTRUE;
- Rename("tteffptthetaphi","P_{t} \\theta \\phi Two Track Efficiency Function");
+ Rename("tteffptthetaphipfctPID","P_{t} \\theta \\phi Two Track Efficiency Function");
  if(fNumerator)
   {
    fNumerator->GetXaxis()->SetTitle("\\Delta P_{t} [GeV]");
@@ -697,12 +809,12 @@ AliHBTTwoTrackEffFctnPtThetaPhiPerfectPID::AliHBTTwoTrackEffFctnPtThetaPhiPerfec
 void AliHBTTwoTrackEffFctnPtThetaPhiPerfectPID::ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair)
 {
 //Fills numerator
-  if (trackpair->Particle1()->GetPid() != partpair->Particle1()->GetPid()) return;
-  if (trackpair->Particle2()->GetPid() != partpair->Particle2()->GetPid()) return;
+  if (trackpair->Particle1()->GetPdgCode() != partpair->Particle1()->GetPdgCode()) return;
+  if (trackpair->Particle2()->GetPdgCode() != partpair->Particle2()->GetPdgCode()) return;
 
   trackpair  = CheckPair(trackpair);
   if (trackpair == 0x0) return;
-  partpair  = CheckPair(partpair);
+//  partpair  = CheckPair(partpair);
   if (partpair == 0x0) return;
 
   Double_t x = TMath::Abs(trackpair->GetDeltaPt());
@@ -715,12 +827,12 @@ void AliHBTTwoTrackEffFctnPtThetaPhiPerfectPID::ProcessSameEventParticles(AliHBT
 void AliHBTTwoTrackEffFctnPtThetaPhiPerfectPID::ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair)
 {
 //Fills numerator
-  if (trackpair->Particle1()->GetPid() != partpair->Particle1()->GetPid()) return;
-  if (trackpair->Particle2()->GetPid() != partpair->Particle2()->GetPid()) return;
+  if (trackpair->Particle1()->GetPdgCode() != partpair->Particle1()->GetPdgCode()) return;
+  if (trackpair->Particle2()->GetPdgCode() != partpair->Particle2()->GetPdgCode()) return;
 
   trackpair  = CheckPair(trackpair);
   if (trackpair == 0x0) return;
-  partpair  = CheckPair(partpair);
+//  partpair  = CheckPair(partpair);
   if (partpair == 0x0) return;
 
   Double_t x = TMath::Abs(trackpair->GetDeltaPt());
@@ -756,7 +868,7 @@ AliHBTPairPIDProbVsPtThetaPhiFctn::AliHBTPairPIDProbVsPtThetaPhiFctn(Int_t nXbin
 {
   //ctor
   fWriteNumAndDen = kTRUE;//change default behaviour
-  Rename("qptthetaphipidpur","Pair PID Probablilty .vs. \\Delta P_{t}-\\Delta \\theta-\\Delta \\phi Fctn");
+  Rename("ptthetaphipidpur","Pair PID Probablilty .vs. \\Delta P_{t}-\\Delta \\theta-\\Delta \\phi Fctn");
   if(fNumerator)
    {
     fNumerator->GetXaxis()->SetTitle("\\Delta P_{t} [GeV]");