//
// 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
-//
//
//////////////////////////////////////////////////////////////////////////////////
/******************************************************************/
/******************************************************************/
/******************************************************************/
-AliHBTQInvCorrelFctnPerfectPID f;
ClassImp(AliHBTMonPIDPurityVsPtFctn)
}
/******************************************************************/
+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
delete fAll;
}
/******************************************************************/
+
+AliHBTMonPIDPurityVsPtFctn& AliHBTMonPIDPurityVsPtFctn::operator=
+ (const AliHBTMonPIDPurityVsPtFctn& /*in*/)
+{
+//assigment operator
+ Error("operator=","Functions can not be copied because of histogram names clashes");
+ return *this;
+}
+/******************************************************************/
+
void AliHBTMonPIDPurityVsPtFctn::Write()
{
+//Writes a fucntion results
AliHBTMonitorFunction::Write();
fGood->Write();
fAll->Write();
void AliHBTMonPIDPurityVsPtFctn::Init()
{
//Initializes fuction
- if (AliHBTParticle::GetDebug()>0) Info("Init","%s",GetName());
+ if (AliVAODParticle::GetDebug()>0) Info("Init","%s",GetName());
if (fResult == 0x0)
{
fAll->SetDirectory(0x0);
fAll->Sumw2();
- if (AliHBTParticle::GetDebug()>0) Info("Init","%s Done.",GetName());
+ if (AliVAODParticle::GetDebug()>0) Info("Init","%s Done.",GetName());
}
/******************************************************************/
}
/******************************************************************/
-void AliHBTMonPIDPurityVsPtFctn::Process(AliHBTParticle * track,AliHBTParticle * part)
+void AliHBTMonPIDPurityVsPtFctn::Process(AliVAODParticle * track,AliVAODParticle * part)
{
//process the particle/track
Double_t pt = part->Pt();
}
/******************************************************************/
+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
}
/******************************************************************/
+AliHBTMonPIDContaminationVsPtFctn& AliHBTMonPIDContaminationVsPtFctn::operator=
+ (const AliHBTMonPIDContaminationVsPtFctn& /*in*/)
+{
+//assigment operator
+ Error("operator=","Functions can not be copied because of histogram names clashes");
+ return *this;
+}
+/******************************************************************/
+
void AliHBTMonPIDContaminationVsPtFctn::Write()
{
//Writes the function results
void AliHBTMonPIDContaminationVsPtFctn::Init()
{
//Initializes fuction
- if (AliHBTParticle::GetDebug()>0) Info("Init","%s",GetName());
+ if (AliVAODParticle::GetDebug()>0) Info("Init","%s",GetName());
if (fResult == 0x0)
{
fAll->SetDirectory(0x0);
fAll->Sumw2();
- if (AliHBTParticle::GetDebug()>0) Info("Init","%s Done.",GetName());
+ if (AliVAODParticle::GetDebug()>0) Info("Init","%s Done.",GetName());
}
/******************************************************************/
}
/******************************************************************/
-void AliHBTMonPIDContaminationVsPtFctn::Process(AliHBTParticle * track, AliHBTParticle * part)
+void AliHBTMonPIDContaminationVsPtFctn::Process(AliVAODParticle * track, AliVAODParticle * part)
{
//process the particle/track
Double_t pt = part->Pt();
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());
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());
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());
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());
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 = TMath::Abs(trackpair->GetQOutLCMS());
+ Double_t side = TMath::Abs(trackpair->GetQSideLCMS());
+ Double_t lon = TMath::Abs(trackpair->GetQLongLCMS());
fNumerator->Fill(out,side,lon,weight);
}
/*************************************************************/
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 = TMath::Abs(trackpair->GetQOutLCMS());
+ Double_t side = TMath::Abs(trackpair->GetQSideLCMS());
+ Double_t lon = TMath::Abs(trackpair->GetQLongLCMS());
fDenominator->Fill(out,side,lon);
}
/******************************************************************/
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 = TMath::Abs(trackpair->GetQOutLCMS());
+ Double_t side = TMath::Abs(trackpair->GetQSideLCMS());
+ Double_t lon = TMath::Abs(trackpair->GetQLongLCMS());
fNumerator->Fill(out,side,lon);
}
/*************************************************************/
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 = TMath::Abs(trackpair->GetQOutLCMS());
+ Double_t side = TMath::Abs(trackpair->GetQSideLCMS());
+ Double_t lon = TMath::Abs(trackpair->GetQLongLCMS());
fDenominator->Fill(out,side,lon);
}
/******************************************************************/
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 = TMath::Abs(pair->GetQOutLCMS());
+ Double_t side = TMath::Abs(pair->GetQSideLCMS());
+ Double_t lon = TMath::Abs(pair->GetQLongLCMS());
fNumerator->Fill(out,side,lon,weight);
}
/*************************************************************/
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 = TMath::Abs(pair->GetQOutLCMS());
+ Double_t side = TMath::Abs(pair->GetQSideLCMS());
+ Double_t lon = TMath::Abs(pair->GetQLongLCMS());
fDenominator->Fill(out,side,lon,weight);
}
/*************************************************************/
//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]");
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());
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());
{
//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]");