// Origin: Panos Christakoglou | Panos.Christakoglou@cern.ch
//-----------------------------------------------------------------
#include <Riostream.h>
-#include <TFile.h>
#include <TSystem.h>
#include <TF1.h>
#include <TH2D.h>
#include <TParticle.h>
#include "AliProtonQAAnalysis.h"
+#include "AliProtonAnalysisBase.h"
#include <AliExternalTrackParam.h>
#include <AliESDEvent.h>
#include <AliStack.h>
#include <AliESDVertex.h>
#include <AliGenEventHeader.h>
+#include <AliMCEvent.h>
ClassImp(AliProtonQAAnalysis)
//____________________________________________________________________//
AliProtonQAAnalysis::AliProtonQAAnalysis() :
- TObject(), fAnalysisEtaMode(kFALSE),
+ TObject(), fProtonAnalysisBase(0),
fNBinsY(0), fMinY(0), fMaxY(0),
fNBinsPt(0), fMinPt(0), fMaxPt(0),
- fMinTPCClusters(0), fMinITSClusters(0),
- fMaxChi2PerTPCCluster(0), fMaxChi2PerITSCluster(0),
- fMaxCov11(0), fMaxCov22(0), fMaxCov33(0), fMaxCov44(0), fMaxCov55(0),
- fMaxSigmaToVertex(0), fMaxSigmaToVertexTPC(0),
- fMaxDCAXY(0), fMaxDCAXYTPC(0),
- fMaxDCAZ(0), fMaxDCAZTPC(0),
- fMaxConstrainChi2(0),
- fMinTPCClustersFlag(kFALSE), fMinITSClustersFlag(kFALSE),
- fMaxChi2PerTPCClusterFlag(kFALSE), fMaxChi2PerITSClusterFlag(kFALSE),
- fMaxCov11Flag(kFALSE), fMaxCov22Flag(kFALSE),
- fMaxCov33Flag(kFALSE), fMaxCov44Flag(kFALSE), fMaxCov55Flag(kFALSE),
- fMaxSigmaToVertexFlag(kFALSE), fMaxSigmaToVertexTPCFlag(kFALSE),
- fMaxDCAXYFlag(kFALSE), fMaxDCAXYTPCFlag(kFALSE),
- fMaxDCAZFlag(kFALSE), fMaxDCAZTPCFlag(kFALSE),
- fMaxConstrainChi2Flag(kFALSE),
- fITSRefitFlag(kFALSE), fTPCRefitFlag(kFALSE),
- fESDpidFlag(kFALSE), fTPCpidFlag(kFALSE),
- fPointOnITSLayer1Flag(0), fPointOnITSLayer2Flag(0),
- fPointOnITSLayer3Flag(0), fPointOnITSLayer4Flag(0),
- fPointOnITSLayer5Flag(0), fPointOnITSLayer6Flag(0),
fGlobalQAList(0), fQAVertexList(0), fQA2DList(0),
fQAPrimaryProtonsAcceptedList(0),
fQAPrimaryProtonsRejectedList(0),
fQAPrimaryAntiProtonsRejectedList(0),
fQASecondaryAntiProtonsAcceptedList(0),
fQASecondaryAntiProtonsRejectedList(0),
- fFunctionProbabilityFlag(kFALSE),
- fElectronFunction(0), fMuonFunction(0),
- fPionFunction(0), fKaonFunction(0), fProtonFunction(0),
- fUseTPCOnly(kFALSE), fUseHybridTPC(kFALSE),
fPDGList(0), fMCProcessesList(0),
fRunMCAnalysis(kFALSE),
fMCProcessIdFlag(kFALSE), fMCProcessId(0),
fUseCutsInEfficiency(kFALSE),
fEfficiencyList(0) {
//Default constructor
- for(Int_t i = 0; i < 5; i++) fPartFrac[i] = 0.0;
}
//____________________________________________________________________//
AliProtonQAAnalysis::~AliProtonQAAnalysis() {
//Default destructor
+ if(fProtonAnalysisBase) delete fProtonAnalysisBase;
if(fGlobalQAList) delete fGlobalQAList;
if(fQAVertexList) delete fQAVertexList;
if(fQA2DList) delete fQA2DList;
}
//____________________________________________________________________//
-Double_t AliProtonQAAnalysis::GetParticleFraction(Int_t i, Double_t p) {
- Double_t partFrac=0;
- if(fFunctionProbabilityFlag) {
- if(i == 0) partFrac = fElectronFunction->Eval(p);
- if(i == 1) partFrac = fMuonFunction->Eval(p);
- if(i == 2) partFrac = fPionFunction->Eval(p);
- if(i == 3) partFrac = fKaonFunction->Eval(p);
- if(i == 4) partFrac = fProtonFunction->Eval(p);
- }
- else partFrac = fPartFrac[i];
-
- return partFrac;
-}
-
-//____________________________________________________________________//
-Bool_t AliProtonQAAnalysis::IsInPhaseSpace(AliESDtrack* const track) {
- // Checks if the track is outside the analyzed y-Pt phase space
- Double_t gPt = 0.0, gPx = 0.0, gPy = 0.0, gPz = 0.0;
- Double_t eta = 0.0;
-
- if(fUseTPCOnly) {
- AliExternalTrackParam *tpcTrack = (AliExternalTrackParam *)track->GetTPCInnerParam();
- if(!tpcTrack) {
- gPt = 0.0; gPx = 0.0; gPy = 0.0; gPz = 0.0; eta = -10.0;
- }
- else {
- gPt = tpcTrack->Pt();
- gPx = tpcTrack->Px();
- gPy = tpcTrack->Py();
- gPz = tpcTrack->Pz();
- eta = tpcTrack->Eta();
- }
- }
- else {
- gPt = track->Pt();
- gPx = track->Px();
- gPy = track->Py();
- gPz = track->Pz();
- eta = track->Eta();
- }
-
- if((gPt < fMinPt) || (gPt > fMaxPt)) return kFALSE;
- if(fAnalysisEtaMode) {
- if((eta < fMinY) || (eta > fMaxY))
- return kFALSE;
- }
- else {
- if((Rapidity(gPx,gPy,gPz) < fMinY) || (Rapidity(gPx,gPy,gPz) > fMaxY))
- return kFALSE;
- }
-
- return kTRUE;
-}
-
-//____________________________________________________________________//
-Bool_t AliProtonQAAnalysis::IsAccepted(AliESDEvent *esd,
- const AliESDVertex *vertex,
- AliESDtrack* track) {
+void AliProtonQAAnalysis::FillQA(AliStack *const stack,
+ AliESDEvent *esd,
+ const AliESDVertex *vertex,
+ AliESDtrack* track) {
// Checks if the track is excluded from the cuts
+ Int_t nPrimaries = stack->GetNprimary();
+ Int_t label = TMath::Abs(track->GetLabel());
+
Double_t gPt = 0.0, gPx = 0.0, gPy = 0.0, gPz = 0.0;
Double_t dca[2] = {0.0,0.0}, cov[3] = {0.0,0.0,0.0}; //The impact parameters and their covariance.
-
- if((fUseTPCOnly)&&(!fUseHybridTPC)) {
+
+ if((fProtonAnalysisBase->GetAnalysisMode()==AliProtonAnalysisBase::kTPC)||(fProtonAnalysisBase->GetAnalysisMode()==AliProtonAnalysisBase::kHybrid)) {
AliExternalTrackParam *tpcTrack = (AliExternalTrackParam *)track->GetTPCInnerParam();
if(!tpcTrack) {
gPt = 0.0; gPx = 0.0; gPy = 0.0; gPz = 0.0;
100.,dca,cov);
}
}
- else if(fUseHybridTPC) {
- AliExternalTrackParam *tpcTrack = (AliExternalTrackParam *)track->GetTPCInnerParam();
- if(!tpcTrack) {
- gPt = 0.0; gPx = 0.0; gPy = 0.0; gPz = 0.0;
- dca[0] = -100.; dca[1] = -100.;
- cov[0] = -100.; cov[1] = -100.; cov[2] = -100.;
- }
- else {
- gPt = tpcTrack->Pt();
- gPx = tpcTrack->Px();
- gPy = tpcTrack->Py();
- gPz = tpcTrack->Pz();
- tpcTrack->PropagateToDCA(vertex,
- esd->GetMagneticField(),
- 100.,dca,cov);
- }
- }
else{
gPt = track->Pt();
gPx = track->Px();
esd->GetMagneticField(),
100.,dca,cov);
}
-
- Int_t fIdxInt[200];
- Int_t nClustersITS = track->GetITSclusters(fIdxInt);
- Int_t nClustersTPC = track->GetTPCclusters(fIdxInt);
-
- Float_t chi2PerClusterITS = -1;
- if (nClustersITS!=0)
- chi2PerClusterITS = track->GetITSchi2()/Float_t(nClustersITS);
- Float_t chi2PerClusterTPC = -1;
- if (nClustersTPC!=0)
- chi2PerClusterTPC = track->GetTPCchi2()/Float_t(nClustersTPC);
-
- Double_t extCov[15];
- track->GetExternalCovariance(extCov);
-
- if(fPointOnITSLayer1Flag)
- if(!track->HasPointOnITSLayer(0)) return kFALSE;
- if(fPointOnITSLayer2Flag)
- if(!track->HasPointOnITSLayer(1)) return kFALSE;
- if(fPointOnITSLayer3Flag)
- if(!track->HasPointOnITSLayer(2)) return kFALSE;
- if(fPointOnITSLayer4Flag)
- if(!track->HasPointOnITSLayer(3)) return kFALSE;
- if(fPointOnITSLayer5Flag)
- if(!track->HasPointOnITSLayer(4)) return kFALSE;
- if(fPointOnITSLayer6Flag)
- if(!track->HasPointOnITSLayer(5)) return kFALSE;
- if(fMinITSClustersFlag)
- if(nClustersITS < fMinITSClusters) return kFALSE;
- if(fMaxChi2PerITSClusterFlag)
- if(chi2PerClusterITS > fMaxChi2PerITSCluster) return kFALSE;
- if(fMinTPCClustersFlag)
- if(nClustersTPC < fMinTPCClusters) return kFALSE;
- if(fMaxChi2PerTPCClusterFlag)
- if(chi2PerClusterTPC > fMaxChi2PerTPCCluster) return kFALSE;
- if(fMaxCov11Flag)
- if(extCov[0] > fMaxCov11) return kFALSE;
- if(fMaxCov22Flag)
- if(extCov[2] > fMaxCov22) return kFALSE;
- if(fMaxCov33Flag)
- if(extCov[5] > fMaxCov33) return kFALSE;
- if(fMaxCov44Flag)
- if(extCov[9] > fMaxCov44) return kFALSE;
- if(fMaxCov55Flag)
- if(extCov[14] > fMaxCov55) return kFALSE;
- if(fMaxSigmaToVertexFlag)
- if(GetSigmaToVertex(track) > fMaxSigmaToVertex) return kFALSE;
- if(fMaxSigmaToVertexTPCFlag)
- if(GetSigmaToVertex(track) > fMaxSigmaToVertexTPC) return kFALSE;
- if(fMaxDCAXYFlag)
- if(TMath::Abs(dca[0]) > fMaxDCAXY) return kFALSE;
- if(fMaxDCAXYTPCFlag)
- if(TMath::Abs(dca[0]) > fMaxDCAXYTPC) return kFALSE;
- if(fMaxDCAZFlag)
- if(TMath::Abs(dca[1]) > fMaxDCAZ) return kFALSE;
- if(fMaxDCAZTPCFlag)
- if(TMath::Abs(dca[1]) > fMaxDCAZTPC) return kFALSE;
- if(fMaxConstrainChi2Flag) {
- if(track->GetConstrainedChi2() > 0)
- if(TMath::Log(track->GetConstrainedChi2()) > fMaxConstrainChi2) return kFALSE;
- }
- if(fITSRefitFlag)
- if ((track->GetStatus() & AliESDtrack::kITSrefit) == 0) return kFALSE;
- if(fTPCRefitFlag)
- if ((track->GetStatus() & AliESDtrack::kTPCrefit) == 0) return kFALSE;
- if(fESDpidFlag)
- if ((track->GetStatus() & AliESDtrack::kESDpid) == 0) return kFALSE;
- if(fTPCpidFlag)
- if ((track->GetStatus() & AliESDtrack::kTPCpid) == 0) return kFALSE;
-
- return kTRUE;
-}
-
-//____________________________________________________________________//
-Float_t AliProtonQAAnalysis::GetSigmaToVertex(AliESDtrack* esdTrack) const {
- // Calculates the number of sigma to the vertex.
-
- Float_t b[2];
- Float_t bRes[2];
- Float_t bCov[3];
- if((fUseTPCOnly)&&(!fUseHybridTPC))
- esdTrack->GetImpactParametersTPC(b,bCov);
- else
- esdTrack->GetImpactParameters(b,bCov);
-
- if (bCov[0]<=0 || bCov[2]<=0) {
- //AliDebug(1, "Estimated b resolution lower or equal zero!");
- bCov[0]=0; bCov[2]=0;
- }
- bRes[0] = TMath::Sqrt(bCov[0]);
- bRes[1] = TMath::Sqrt(bCov[2]);
-
- if (bRes[0] == 0 || bRes[1] ==0) return -1;
-
- Float_t d = TMath::Sqrt(TMath::Power(b[0]/bRes[0],2) + TMath::Power(b[1]/bRes[1],2));
-
- if (TMath::Exp(-d * d / 2) < 1e-10) return 1000;
-
- d = TMath::ErfInverse(1 - TMath::Exp(-d * d / 2)) * TMath::Sqrt(2);
-
- return d;
-}
-
-//____________________________________________________________________//
-Double_t AliProtonQAAnalysis::Rapidity(Double_t gPx,
- Double_t gPy,
- Double_t gPz) const {
- //returns the rapidity of the proton - to be removed
- Double_t fMass = 9.38270000000000048e-01;
-
- Double_t gP = TMath::Sqrt(TMath::Power(gPx,2) +
- TMath::Power(gPy,2) +
- TMath::Power(gPz,2));
- Double_t energy = TMath::Sqrt(gP*gP + fMass*fMass);
- Double_t y = -999;
- if(energy != gPz)
- y = 0.5*TMath::Log((energy + gPz)/(energy - gPz));
-
- return y;
-}
-
-//____________________________________________________________________//
-void AliProtonQAAnalysis::FillQA(AliStack *stack,
- AliESDEvent *esd,
- const AliESDVertex *vertex,
- AliESDtrack* track) {
- // Checks if the track is excluded from the cuts
- Int_t nPrimaries = stack->GetNprimary();
- Int_t label = TMath::Abs(track->GetLabel());
-
- Double_t Pt = 0.0, Px = 0.0, Py = 0.0, Pz = 0.0;
- Double_t dca[2] = {0.0,0.0}, cov[3] = {0.0,0.0,0.0}; //The impact parameters and their covariance.
-
- if((fUseTPCOnly)&&(!fUseHybridTPC)) {
- AliExternalTrackParam *tpcTrack = (AliExternalTrackParam *)track->GetTPCInnerParam();
- if(!tpcTrack) {
- Pt = 0.0; Px = 0.0; Py = 0.0; Pz = 0.0;
- dca[0] = -100.; dca[1] = -100.;
- cov[0] = -100.; cov[1] = -100.; cov[2] = -100.;
- }
- else {
- Pt = tpcTrack->Pt();
- Px = tpcTrack->Px();
- Py = tpcTrack->Py();
- Pz = tpcTrack->Pz();
- tpcTrack->PropagateToDCA(vertex,
- esd->GetMagneticField(),
- 100.,dca,cov);
- }
- }
- else if(fUseHybridTPC) {
- AliExternalTrackParam *tpcTrack = (AliExternalTrackParam *)track->GetTPCInnerParam();
- if(!tpcTrack) {
- Pt = 0.0; Px = 0.0; Py = 0.0; Pz = 0.0;
- dca[0] = -100.; dca[1] = -100.;
- cov[0] = -100.; cov[1] = -100.; cov[2] = -100.;
- }
- else {
- Pt = tpcTrack->Pt();
- Px = tpcTrack->Px();
- Py = tpcTrack->Py();
- Pz = tpcTrack->Pz();
- tpcTrack->PropagateToDCA(vertex,
- esd->GetMagneticField(),
- 100.,dca,cov);
- }
- }
- else{
- Pt = track->Pt();
- Px = track->Px();
- Py = track->Py();
- Pz = track->Pz();
- track->PropagateToDCA(vertex,
- esd->GetMagneticField(),
- 100.,dca,cov);
- }
Int_t fIdxInt[200];
Int_t nClustersITS = track->GetITSclusters(fIdxInt);
Double_t extCov[15];
track->GetExternalCovariance(extCov);
- //cout<<"Charge: "<<track->Charge()<<
- //" - Label/Primaries: "<<label<<"/"<<nPrimaries<<
- //" - TPC clusters: "<<nClustersTPC<<endl;
//protons
if(track->Charge() > 0) {
//Primaries
if(label <= nPrimaries) {
- if(fMinITSClustersFlag) {
- if(nClustersITS < fMinITSClusters) {
+ if(fProtonAnalysisBase->IsUsedMinITSClusters()) {
+ if(nClustersITS < fProtonAnalysisBase->GetMinITSClusters()) {
((TH1F *)(fQAPrimaryProtonsRejectedList->At(0)))->Fill(nClustersITS);
- //status = kFALSE;
}
- else if(nClustersITS >= fMinITSClusters)
+ else if(nClustersITS >= fProtonAnalysisBase->GetMinITSClusters())
((TH1F *)(fQAPrimaryProtonsAcceptedList->At(0)))->Fill(nClustersITS);
}//ITS clusters
- if(fMaxChi2PerITSClusterFlag) {
- if(chi2PerClusterITS > fMaxChi2PerITSCluster) {
+ if(fProtonAnalysisBase->IsUsedMaxChi2PerITSCluster()) {
+ if(chi2PerClusterITS > fProtonAnalysisBase->GetMaxChi2PerITSCluster()) {
((TH1F *)(fQAPrimaryProtonsRejectedList->At(1)))->Fill(chi2PerClusterITS);
- //status = kFALSE;
}
- else if(chi2PerClusterITS <= fMaxChi2PerITSCluster)
+ else if(chi2PerClusterITS <= fProtonAnalysisBase->GetMaxChi2PerITSCluster())
((TH1F *)(fQAPrimaryProtonsAcceptedList->At(1)))->Fill(chi2PerClusterITS);
}//chi2 per ITS cluster
- if(fMinTPCClustersFlag) {
- if(nClustersTPC < fMinTPCClusters) {
- //cout<<"Primary proton rejected"<<endl;
+ if(fProtonAnalysisBase->IsUsedMinTPCClusters()) {
+ if(nClustersTPC < fProtonAnalysisBase->GetMinTPCClusters()) {
((TH1F *)(fQAPrimaryProtonsRejectedList->At(2)))->Fill(nClustersTPC);
- //status = kFALSE;
}
- else if(nClustersTPC >= fMinTPCClusters) {
- //cout<<"Primary proton accepted"<<endl;
+ else if(nClustersTPC >= fProtonAnalysisBase->GetMinTPCClusters()) {
((TH1F *)(fQAPrimaryProtonsAcceptedList->At(2)))->Fill(nClustersTPC);
}
}//TPC clusters
- if(fMaxChi2PerTPCClusterFlag) {
- if(chi2PerClusterTPC > fMaxChi2PerTPCCluster) {
+ if(fProtonAnalysisBase->IsUsedMaxChi2PerTPCCluster()) {
+ if(chi2PerClusterTPC > fProtonAnalysisBase->GetMaxChi2PerTPCCluster()) {
((TH1F *)(fQAPrimaryProtonsRejectedList->At(3)))->Fill(chi2PerClusterTPC);
- //status = kFALSE;
}
- else if(chi2PerClusterTPC <= fMaxChi2PerTPCCluster)
+ else if(chi2PerClusterTPC <= fProtonAnalysisBase->GetMaxChi2PerTPCCluster())
((TH1F *)(fQAPrimaryProtonsAcceptedList->At(3)))->Fill(chi2PerClusterTPC);
}//chi2 per TPC cluster
- if(fMaxCov11Flag) {
- if(extCov[0] > fMaxCov11) {
+ if(fProtonAnalysisBase->IsUsedMaxCov11()) {
+ if(extCov[0] > fProtonAnalysisBase->GetMaxCov11()) {
((TH1F *)(fQAPrimaryProtonsRejectedList->At(4)))->Fill(extCov[0]);
- //status = kFALSE;
}
- else if(extCov[0] <= fMaxCov11)
+ else if(extCov[0] <= fProtonAnalysisBase->GetMaxCov11())
((TH1F *)(fQAPrimaryProtonsAcceptedList->At(4)))->Fill(extCov[0]);
}//cov11
- if(fMaxCov22Flag) {
- if(extCov[2] > fMaxCov22) {
+ if(fProtonAnalysisBase->IsUsedMaxCov22()) {
+ if(extCov[2] > fProtonAnalysisBase->GetMaxCov22()) {
((TH1F *)(fQAPrimaryProtonsRejectedList->At(5)))->Fill(extCov[2]);
- //status = kFALSE;
}
- else if(extCov[2] <= fMaxCov22)
+ else if(extCov[2] <= fProtonAnalysisBase->GetMaxCov22())
((TH1F *)(fQAPrimaryProtonsAcceptedList->At(5)))->Fill(extCov[2]);
}//cov11
- if(fMaxCov33Flag) {
- if(extCov[5] > fMaxCov33) {
+ if(fProtonAnalysisBase->IsUsedMaxCov33()) {
+ if(extCov[5] > fProtonAnalysisBase->GetMaxCov33()) {
((TH1F *)(fQAPrimaryProtonsRejectedList->At(6)))->Fill(extCov[5]);
- //status = kFALSE;
}
- else if(extCov[5] <= fMaxCov33)
+ else if(extCov[5] <= fProtonAnalysisBase->GetMaxCov33())
((TH1F *)(fQAPrimaryProtonsAcceptedList->At(6)))->Fill(extCov[5]);
}//cov11
- if(fMaxCov44Flag) {
- if(extCov[9] > fMaxCov44) {
+ if(fProtonAnalysisBase->IsUsedMaxCov44()) {
+ if(extCov[9] > fProtonAnalysisBase->GetMaxCov44()) {
((TH1F *)(fQAPrimaryProtonsRejectedList->At(7)))->Fill(extCov[9]);
- //status = kFALSE;
}
- else if(extCov[9] <= fMaxCov44)
+ else if(extCov[9] <= fProtonAnalysisBase->GetMaxCov44())
((TH1F *)(fQAPrimaryProtonsAcceptedList->At(7)))->Fill(extCov[9]);
}//cov11
- if(fMaxCov55Flag) {
- if(extCov[14] > fMaxCov55) {
+ if(fProtonAnalysisBase->IsUsedMaxCov55()) {
+ if(extCov[14] > fProtonAnalysisBase->GetMaxCov55()) {
((TH1F *)(fQAPrimaryProtonsRejectedList->At(8)))->Fill(extCov[14]);
- //status = kFALSE;
}
- else if(extCov[14] <= fMaxCov55)
+ else if(extCov[14] <= fProtonAnalysisBase->GetMaxCov55())
((TH1F *)(fQAPrimaryProtonsAcceptedList->At(8)))->Fill(extCov[14]);
}//cov55
- if(fMaxSigmaToVertexFlag) {
- if(GetSigmaToVertex(track) > fMaxSigmaToVertex) {
- ((TH1F *)(fQAPrimaryProtonsRejectedList->At(9)))->Fill(GetSigmaToVertex(track));
- //status = kFALSE;
+ if(fProtonAnalysisBase->IsUsedMaxSigmaToVertex()) {
+ if(fProtonAnalysisBase->GetSigmaToVertex(track) > fProtonAnalysisBase->GetMaxSigmaToVertex()) {
+ ((TH1F *)(fQAPrimaryProtonsRejectedList->At(9)))->Fill(fProtonAnalysisBase->GetSigmaToVertex(track));
}
- else if(GetSigmaToVertex(track) <= fMaxSigmaToVertex)
- ((TH1F *)(fQAPrimaryProtonsAcceptedList->At(9)))->Fill(GetSigmaToVertex(track));
+ else if(fProtonAnalysisBase->GetSigmaToVertex(track) <= fProtonAnalysisBase->GetMaxSigmaToVertex())
+ ((TH1F *)(fQAPrimaryProtonsAcceptedList->At(9)))->Fill(fProtonAnalysisBase->GetSigmaToVertex(track));
}//sigma to vertex
- if(fMaxSigmaToVertexTPCFlag) {
- if(GetSigmaToVertex(track) > fMaxSigmaToVertexTPC) {
- ((TH1F *)(fQAPrimaryProtonsRejectedList->At(10)))->Fill(GetSigmaToVertex(track));
- //status = kFALSE;
+ if(fProtonAnalysisBase->IsUsedMaxSigmaToVertexTPC()) {
+ if(fProtonAnalysisBase->GetSigmaToVertex(track) > fProtonAnalysisBase->GetMaxSigmaToVertexTPC()) {
+ ((TH1F *)(fQAPrimaryProtonsRejectedList->At(10)))->Fill(fProtonAnalysisBase->GetSigmaToVertex(track));
}
- else if(GetSigmaToVertex(track) <= fMaxSigmaToVertexTPC)
- ((TH1F *)(fQAPrimaryProtonsAcceptedList->At(10)))->Fill(GetSigmaToVertex(track));
+ else if(fProtonAnalysisBase->GetSigmaToVertex(track) <= fProtonAnalysisBase->GetMaxSigmaToVertexTPC())
+ ((TH1F *)(fQAPrimaryProtonsAcceptedList->At(10)))->Fill(fProtonAnalysisBase->GetSigmaToVertex(track));
}//sigma to vertex TPC
- if(fMaxDCAXYFlag) {
- if(TMath::Abs(dca[0]) > fMaxDCAXY) {
+ if(fProtonAnalysisBase->IsUsedMaxDCAXY()) {
+ if(TMath::Abs(dca[0]) > fProtonAnalysisBase->GetMaxDCAXY()) {
((TH1F *)(fQAPrimaryProtonsRejectedList->At(11)))->Fill(TMath::Abs(dca[0]));
- //status = kFALSE;
}
- else if(TMath::Abs(dca[0]) <= fMaxDCAXY)
+ else if(TMath::Abs(dca[0]) <= fProtonAnalysisBase->GetMaxDCAXY())
((TH1F *)(fQAPrimaryProtonsAcceptedList->At(11)))->Fill(TMath::Abs(dca[0]));
}//DCA xy global tracking
- if(fMaxDCAXYTPCFlag) {
- if(TMath::Abs(dca[0]) > fMaxDCAXYTPC) {
+ if(fProtonAnalysisBase->IsUsedMaxDCAXYTPC()) {
+ if(TMath::Abs(dca[0]) > fProtonAnalysisBase->GetMaxDCAXYTPC()) {
((TH1F *)(fQAPrimaryProtonsRejectedList->At(12)))->Fill(TMath::Abs(dca[0]));
- //status = kFALSE;
}
- else if(TMath::Abs(dca[0]) <= fMaxDCAXYTPC)
+ else if(TMath::Abs(dca[0]) <= fProtonAnalysisBase->GetMaxDCAXYTPC())
((TH1F *)(fQAPrimaryProtonsAcceptedList->At(12)))->Fill(TMath::Abs(dca[0]));
}//DCA xy TPC tracking
- if(fMaxDCAZFlag) {
- if(TMath::Abs(dca[1]) > fMaxDCAZ) {
+ if(fProtonAnalysisBase->IsUsedMaxDCAZ()) {
+ if(TMath::Abs(dca[1]) > fProtonAnalysisBase->GetMaxDCAZ()) {
((TH1F *)(fQAPrimaryProtonsRejectedList->At(13)))->Fill(TMath::Abs(dca[1]));
- //status = kFALSE;
}
- else if(TMath::Abs(dca[1]) <= fMaxDCAZ)
+ else if(TMath::Abs(dca[1]) <= fProtonAnalysisBase->GetMaxDCAZ())
((TH1F *)(fQAPrimaryProtonsAcceptedList->At(13)))->Fill(TMath::Abs(dca[1]));
}//DCA z global tracking
- if(fMaxDCAZTPCFlag) {
- if(TMath::Abs(dca[1]) > fMaxDCAZTPC) {
+ if(fProtonAnalysisBase->IsUsedMaxDCAZTPC()) {
+ if(TMath::Abs(dca[1]) > fProtonAnalysisBase->GetMaxDCAZTPC()) {
((TH1F *)(fQAPrimaryProtonsRejectedList->At(14)))->Fill(TMath::Abs(dca[1]));
- //status = kFALSE;
}
- else if(TMath::Abs(dca[1]) <= fMaxDCAZTPC)
+ else if(TMath::Abs(dca[1]) <= fProtonAnalysisBase->GetMaxDCAZTPC())
((TH1F *)(fQAPrimaryProtonsAcceptedList->At(14)))->Fill(TMath::Abs(dca[1]));
}//DCA z TPC tracking
- if(fMaxConstrainChi2Flag) {
+ if(fProtonAnalysisBase->IsUsedMaxConstrainChi2()) {
if(track->GetConstrainedChi2() > 0) {
- if(TMath::Log(track->GetConstrainedChi2()) > fMaxConstrainChi2) {
+ if(TMath::Log(track->GetConstrainedChi2()) > fProtonAnalysisBase->GetMaxConstrainChi2()) {
((TH1F *)(fQAPrimaryProtonsRejectedList->At(15)))->Fill(TMath::Log(track->GetConstrainedChi2()));
- //status = kFALSE;
}
- else if(TMath::Log(track->GetConstrainedChi2()) <= fMaxConstrainChi2)
+ else if(TMath::Log(track->GetConstrainedChi2()) <= fProtonAnalysisBase->GetMaxConstrainChi2())
((TH1F *)(fQAPrimaryProtonsAcceptedList->At(15)))->Fill(TMath::Log(track->GetConstrainedChi2()));
}
}//constrain chi2 - vertex
- if(fITSRefitFlag) {
+ if(fProtonAnalysisBase->IsUsedITSRefit()) {
if ((track->GetStatus() & AliESDtrack::kITSrefit) == 0) {
((TH1F *)(fQAPrimaryProtonsRejectedList->At(16)))->Fill(0);
- //status = kFALSE;
}
else if((track->GetStatus() & AliESDtrack::kITSrefit) != 0)
((TH1F *)(fQAPrimaryProtonsAcceptedList->At(16)))->Fill(0);
}//ITS refit
- if(fTPCRefitFlag) {
+ if(fProtonAnalysisBase->IsUsedTPCRefit()) {
if ((track->GetStatus() & AliESDtrack::kTPCrefit) == 0) {
((TH1F *)(fQAPrimaryProtonsRejectedList->At(17)))->Fill(0);
- //status = kFALSE;
}
else if((track->GetStatus() & AliESDtrack::kTPCrefit) != 0)
((TH1F *)(fQAPrimaryProtonsAcceptedList->At(17)))->Fill(0);
}//TPC refit
- if(fESDpidFlag) {
+ if(fProtonAnalysisBase->IsUsedESDpid()) {
if ((track->GetStatus() & AliESDtrack::kESDpid) == 0) {
((TH1F *)(fQAPrimaryProtonsRejectedList->At(18)))->Fill(0);
- //status = kFALSE;
}
else if((track->GetStatus() & AliESDtrack::kESDpid) != 0)
((TH1F *)(fQAPrimaryProtonsAcceptedList->At(18)))->Fill(0);
}//ESD pid
- if(fTPCpidFlag) {
+ if(fProtonAnalysisBase->IsUsedTPCpid()) {
if ((track->GetStatus() & AliESDtrack::kTPCpid) == 0) {
((TH1F *)(fQAPrimaryProtonsRejectedList->At(19)))->Fill(0);
- //status = kFALSE;
}
else if((track->GetStatus() & AliESDtrack::kTPCpid) != 0)
((TH1F *)(fQAPrimaryProtonsAcceptedList->At(19)))->Fill(0);
}//TPC pid
- if(fPointOnITSLayer1Flag) {
+ if(fProtonAnalysisBase->IsUsedMinTPCdEdxPoints()) {
+ if(track->GetTPCsignalN() < fProtonAnalysisBase->GetMinTPCdEdxPoints()) {
+ ((TH1F *)(fQAPrimaryProtonsRejectedList->At(20)))->Fill(track->GetTPCsignalN());
+ }
+ if(track->GetTPCsignalN() >= fProtonAnalysisBase->GetMinTPCdEdxPoints())
+ ((TH1F *)(fQAPrimaryProtonsAcceptedList->At(20)))->Fill(track->GetTPCsignalN());
+ }//number of TPC points for the dE/dx
+ if(fProtonAnalysisBase->IsUsedPointOnITSLayer1()) {
if(!track->HasPointOnITSLayer(0)) {
- ((TH1F *)(fQAPrimaryProtonsRejectedList->At(20)))->Fill(0);
+ ((TH1F *)(fQAPrimaryProtonsRejectedList->At(21)))->Fill(0);
}
else if(track->HasPointOnITSLayer(0))
- ((TH1F *)(fQAPrimaryProtonsAcceptedList->At(20)))->Fill(0);
+ ((TH1F *)(fQAPrimaryProtonsAcceptedList->At(21)))->Fill(0);
}//point on SPD1
- if(fPointOnITSLayer2Flag) {
+ if(fProtonAnalysisBase->IsUsedPointOnITSLayer2()) {
if(!track->HasPointOnITSLayer(1)) {
- ((TH1F *)(fQAPrimaryProtonsRejectedList->At(21)))->Fill(0);
+ ((TH1F *)(fQAPrimaryProtonsRejectedList->At(22)))->Fill(0);
}
else if(track->HasPointOnITSLayer(1))
- ((TH1F *)(fQAPrimaryProtonsAcceptedList->At(21)))->Fill(0);
+ ((TH1F *)(fQAPrimaryProtonsAcceptedList->At(22)))->Fill(0);
}//point on SPD2
- if(fPointOnITSLayer3Flag) {
+ if(fProtonAnalysisBase->IsUsedPointOnITSLayer3()) {
if(!track->HasPointOnITSLayer(2)) {
- ((TH1F *)(fQAPrimaryProtonsRejectedList->At(22)))->Fill(0);
+ ((TH1F *)(fQAPrimaryProtonsRejectedList->At(23)))->Fill(0);
}
else if(track->HasPointOnITSLayer(2))
- ((TH1F *)(fQAPrimaryProtonsAcceptedList->At(22)))->Fill(0);
+ ((TH1F *)(fQAPrimaryProtonsAcceptedList->At(23)))->Fill(0);
}//point on SDD1
- if(fPointOnITSLayer4Flag) {
+ if(fProtonAnalysisBase->IsUsedPointOnITSLayer4()) {
if(!track->HasPointOnITSLayer(3)) {
- ((TH1F *)(fQAPrimaryProtonsRejectedList->At(23)))->Fill(0);
+ ((TH1F *)(fQAPrimaryProtonsRejectedList->At(24)))->Fill(0);
}
else if(track->HasPointOnITSLayer(3))
- ((TH1F *)(fQAPrimaryProtonsAcceptedList->At(23)))->Fill(0);
+ ((TH1F *)(fQAPrimaryProtonsAcceptedList->At(24)))->Fill(0);
}//point on SDD2
- if(fPointOnITSLayer5Flag) {
+ if(fProtonAnalysisBase->IsUsedPointOnITSLayer5()) {
if(!track->HasPointOnITSLayer(4)) {
- ((TH1F *)(fQAPrimaryProtonsRejectedList->At(24)))->Fill(0);
+ ((TH1F *)(fQAPrimaryProtonsRejectedList->At(25)))->Fill(0);
}
else if(track->HasPointOnITSLayer(4))
- ((TH1F *)(fQAPrimaryProtonsAcceptedList->At(24)))->Fill(0);
+ ((TH1F *)(fQAPrimaryProtonsAcceptedList->At(25)))->Fill(0);
}//point on SSD1
- if(fPointOnITSLayer6Flag) {
+ if(fProtonAnalysisBase->IsUsedPointOnITSLayer6()) {
if(!track->HasPointOnITSLayer(5)) {
- ((TH1F *)(fQAPrimaryProtonsRejectedList->At(25)))->Fill(0);
+ ((TH1F *)(fQAPrimaryProtonsRejectedList->At(26)))->Fill(0);
}
else if(track->HasPointOnITSLayer(5))
- ((TH1F *)(fQAPrimaryProtonsAcceptedList->At(25)))->Fill(0);
+ ((TH1F *)(fQAPrimaryProtonsAcceptedList->At(26)))->Fill(0);
}//point on SSD2
}//primary particle cut
//Secondaries
if(label > nPrimaries) {
- if(fMinITSClustersFlag) {
- if(nClustersITS < fMinITSClusters) {
+ if(fProtonAnalysisBase->IsUsedMinITSClusters()) {
+ if(nClustersITS < fProtonAnalysisBase->GetMinITSClusters()) {
((TH1F *)(fQASecondaryProtonsRejectedList->At(0)))->Fill(nClustersITS);
- //status = kFALSE;
}
- else if(nClustersITS >= fMinITSClusters)
+ else if(nClustersITS >= fProtonAnalysisBase->GetMinITSClusters())
((TH1F *)(fQASecondaryProtonsAcceptedList->At(0)))->Fill(nClustersITS);
}//ITS clusters
- if(fMaxChi2PerITSClusterFlag) {
- if(chi2PerClusterITS > fMaxChi2PerITSCluster) {
+ if(fProtonAnalysisBase->IsUsedMaxChi2PerITSCluster()) {
+ if(chi2PerClusterITS > fProtonAnalysisBase->GetMaxChi2PerITSCluster()) {
((TH1F *)(fQASecondaryProtonsRejectedList->At(1)))->Fill(chi2PerClusterITS);
- //status = kFALSE;
}
- else if(chi2PerClusterITS <= fMaxChi2PerITSCluster)
+ else if(chi2PerClusterITS <= fProtonAnalysisBase->GetMaxChi2PerITSCluster())
((TH1F *)(fQASecondaryProtonsAcceptedList->At(1)))->Fill(chi2PerClusterITS);
}//chi2 per ITS cluster
- if(fMinTPCClustersFlag) {
- if(nClustersTPC < fMinTPCClusters) {
+ if(fProtonAnalysisBase->IsUsedMinTPCClusters()) {
+ if(nClustersTPC < fProtonAnalysisBase->GetMinTPCClusters()) {
//cout<<"Secondary proton rejected"<<endl;
((TH1F *)(fQASecondaryProtonsRejectedList->At(2)))->Fill(nClustersTPC);
- //status = kFALSE;
}
- else if(nClustersTPC >= fMinTPCClusters) {
+ else if(nClustersTPC >= fProtonAnalysisBase->GetMinTPCClusters()) {
//cout<<"Secondary proton accepted"<<endl;
((TH1F *)(fQASecondaryProtonsAcceptedList->At(2)))->Fill(nClustersTPC);
}
}//TPC clusters
- if(fMaxChi2PerTPCClusterFlag) {
- if(chi2PerClusterTPC > fMaxChi2PerTPCCluster) {
+ if(fProtonAnalysisBase->IsUsedMaxChi2PerTPCCluster()) {
+ if(chi2PerClusterTPC > fProtonAnalysisBase->GetMaxChi2PerTPCCluster()) {
((TH1F *)(fQASecondaryProtonsRejectedList->At(3)))->Fill(chi2PerClusterTPC);
- //status = kFALSE;
}
- else if(chi2PerClusterTPC <= fMaxChi2PerTPCCluster)
+ else if(chi2PerClusterTPC <= fProtonAnalysisBase->GetMaxChi2PerTPCCluster())
((TH1F *)(fQASecondaryProtonsAcceptedList->At(3)))->Fill(chi2PerClusterTPC);
}//chi2 per TPC cluster
- if(fMaxCov11Flag) {
- if(extCov[0] > fMaxCov11) {
+ if(fProtonAnalysisBase->IsUsedMaxCov11()) {
+ if(extCov[0] > fProtonAnalysisBase->GetMaxCov11()) {
((TH1F *)(fQASecondaryProtonsRejectedList->At(4)))->Fill(extCov[0]);
- //status = kFALSE;
}
- else if(extCov[0] <= fMaxCov11)
+ else if(extCov[0] <= fProtonAnalysisBase->GetMaxCov11())
((TH1F *)(fQASecondaryProtonsAcceptedList->At(4)))->Fill(extCov[0]);
}//cov11
- if(fMaxCov22Flag) {
- if(extCov[2] > fMaxCov22) {
+ if(fProtonAnalysisBase->IsUsedMaxCov22()) {
+ if(extCov[2] > fProtonAnalysisBase->GetMaxCov22()) {
((TH1F *)(fQASecondaryProtonsRejectedList->At(5)))->Fill(extCov[2]);
- //status = kFALSE;
}
- else if(extCov[2] <= fMaxCov22)
+ else if(extCov[2] <= fProtonAnalysisBase->GetMaxCov22())
((TH1F *)(fQASecondaryProtonsAcceptedList->At(5)))->Fill(extCov[2]);
}//cov11
- if(fMaxCov33Flag) {
- if(extCov[5] > fMaxCov33) {
+ if(fProtonAnalysisBase->IsUsedMaxCov33()) {
+ if(extCov[5] > fProtonAnalysisBase->GetMaxCov33()) {
((TH1F *)(fQASecondaryProtonsRejectedList->At(6)))->Fill(extCov[5]);
- //status = kFALSE;
}
- else if(extCov[5] <= fMaxCov33)
+ else if(extCov[5] <= fProtonAnalysisBase->GetMaxCov33())
((TH1F *)(fQASecondaryProtonsAcceptedList->At(6)))->Fill(extCov[5]);
}//cov11
- if(fMaxCov44Flag) {
- if(extCov[9] > fMaxCov44) {
+ if(fProtonAnalysisBase->IsUsedMaxCov44()) {
+ if(extCov[9] > fProtonAnalysisBase->GetMaxCov44()) {
((TH1F *)(fQASecondaryProtonsRejectedList->At(7)))->Fill(extCov[9]);
- //status = kFALSE;
}
- else if(extCov[9] <= fMaxCov44)
+ else if(extCov[9] <= fProtonAnalysisBase->GetMaxCov44())
((TH1F *)(fQASecondaryProtonsAcceptedList->At(7)))->Fill(extCov[9]);
}//cov11
- if(fMaxCov55Flag) {
- if(extCov[14] > fMaxCov55) {
+ if(fProtonAnalysisBase->IsUsedMaxCov55()) {
+ if(extCov[14] > fProtonAnalysisBase->GetMaxCov55()) {
((TH1F *)(fQASecondaryProtonsRejectedList->At(8)))->Fill(extCov[14]);
- //status = kFALSE;
}
- else if(extCov[14] <= fMaxCov55)
+ else if(extCov[14] <= fProtonAnalysisBase->GetMaxCov55())
((TH1F *)(fQASecondaryProtonsAcceptedList->At(8)))->Fill(extCov[14]);
}//cov55
- if(fMaxSigmaToVertexFlag) {
- if(GetSigmaToVertex(track) > fMaxSigmaToVertex) {
- ((TH1F *)(fQASecondaryProtonsRejectedList->At(9)))->Fill(GetSigmaToVertex(track));
- //status = kFALSE;
+ if(fProtonAnalysisBase->IsUsedMaxSigmaToVertex()) {
+ if(fProtonAnalysisBase->GetSigmaToVertex(track) > fProtonAnalysisBase->GetMaxSigmaToVertex()) {
+ ((TH1F *)(fQASecondaryProtonsRejectedList->At(9)))->Fill(fProtonAnalysisBase->GetSigmaToVertex(track));
}
- else if(GetSigmaToVertex(track) <= fMaxSigmaToVertex)
- ((TH1F *)(fQASecondaryProtonsAcceptedList->At(9)))->Fill(GetSigmaToVertex(track));
+ else if(fProtonAnalysisBase->GetSigmaToVertex(track) <= fProtonAnalysisBase->GetMaxSigmaToVertex())
+ ((TH1F *)(fQASecondaryProtonsAcceptedList->At(9)))->Fill(fProtonAnalysisBase->GetSigmaToVertex(track));
}//sigma to vertex
- if(fMaxSigmaToVertexTPCFlag) {
- if(GetSigmaToVertex(track) > fMaxSigmaToVertexTPC) {
- ((TH1F *)(fQASecondaryProtonsRejectedList->At(10)))->Fill(GetSigmaToVertex(track));
- //status = kFALSE;
+ if(fProtonAnalysisBase->IsUsedMaxSigmaToVertexTPC()) {
+ if(fProtonAnalysisBase->GetSigmaToVertex(track) > fProtonAnalysisBase->GetMaxSigmaToVertexTPC()) {
+ ((TH1F *)(fQASecondaryProtonsRejectedList->At(10)))->Fill(fProtonAnalysisBase->GetSigmaToVertex(track));
}
- else if(GetSigmaToVertex(track) <= fMaxSigmaToVertexTPC)
- ((TH1F *)(fQASecondaryProtonsAcceptedList->At(10)))->Fill(GetSigmaToVertex(track));
+ else if(fProtonAnalysisBase->GetSigmaToVertex(track) <= fProtonAnalysisBase->GetMaxSigmaToVertexTPC())
+ ((TH1F *)(fQASecondaryProtonsAcceptedList->At(10)))->Fill(fProtonAnalysisBase->GetSigmaToVertex(track));
}//sigma to vertex TPC
- if(fMaxDCAXYFlag) {
- if(TMath::Abs(dca[0]) > fMaxDCAXY) {
+ if(fProtonAnalysisBase->IsUsedMaxDCAXY()) {
+ if(TMath::Abs(dca[0]) > fProtonAnalysisBase->GetMaxDCAXY()) {
((TH1F *)(fQASecondaryProtonsRejectedList->At(11)))->Fill(TMath::Abs(dca[0]));
- //status = kFALSE;
}
- else if(TMath::Abs(dca[0]) <= fMaxDCAXY)
+ else if(TMath::Abs(dca[0]) <= fProtonAnalysisBase->GetMaxDCAXY())
((TH1F *)(fQASecondaryProtonsAcceptedList->At(11)))->Fill(TMath::Abs(dca[0]));
}//DCA xy global tracking
- if(fMaxDCAXYTPCFlag) {
- if(TMath::Abs(dca[0]) > fMaxDCAXYTPC) {
+ if(fProtonAnalysisBase->IsUsedMaxDCAXYTPC()) {
+ if(TMath::Abs(dca[0]) > fProtonAnalysisBase->GetMaxDCAXYTPC()) {
((TH1F *)(fQASecondaryProtonsRejectedList->At(12)))->Fill(TMath::Abs(dca[0]));
- //status = kFALSE;
}
- else if(TMath::Abs(dca[0]) <= fMaxDCAXYTPC)
+ else if(TMath::Abs(dca[0]) <= fProtonAnalysisBase->GetMaxDCAXYTPC())
((TH1F *)(fQASecondaryProtonsAcceptedList->At(12)))->Fill(TMath::Abs(dca[0]));
}//DCA xy TPC tracking
- if(fMaxDCAZFlag) {
- if(TMath::Abs(dca[1]) > fMaxDCAZ) {
+ if(fProtonAnalysisBase->IsUsedMaxDCAZ()) {
+ if(TMath::Abs(dca[1]) > fProtonAnalysisBase->GetMaxDCAZ()) {
((TH1F *)(fQASecondaryProtonsRejectedList->At(13)))->Fill(TMath::Abs(dca[1]));
- //status = kFALSE;
}
- else if(TMath::Abs(dca[1]) <= fMaxDCAZ)
+ else if(TMath::Abs(dca[1]) <= fProtonAnalysisBase->GetMaxDCAZ())
((TH1F *)(fQASecondaryProtonsAcceptedList->At(13)))->Fill(TMath::Abs(dca[1]));
}//DCA z global tracking
- if(fMaxDCAZTPCFlag) {
- if(TMath::Abs(dca[1]) > fMaxDCAZTPC) {
+ if(fProtonAnalysisBase->IsUsedMaxDCAZTPC()) {
+ if(TMath::Abs(dca[1]) > fProtonAnalysisBase->GetMaxDCAZTPC()) {
((TH1F *)(fQASecondaryProtonsRejectedList->At(14)))->Fill(TMath::Abs(dca[1]));
- //status = kFALSE;
}
- else if(TMath::Abs(dca[1]) <= fMaxDCAZTPC)
+ else if(TMath::Abs(dca[1]) <= fProtonAnalysisBase->GetMaxDCAZTPC())
((TH1F *)(fQASecondaryProtonsAcceptedList->At(14)))->Fill(TMath::Abs(dca[1]));
}//DCA z TPC tracking
- if(fMaxConstrainChi2Flag) {
+ if(fProtonAnalysisBase->IsUsedMaxConstrainChi2()) {
if(track->GetConstrainedChi2() > 0) {
- if(TMath::Log(track->GetConstrainedChi2()) > fMaxConstrainChi2) {
+ if(TMath::Log(track->GetConstrainedChi2()) > fProtonAnalysisBase->GetMaxConstrainChi2()) {
((TH1F *)(fQASecondaryProtonsRejectedList->At(15)))->Fill(TMath::Log(track->GetConstrainedChi2()));
- //status = kFALSE;
}
- else if(TMath::Log(track->GetConstrainedChi2()) <= fMaxConstrainChi2)
+ else if(TMath::Log(track->GetConstrainedChi2()) <= fProtonAnalysisBase->GetMaxConstrainChi2())
((TH1F *)(fQASecondaryProtonsAcceptedList->At(15)))->Fill(TMath::Log(track->GetConstrainedChi2()));
}
}//constrain chi2 - vertex
- if(fITSRefitFlag) {
+ if(fProtonAnalysisBase->IsUsedITSRefit()) {
if ((track->GetStatus() & AliESDtrack::kITSrefit) == 0) {
((TH1F *)(fQASecondaryProtonsRejectedList->At(16)))->Fill(0);
- //status = kFALSE;
}
else if((track->GetStatus() & AliESDtrack::kITSrefit) != 0)
((TH1F *)(fQASecondaryProtonsAcceptedList->At(16)))->Fill(0);
}//ITS refit
- if(fTPCRefitFlag) {
+ if(fProtonAnalysisBase->IsUsedTPCRefit()) {
if ((track->GetStatus() & AliESDtrack::kTPCrefit) == 0) {
((TH1F *)(fQASecondaryProtonsRejectedList->At(17)))->Fill(0);
- //status = kFALSE;
}
else if((track->GetStatus() & AliESDtrack::kTPCrefit) != 0)
((TH1F *)(fQASecondaryProtonsAcceptedList->At(17)))->Fill(0);
}//TPC refit
- if(fESDpidFlag) {
+ if(fProtonAnalysisBase->IsUsedESDpid()) {
if ((track->GetStatus() & AliESDtrack::kESDpid) == 0) {
((TH1F *)(fQASecondaryProtonsRejectedList->At(18)))->Fill(0);
- //status = kFALSE;
}
else if((track->GetStatus() & AliESDtrack::kESDpid) != 0)
((TH1F *)(fQASecondaryProtonsAcceptedList->At(18)))->Fill(0);
}//ESD pid
- if(fTPCpidFlag) {
+ if(fProtonAnalysisBase->IsUsedTPCpid()) {
if ((track->GetStatus() & AliESDtrack::kTPCpid) == 0) {
((TH1F *)(fQASecondaryProtonsRejectedList->At(19)))->Fill(0);
- //status = kFALSE;
}
else if((track->GetStatus() & AliESDtrack::kTPCpid) != 0)
((TH1F *)(fQASecondaryProtonsAcceptedList->At(19)))->Fill(0);
}//TPC pid
- if(fPointOnITSLayer1Flag) {
+ if(fProtonAnalysisBase->IsUsedMinTPCdEdxPoints()) {
+ if(track->GetTPCsignalN() < fProtonAnalysisBase->GetMinTPCdEdxPoints()) {
+ ((TH1F *)(fQASecondaryProtonsRejectedList->At(20)))->Fill(track->GetTPCsignalN());
+ }
+ if(track->GetTPCsignalN() >= fProtonAnalysisBase->GetMinTPCdEdxPoints())
+ ((TH1F *)(fQASecondaryProtonsAcceptedList->At(20)))->Fill(track->GetTPCsignalN());
+ }//number of TPC points for the dE/dx
+ if(fProtonAnalysisBase->IsUsedPointOnITSLayer1()) {
if(!track->HasPointOnITSLayer(0)) {
- ((TH1F *)(fQASecondaryProtonsRejectedList->At(20)))->Fill(0);
+ ((TH1F *)(fQASecondaryProtonsRejectedList->At(21)))->Fill(0);
}
else if(track->HasPointOnITSLayer(0))
- ((TH1F *)(fQASecondaryProtonsAcceptedList->At(20)))->Fill(0);
+ ((TH1F *)(fQASecondaryProtonsAcceptedList->At(21)))->Fill(0);
}//point on SPD1
- if(fPointOnITSLayer2Flag) {
+ if(fProtonAnalysisBase->IsUsedPointOnITSLayer2()) {
if(!track->HasPointOnITSLayer(1)) {
- ((TH1F *)(fQASecondaryProtonsRejectedList->At(21)))->Fill(0);
+ ((TH1F *)(fQASecondaryProtonsRejectedList->At(22)))->Fill(0);
}
else if(track->HasPointOnITSLayer(1))
- ((TH1F *)(fQASecondaryProtonsAcceptedList->At(21)))->Fill(0);
+ ((TH1F *)(fQASecondaryProtonsAcceptedList->At(22)))->Fill(0);
}//point on SPD2
- if(fPointOnITSLayer3Flag) {
+ if(fProtonAnalysisBase->IsUsedPointOnITSLayer3()) {
if(!track->HasPointOnITSLayer(2)) {
- ((TH1F *)(fQASecondaryProtonsRejectedList->At(22)))->Fill(0);
+ ((TH1F *)(fQASecondaryProtonsRejectedList->At(23)))->Fill(0);
}
else if(track->HasPointOnITSLayer(2))
- ((TH1F *)(fQASecondaryProtonsAcceptedList->At(22)))->Fill(0);
+ ((TH1F *)(fQASecondaryProtonsAcceptedList->At(23)))->Fill(0);
}//point on SDD1
- if(fPointOnITSLayer4Flag) {
+ if(fProtonAnalysisBase->IsUsedPointOnITSLayer4()) {
if(!track->HasPointOnITSLayer(3)) {
- ((TH1F *)(fQASecondaryProtonsRejectedList->At(23)))->Fill(0);
+ ((TH1F *)(fQASecondaryProtonsRejectedList->At(24)))->Fill(0);
}
else if(track->HasPointOnITSLayer(3))
- ((TH1F *)(fQASecondaryProtonsAcceptedList->At(23)))->Fill(0);
+ ((TH1F *)(fQASecondaryProtonsAcceptedList->At(24)))->Fill(0);
}//point on SDD2
- if(fPointOnITSLayer5Flag) {
+ if(fProtonAnalysisBase->IsUsedPointOnITSLayer5()) {
if(!track->HasPointOnITSLayer(4)) {
- ((TH1F *)(fQASecondaryProtonsRejectedList->At(24)))->Fill(0);
+ ((TH1F *)(fQASecondaryProtonsRejectedList->At(25)))->Fill(0);
}
else if(track->HasPointOnITSLayer(4))
- ((TH1F *)(fQASecondaryProtonsAcceptedList->At(24)))->Fill(0);
+ ((TH1F *)(fQASecondaryProtonsAcceptedList->At(25)))->Fill(0);
}//point on SSD1
- if(fPointOnITSLayer6Flag) {
+ if(fProtonAnalysisBase->IsUsedPointOnITSLayer6()) {
if(!track->HasPointOnITSLayer(5)) {
- ((TH1F *)(fQASecondaryProtonsRejectedList->At(25)))->Fill(0);
+ ((TH1F *)(fQASecondaryProtonsRejectedList->At(26)))->Fill(0);
}
else if(track->HasPointOnITSLayer(5))
- ((TH1F *)(fQASecondaryProtonsAcceptedList->At(25)))->Fill(0);
+ ((TH1F *)(fQASecondaryProtonsAcceptedList->At(26)))->Fill(0);
}//point on SSD2
}//secondary particle cut
}//protons
if(track->Charge() < 0) {
//Primaries
if(label <= nPrimaries) {
- if(fMinITSClustersFlag) {
- if(nClustersITS < fMinITSClusters) {
+ if(fProtonAnalysisBase->IsUsedMinITSClusters()) {
+ if(nClustersITS < fProtonAnalysisBase->GetMinITSClusters()) {
((TH1F *)(fQAPrimaryAntiProtonsRejectedList->At(0)))->Fill(nClustersITS);
- //status = kFALSE;
}
- else if(nClustersITS >= fMinITSClusters)
+ else if(nClustersITS >= fProtonAnalysisBase->GetMinITSClusters())
((TH1F *)(fQAPrimaryAntiProtonsAcceptedList->At(0)))->Fill(nClustersITS);
}//ITS clusters
- if(fMaxChi2PerITSClusterFlag) {
- if(chi2PerClusterITS > fMaxChi2PerITSCluster) {
+ if(fProtonAnalysisBase->IsUsedMaxChi2PerITSCluster()) {
+ if(chi2PerClusterITS > fProtonAnalysisBase->GetMaxChi2PerITSCluster()) {
((TH1F *)(fQAPrimaryAntiProtonsRejectedList->At(1)))->Fill(chi2PerClusterITS);
- //status = kFALSE;
}
- else if(chi2PerClusterITS <= fMaxChi2PerITSCluster)
+ else if(chi2PerClusterITS <= fProtonAnalysisBase->GetMaxChi2PerITSCluster())
((TH1F *)(fQAPrimaryAntiProtonsAcceptedList->At(1)))->Fill(chi2PerClusterITS);
}//chi2 per ITS cluster
- if(fMinTPCClustersFlag) {
- if(nClustersTPC < fMinTPCClusters) {
+ if(fProtonAnalysisBase->IsUsedMinTPCClusters()) {
+ if(nClustersTPC < fProtonAnalysisBase->GetMinTPCClusters()) {
//cout<<"Primary antiproton rejected"<<endl;
((TH1F *)(fQAPrimaryAntiProtonsRejectedList->At(2)))->Fill(nClustersTPC);
- //status = kFALSE;
}
- else if(nClustersTPC >= fMinTPCClusters) {
- //cout<<"Primary antiproton accepted"<<endl;
+ else if(nClustersTPC >= fProtonAnalysisBase->GetMinTPCClusters()) {
((TH1F *)(fQAPrimaryAntiProtonsAcceptedList->At(2)))->Fill(nClustersTPC);
}
}//TPC clusters
- if(fMaxChi2PerTPCClusterFlag) {
- if(chi2PerClusterTPC > fMaxChi2PerTPCCluster) {
+ if(fProtonAnalysisBase->IsUsedMaxChi2PerTPCCluster()) {
+ if(chi2PerClusterTPC > fProtonAnalysisBase->GetMaxChi2PerTPCCluster()) {
((TH1F *)(fQAPrimaryAntiProtonsRejectedList->At(3)))->Fill(chi2PerClusterTPC);
- //status = kFALSE;
}
- else if(chi2PerClusterTPC <= fMaxChi2PerTPCCluster)
+ else if(chi2PerClusterTPC <= fProtonAnalysisBase->GetMaxChi2PerTPCCluster())
((TH1F *)(fQAPrimaryAntiProtonsAcceptedList->At(3)))->Fill(chi2PerClusterTPC);
}//chi2 per TPC cluster
- if(fMaxCov11Flag) {
- if(extCov[0] > fMaxCov11) {
+ if(fProtonAnalysisBase->IsUsedMaxCov11()) {
+ if(extCov[0] > fProtonAnalysisBase->GetMaxCov11()) {
((TH1F *)(fQAPrimaryAntiProtonsRejectedList->At(4)))->Fill(extCov[0]);
- //status = kFALSE;
}
- else if(extCov[0] <= fMaxCov11)
+ else if(extCov[0] <= fProtonAnalysisBase->GetMaxCov11())
((TH1F *)(fQAPrimaryAntiProtonsAcceptedList->At(4)))->Fill(extCov[0]);
}//cov11
- if(fMaxCov22Flag) {
- if(extCov[2] > fMaxCov22) {
+ if(fProtonAnalysisBase->IsUsedMaxCov22()) {
+ if(extCov[2] > fProtonAnalysisBase->GetMaxCov22()) {
((TH1F *)(fQAPrimaryAntiProtonsRejectedList->At(5)))->Fill(extCov[2]);
- //status = kFALSE;
}
- else if(extCov[2] <= fMaxCov22)
+ else if(extCov[2] <= fProtonAnalysisBase->GetMaxCov22())
((TH1F *)(fQAPrimaryAntiProtonsAcceptedList->At(5)))->Fill(extCov[2]);
}//cov11
- if(fMaxCov33Flag) {
- if(extCov[5] > fMaxCov33) {
+ if(fProtonAnalysisBase->IsUsedMaxCov33()) {
+ if(extCov[5] > fProtonAnalysisBase->GetMaxCov33()) {
((TH1F *)(fQAPrimaryAntiProtonsRejectedList->At(6)))->Fill(extCov[5]);
- //status = kFALSE;
}
- else if(extCov[5] <= fMaxCov33)
+ else if(extCov[5] <= fProtonAnalysisBase->GetMaxCov33())
((TH1F *)(fQAPrimaryAntiProtonsAcceptedList->At(6)))->Fill(extCov[5]);
}//cov11
- if(fMaxCov44Flag) {
- if(extCov[9] > fMaxCov44) {
+ if(fProtonAnalysisBase->IsUsedMaxCov44()) {
+ if(extCov[9] > fProtonAnalysisBase->GetMaxCov44()) {
((TH1F *)(fQAPrimaryAntiProtonsRejectedList->At(7)))->Fill(extCov[9]);
- //status = kFALSE;
}
- else if(extCov[9] <= fMaxCov44)
+ else if(extCov[9] <= fProtonAnalysisBase->GetMaxCov44())
((TH1F *)(fQAPrimaryAntiProtonsAcceptedList->At(7)))->Fill(extCov[9]);
}//cov11
- if(fMaxCov55Flag) {
- if(extCov[14] > fMaxCov55) {
+ if(fProtonAnalysisBase->IsUsedMaxCov55()) {
+ if(extCov[14] > fProtonAnalysisBase->GetMaxCov55()) {
((TH1F *)(fQAPrimaryAntiProtonsRejectedList->At(8)))->Fill(extCov[14]);
- //status = kFALSE;
}
- else if(extCov[14] <= fMaxCov55)
+ else if(extCov[14] <= fProtonAnalysisBase->GetMaxCov55())
((TH1F *)(fQAPrimaryAntiProtonsAcceptedList->At(8)))->Fill(extCov[14]);
}//cov55
- if(fMaxSigmaToVertexFlag) {
- if(GetSigmaToVertex(track) > fMaxSigmaToVertex) {
- ((TH1F *)(fQAPrimaryAntiProtonsRejectedList->At(9)))->Fill(GetSigmaToVertex(track));
- //status = kFALSE;
+ if(fProtonAnalysisBase->IsUsedMaxSigmaToVertex()) {
+ if(fProtonAnalysisBase->GetSigmaToVertex(track) > fProtonAnalysisBase->GetMaxSigmaToVertex()) {
+ ((TH1F *)(fQAPrimaryAntiProtonsRejectedList->At(9)))->Fill(fProtonAnalysisBase->GetSigmaToVertex(track));
}
- else if(GetSigmaToVertex(track) <= fMaxSigmaToVertex)
- ((TH1F *)(fQAPrimaryAntiProtonsAcceptedList->At(9)))->Fill(GetSigmaToVertex(track));
+ else if(fProtonAnalysisBase->GetSigmaToVertex(track) <= fProtonAnalysisBase->GetMaxSigmaToVertex())
+ ((TH1F *)(fQAPrimaryAntiProtonsAcceptedList->At(9)))->Fill(fProtonAnalysisBase->GetSigmaToVertex(track));
}//sigma to vertex
- if(fMaxSigmaToVertexTPCFlag) {
- if(GetSigmaToVertex(track) > fMaxSigmaToVertexTPC) {
- ((TH1F *)(fQAPrimaryAntiProtonsRejectedList->At(10)))->Fill(GetSigmaToVertex(track));
- //status = kFALSE;
+ if(fProtonAnalysisBase->IsUsedMaxSigmaToVertexTPC()) {
+ if(fProtonAnalysisBase->GetSigmaToVertex(track) > fProtonAnalysisBase->GetMaxSigmaToVertexTPC()) {
+ ((TH1F *)(fQAPrimaryAntiProtonsRejectedList->At(10)))->Fill(fProtonAnalysisBase->GetSigmaToVertex(track));
}
- else if(GetSigmaToVertex(track) <= fMaxSigmaToVertexTPC)
- ((TH1F *)(fQAPrimaryAntiProtonsAcceptedList->At(10)))->Fill(GetSigmaToVertex(track));
+ else if(fProtonAnalysisBase->GetSigmaToVertex(track) <= fProtonAnalysisBase->GetMaxSigmaToVertexTPC())
+ ((TH1F *)(fQAPrimaryAntiProtonsAcceptedList->At(10)))->Fill(fProtonAnalysisBase->GetSigmaToVertex(track));
}//sigma to vertex TPC
- if(fMaxDCAXYFlag) {
- if(TMath::Abs(dca[0]) > fMaxDCAXY) {
+ if(fProtonAnalysisBase->IsUsedMaxDCAXY()) {
+ if(TMath::Abs(dca[0]) > fProtonAnalysisBase->GetMaxDCAXY()) {
((TH1F *)(fQAPrimaryAntiProtonsRejectedList->At(11)))->Fill(TMath::Abs(dca[0]));
- //status = kFALSE;
}
- else if(TMath::Abs(dca[0]) <= fMaxDCAXY)
+ else if(TMath::Abs(dca[0]) <= fProtonAnalysisBase->GetMaxDCAXY())
((TH1F *)(fQAPrimaryAntiProtonsAcceptedList->At(11)))->Fill(TMath::Abs(dca[0]));
}//DCA xy global tracking
- if(fMaxDCAXYTPCFlag) {
- if(TMath::Abs(dca[0]) > fMaxDCAXYTPC) {
+ if(fProtonAnalysisBase->IsUsedMaxDCAXYTPC()) {
+ if(TMath::Abs(dca[0]) > fProtonAnalysisBase->GetMaxDCAXYTPC()) {
((TH1F *)(fQAPrimaryAntiProtonsRejectedList->At(12)))->Fill(TMath::Abs(dca[0]));
- //status = kFALSE;
}
- else if(TMath::Abs(dca[0]) <= fMaxDCAXYTPC)
+ else if(TMath::Abs(dca[0]) <= fProtonAnalysisBase->GetMaxDCAXYTPC())
((TH1F *)(fQAPrimaryAntiProtonsAcceptedList->At(12)))->Fill(TMath::Abs(dca[0]));
}//DCA xy TPC tracking
- if(fMaxDCAZFlag) {
- if(TMath::Abs(dca[1]) > fMaxDCAZ) {
+ if(fProtonAnalysisBase->IsUsedMaxDCAZ()) {
+ if(TMath::Abs(dca[1]) > fProtonAnalysisBase->GetMaxDCAZ()) {
((TH1F *)(fQAPrimaryAntiProtonsRejectedList->At(13)))->Fill(TMath::Abs(dca[1]));
- //status = kFALSE;
}
- else if(TMath::Abs(dca[1]) <= fMaxDCAZ)
+ else if(TMath::Abs(dca[1]) <= fProtonAnalysisBase->GetMaxDCAZ())
((TH1F *)(fQAPrimaryAntiProtonsAcceptedList->At(13)))->Fill(TMath::Abs(dca[1]));
}//DCA z global tracking
- if(fMaxDCAZTPCFlag) {
- if(TMath::Abs(dca[1]) > fMaxDCAZTPC) {
+ if(fProtonAnalysisBase->IsUsedMaxDCAZTPC()) {
+ if(TMath::Abs(dca[1]) > fProtonAnalysisBase->GetMaxDCAZTPC()) {
((TH1F *)(fQAPrimaryAntiProtonsRejectedList->At(14)))->Fill(TMath::Abs(dca[1]));
- //status = kFALSE;
}
- else if(TMath::Abs(dca[1]) <= fMaxDCAZTPC)
+ else if(TMath::Abs(dca[1]) <= fProtonAnalysisBase->GetMaxDCAZTPC())
((TH1F *)(fQAPrimaryAntiProtonsAcceptedList->At(14)))->Fill(TMath::Abs(dca[1]));
}//DCA z TPC tracking
- if(fMaxConstrainChi2Flag) {
+ if(fProtonAnalysisBase->IsUsedMaxConstrainChi2()) {
if(track->GetConstrainedChi2() > 0) {
- if(TMath::Log(track->GetConstrainedChi2()) > fMaxConstrainChi2) {
+ if(TMath::Log(track->GetConstrainedChi2()) > fProtonAnalysisBase->GetMaxConstrainChi2()) {
((TH1F *)(fQAPrimaryAntiProtonsRejectedList->At(15)))->Fill(TMath::Log(track->GetConstrainedChi2()));
- //status = kFALSE;
}
- else if(TMath::Log(track->GetConstrainedChi2()) <= fMaxConstrainChi2)
+ else if(TMath::Log(track->GetConstrainedChi2()) <= fProtonAnalysisBase->GetMaxConstrainChi2())
((TH1F *)(fQAPrimaryAntiProtonsAcceptedList->At(15)))->Fill(TMath::Log(track->GetConstrainedChi2()));
}
}//constrain chi2 - vertex
- if(fITSRefitFlag) {
+ if(fProtonAnalysisBase->IsUsedITSRefit()) {
if ((track->GetStatus() & AliESDtrack::kITSrefit) == 0) {
((TH1F *)(fQAPrimaryAntiProtonsRejectedList->At(16)))->Fill(0);
- //status = kFALSE;
}
else if((track->GetStatus() & AliESDtrack::kITSrefit) != 0)
((TH1F *)(fQAPrimaryAntiProtonsAcceptedList->At(16)))->Fill(0);
}//ITS refit
- if(fTPCRefitFlag) {
+ if(fProtonAnalysisBase->IsUsedTPCRefit()) {
if ((track->GetStatus() & AliESDtrack::kTPCrefit) == 0) {
((TH1F *)(fQAPrimaryAntiProtonsRejectedList->At(17)))->Fill(0);
- //status = kFALSE;
}
else if((track->GetStatus() & AliESDtrack::kTPCrefit) != 0)
((TH1F *)(fQAPrimaryAntiProtonsAcceptedList->At(17)))->Fill(0);
}//TPC refit
- if(fESDpidFlag) {
+ if(fProtonAnalysisBase->IsUsedESDpid()) {
if ((track->GetStatus() & AliESDtrack::kESDpid) == 0) {
((TH1F *)(fQAPrimaryAntiProtonsRejectedList->At(18)))->Fill(0);
- //status = kFALSE;
}
else if((track->GetStatus() & AliESDtrack::kESDpid) != 0)
((TH1F *)(fQAPrimaryAntiProtonsAcceptedList->At(18)))->Fill(0);
}//ESD pid
- if(fTPCpidFlag) {
+ if(fProtonAnalysisBase->IsUsedTPCpid()) {
if ((track->GetStatus() & AliESDtrack::kTPCpid) == 0) {
((TH1F *)(fQAPrimaryAntiProtonsRejectedList->At(19)))->Fill(0);
- //status = kFALSE;
}
else if((track->GetStatus() & AliESDtrack::kTPCpid) != 0)
((TH1F *)(fQAPrimaryAntiProtonsAcceptedList->At(19)))->Fill(0);
}//TPC pid
- if(fPointOnITSLayer1Flag) {
+ if(fProtonAnalysisBase->IsUsedMinTPCdEdxPoints()) {
+ if(track->GetTPCsignalN() < fProtonAnalysisBase->GetMinTPCdEdxPoints()) {
+ ((TH1F *)(fQAPrimaryAntiProtonsRejectedList->At(20)))->Fill(track->GetTPCsignalN());
+ }
+ if(track->GetTPCsignalN() >= fProtonAnalysisBase->GetMinTPCdEdxPoints())
+ ((TH1F *)(fQAPrimaryAntiProtonsAcceptedList->At(20)))->Fill(track->GetTPCsignalN());
+ }//number of TPC points for the dE/dx
+ if(fProtonAnalysisBase->IsUsedPointOnITSLayer1()) {
if(!track->HasPointOnITSLayer(0)) {
- ((TH1F *)(fQAPrimaryAntiProtonsRejectedList->At(20)))->Fill(0);
+ ((TH1F *)(fQAPrimaryAntiProtonsRejectedList->At(21)))->Fill(0);
}
else if(track->HasPointOnITSLayer(0))
- ((TH1F *)(fQAPrimaryAntiProtonsAcceptedList->At(20)))->Fill(0);
+ ((TH1F *)(fQAPrimaryAntiProtonsAcceptedList->At(21)))->Fill(0);
}//point on SPD1
- if(fPointOnITSLayer2Flag) {
+ if(fProtonAnalysisBase->IsUsedPointOnITSLayer2()) {
if(!track->HasPointOnITSLayer(1)) {
- ((TH1F *)(fQAPrimaryAntiProtonsRejectedList->At(21)))->Fill(0);
+ ((TH1F *)(fQAPrimaryAntiProtonsRejectedList->At(22)))->Fill(0);
}
else if(track->HasPointOnITSLayer(1))
- ((TH1F *)(fQAPrimaryAntiProtonsAcceptedList->At(21)))->Fill(0);
+ ((TH1F *)(fQAPrimaryAntiProtonsAcceptedList->At(22)))->Fill(0);
}//point on SPD2
- if(fPointOnITSLayer3Flag) {
+ if(fProtonAnalysisBase->IsUsedPointOnITSLayer3()) {
if(!track->HasPointOnITSLayer(2)) {
- ((TH1F *)(fQAPrimaryAntiProtonsRejectedList->At(22)))->Fill(0);
+ ((TH1F *)(fQAPrimaryAntiProtonsRejectedList->At(23)))->Fill(0);
}
else if(track->HasPointOnITSLayer(2))
- ((TH1F *)(fQAPrimaryAntiProtonsAcceptedList->At(22)))->Fill(0);
+ ((TH1F *)(fQAPrimaryAntiProtonsAcceptedList->At(23)))->Fill(0);
}//point on SDD1
- if(fPointOnITSLayer4Flag) {
+ if(fProtonAnalysisBase->IsUsedPointOnITSLayer4()) {
if(!track->HasPointOnITSLayer(3)) {
- ((TH1F *)(fQAPrimaryAntiProtonsRejectedList->At(23)))->Fill(0);
+ ((TH1F *)(fQAPrimaryAntiProtonsRejectedList->At(24)))->Fill(0);
}
else if(track->HasPointOnITSLayer(3))
- ((TH1F *)(fQAPrimaryAntiProtonsAcceptedList->At(23)))->Fill(0);
+ ((TH1F *)(fQAPrimaryAntiProtonsAcceptedList->At(24)))->Fill(0);
}//point on SDD2
- if(fPointOnITSLayer5Flag) {
+ if(fProtonAnalysisBase->IsUsedPointOnITSLayer5()) {
if(!track->HasPointOnITSLayer(4)) {
- ((TH1F *)(fQAPrimaryAntiProtonsRejectedList->At(24)))->Fill(0);
+ ((TH1F *)(fQAPrimaryAntiProtonsRejectedList->At(25)))->Fill(0);
}
else if(track->HasPointOnITSLayer(4))
- ((TH1F *)(fQAPrimaryAntiProtonsAcceptedList->At(24)))->Fill(0);
+ ((TH1F *)(fQAPrimaryAntiProtonsAcceptedList->At(25)))->Fill(0);
}//point on SSD1
- if(fPointOnITSLayer6Flag) {
+ if(fProtonAnalysisBase->IsUsedPointOnITSLayer6()) {
if(!track->HasPointOnITSLayer(5)) {
- ((TH1F *)(fQAPrimaryAntiProtonsRejectedList->At(25)))->Fill(0);
+ ((TH1F *)(fQAPrimaryAntiProtonsRejectedList->At(26)))->Fill(0);
}
else if(track->HasPointOnITSLayer(5))
- ((TH1F *)(fQAPrimaryAntiProtonsAcceptedList->At(25)))->Fill(0);
+ ((TH1F *)(fQAPrimaryAntiProtonsAcceptedList->At(26)))->Fill(0);
}//point on SSD2
}//primary particle cut
//Secondaries
if(label > nPrimaries) {
- if(fMinITSClustersFlag) {
- if(nClustersITS < fMinITSClusters) {
+ if(fProtonAnalysisBase->IsUsedMinITSClusters()) {
+ if(nClustersITS < fProtonAnalysisBase->GetMinITSClusters()) {
((TH1F *)(fQASecondaryAntiProtonsRejectedList->At(0)))->Fill(nClustersITS);
- //status = kFALSE;
}
- else if(nClustersITS >= fMinITSClusters)
+ else if(nClustersITS >= fProtonAnalysisBase->GetMinITSClusters())
((TH1F *)(fQASecondaryAntiProtonsAcceptedList->At(0)))->Fill(nClustersITS);
}//ITS clusters
- if(fMaxChi2PerITSClusterFlag) {
- if(chi2PerClusterITS > fMaxChi2PerITSCluster) {
+ if(fProtonAnalysisBase->IsUsedMaxChi2PerITSCluster()) {
+ if(chi2PerClusterITS > fProtonAnalysisBase->GetMaxChi2PerITSCluster()) {
((TH1F *)(fQASecondaryAntiProtonsRejectedList->At(1)))->Fill(chi2PerClusterITS);
- //status = kFALSE;
}
- else if(chi2PerClusterITS <= fMaxChi2PerITSCluster)
+ else if(chi2PerClusterITS <= fProtonAnalysisBase->GetMaxChi2PerITSCluster())
((TH1F *)(fQASecondaryAntiProtonsAcceptedList->At(1)))->Fill(chi2PerClusterITS);
}//chi2 per ITS cluster
- if(fMinTPCClustersFlag) {
- if(nClustersTPC < fMinTPCClusters) {
- //cout<<"Secondary antiproton rejected"<<endl;
+ if(fProtonAnalysisBase->IsUsedMinTPCClusters()) {
+ if(nClustersTPC < fProtonAnalysisBase->GetMinTPCClusters()) {
((TH1F *)(fQASecondaryAntiProtonsRejectedList->At(2)))->Fill(nClustersTPC);
- //status = kFALSE;
}
- else if(nClustersTPC >= fMinTPCClusters) {
- //cout<<"Secondary antiproton accepted"<<endl;
+ else if(nClustersTPC >= fProtonAnalysisBase->GetMinTPCClusters()) {
((TH1F *)(fQASecondaryAntiProtonsAcceptedList->At(2)))->Fill(nClustersTPC);
}
}//TPC clusters
- if(fMaxChi2PerTPCClusterFlag) {
- if(chi2PerClusterTPC > fMaxChi2PerTPCCluster) {
+ if(fProtonAnalysisBase->IsUsedMaxChi2PerTPCCluster()) {
+ if(chi2PerClusterTPC > fProtonAnalysisBase->GetMaxChi2PerTPCCluster()) {
((TH1F *)(fQASecondaryAntiProtonsRejectedList->At(3)))->Fill(chi2PerClusterTPC);
- //status = kFALSE;
}
- else if(chi2PerClusterTPC <= fMaxChi2PerTPCCluster)
+ else if(chi2PerClusterTPC <= fProtonAnalysisBase->GetMaxChi2PerTPCCluster())
((TH1F *)(fQASecondaryAntiProtonsAcceptedList->At(3)))->Fill(chi2PerClusterTPC);
}//chi2 per TPC cluster
- if(fMaxCov11Flag) {
- if(extCov[0] > fMaxCov11) {
+ if(fProtonAnalysisBase->IsUsedMaxCov11()) {
+ if(extCov[0] > fProtonAnalysisBase->GetMaxCov11()) {
((TH1F *)(fQASecondaryAntiProtonsRejectedList->At(4)))->Fill(extCov[0]);
- //status = kFALSE;
}
- else if(extCov[0] <= fMaxCov11)
+ else if(extCov[0] <= fProtonAnalysisBase->GetMaxCov11())
((TH1F *)(fQASecondaryAntiProtonsAcceptedList->At(4)))->Fill(extCov[0]);
}//cov11
- if(fMaxCov22Flag) {
- if(extCov[2] > fMaxCov22) {
+ if(fProtonAnalysisBase->IsUsedMaxCov22()) {
+ if(extCov[2] > fProtonAnalysisBase->GetMaxCov22()) {
((TH1F *)(fQASecondaryAntiProtonsRejectedList->At(5)))->Fill(extCov[2]);
- //status = kFALSE;
}
- else if(extCov[2] <= fMaxCov22)
+ else if(extCov[2] <= fProtonAnalysisBase->GetMaxCov22())
((TH1F *)(fQASecondaryAntiProtonsAcceptedList->At(5)))->Fill(extCov[2]);
}//cov11
- if(fMaxCov33Flag) {
- if(extCov[5] > fMaxCov33) {
+ if(fProtonAnalysisBase->IsUsedMaxCov33()) {
+ if(extCov[5] > fProtonAnalysisBase->GetMaxCov33()) {
((TH1F *)(fQASecondaryAntiProtonsRejectedList->At(6)))->Fill(extCov[5]);
- //status = kFALSE;
}
- else if(extCov[5] <= fMaxCov33)
+ else if(extCov[5] <= fProtonAnalysisBase->GetMaxCov33())
((TH1F *)(fQASecondaryAntiProtonsAcceptedList->At(6)))->Fill(extCov[5]);
}//cov11
- if(fMaxCov44Flag) {
- if(extCov[9] > fMaxCov44) {
+ if(fProtonAnalysisBase->IsUsedMaxCov44()) {
+ if(extCov[9] > fProtonAnalysisBase->GetMaxCov44()) {
((TH1F *)(fQASecondaryAntiProtonsRejectedList->At(7)))->Fill(extCov[9]);
- //status = kFALSE;
}
- else if(extCov[9] <= fMaxCov44)
+ else if(extCov[9] <= fProtonAnalysisBase->GetMaxCov44())
((TH1F *)(fQASecondaryAntiProtonsAcceptedList->At(7)))->Fill(extCov[9]);
}//cov11
- if(fMaxCov55Flag) {
- if(extCov[14] > fMaxCov55) {
+ if(fProtonAnalysisBase->IsUsedMaxCov55()) {
+ if(extCov[14] > fProtonAnalysisBase->GetMaxCov55()) {
((TH1F *)(fQASecondaryAntiProtonsRejectedList->At(8)))->Fill(extCov[14]);
- //status = kFALSE;
}
- else if(extCov[14] <= fMaxCov55)
+ else if(extCov[14] <= fProtonAnalysisBase->GetMaxCov55())
((TH1F *)(fQASecondaryAntiProtonsAcceptedList->At(8)))->Fill(extCov[14]);
}//cov55
- if(fMaxSigmaToVertexFlag) {
- if(GetSigmaToVertex(track) > fMaxSigmaToVertex) {
- ((TH1F *)(fQASecondaryAntiProtonsRejectedList->At(9)))->Fill(GetSigmaToVertex(track));
- //status = kFALSE;
+ if(fProtonAnalysisBase->IsUsedMaxSigmaToVertex()) {
+ if(fProtonAnalysisBase->GetSigmaToVertex(track) > fProtonAnalysisBase->GetMaxSigmaToVertex()) {
+ ((TH1F *)(fQASecondaryAntiProtonsRejectedList->At(9)))->Fill(fProtonAnalysisBase->GetSigmaToVertex(track));
}
- else if(GetSigmaToVertex(track) <= fMaxSigmaToVertex)
- ((TH1F *)(fQASecondaryAntiProtonsAcceptedList->At(9)))->Fill(GetSigmaToVertex(track));
+ else if(fProtonAnalysisBase->GetSigmaToVertex(track) <= fProtonAnalysisBase->GetMaxSigmaToVertex())
+ ((TH1F *)(fQASecondaryAntiProtonsAcceptedList->At(9)))->Fill(fProtonAnalysisBase->GetSigmaToVertex(track));
}//sigma to vertex
- if(fMaxSigmaToVertexTPCFlag) {
- if(GetSigmaToVertex(track) > fMaxSigmaToVertexTPC) {
- ((TH1F *)(fQASecondaryAntiProtonsRejectedList->At(10)))->Fill(GetSigmaToVertex(track));
- //status = kFALSE;
+ if(fProtonAnalysisBase->IsUsedMaxSigmaToVertexTPC()) {
+ if(fProtonAnalysisBase->GetSigmaToVertex(track) > fProtonAnalysisBase->GetMaxSigmaToVertexTPC()) {
+ ((TH1F *)(fQASecondaryAntiProtonsRejectedList->At(10)))->Fill(fProtonAnalysisBase->GetSigmaToVertex(track));
}
- else if(GetSigmaToVertex(track) <= fMaxSigmaToVertexTPC)
- ((TH1F *)(fQASecondaryAntiProtonsAcceptedList->At(10)))->Fill(GetSigmaToVertex(track));
+ else if(fProtonAnalysisBase->GetSigmaToVertex(track) <= fProtonAnalysisBase->GetMaxSigmaToVertexTPC())
+ ((TH1F *)(fQASecondaryAntiProtonsAcceptedList->At(10)))->Fill(fProtonAnalysisBase->GetSigmaToVertex(track));
}//sigma to vertex TPC
- if(fMaxDCAXYFlag) {
- if(TMath::Abs(dca[0]) > fMaxDCAXY) {
+ if(fProtonAnalysisBase->IsUsedMaxDCAXY()) {
+ if(TMath::Abs(dca[0]) > fProtonAnalysisBase->GetMaxDCAXY()) {
((TH1F *)(fQASecondaryAntiProtonsRejectedList->At(11)))->Fill(TMath::Abs(dca[0]));
- //status = kFALSE;
}
- else if(TMath::Abs(dca[0]) <= fMaxDCAXY)
+ else if(TMath::Abs(dca[0]) <= fProtonAnalysisBase->GetMaxDCAXY())
((TH1F *)(fQASecondaryAntiProtonsAcceptedList->At(11)))->Fill(TMath::Abs(dca[0]));
}//DCA xy global tracking
- if(fMaxDCAXYTPCFlag) {
- if(TMath::Abs(dca[0]) > fMaxDCAXYTPC) {
+ if(fProtonAnalysisBase->IsUsedMaxDCAXYTPC()) {
+ if(TMath::Abs(dca[0]) > fProtonAnalysisBase->GetMaxDCAXYTPC()) {
((TH1F *)(fQASecondaryAntiProtonsRejectedList->At(12)))->Fill(TMath::Abs(dca[0]));
- //status = kFALSE;
}
- else if(TMath::Abs(dca[0]) <= fMaxDCAXYTPC)
+ else if(TMath::Abs(dca[0]) <= fProtonAnalysisBase->GetMaxDCAXYTPC())
((TH1F *)(fQASecondaryAntiProtonsAcceptedList->At(12)))->Fill(TMath::Abs(dca[0]));
}//DCA xy TPC tracking
- if(fMaxDCAZFlag) {
- if(TMath::Abs(dca[1]) > fMaxDCAZ) {
+ if(fProtonAnalysisBase->IsUsedMaxDCAZ()) {
+ if(TMath::Abs(dca[1]) > fProtonAnalysisBase->GetMaxDCAZ()) {
((TH1F *)(fQASecondaryAntiProtonsRejectedList->At(13)))->Fill(TMath::Abs(dca[1]));
- //status = kFALSE;
}
- else if(TMath::Abs(dca[1]) <= fMaxDCAZ)
+ else if(TMath::Abs(dca[1]) <= fProtonAnalysisBase->GetMaxDCAZ())
((TH1F *)(fQASecondaryAntiProtonsAcceptedList->At(13)))->Fill(TMath::Abs(dca[1]));
}//DCA z global tracking
- if(fMaxDCAZTPCFlag) {
- if(TMath::Abs(dca[1]) > fMaxDCAZTPC) {
+ if(fProtonAnalysisBase->IsUsedMaxDCAZTPC()) {
+ if(TMath::Abs(dca[1]) > fProtonAnalysisBase->GetMaxDCAZTPC()) {
((TH1F *)(fQASecondaryAntiProtonsRejectedList->At(14)))->Fill(TMath::Abs(dca[1]));
- //status = kFALSE;
}
- else if(TMath::Abs(dca[1]) <= fMaxDCAZTPC)
+ else if(TMath::Abs(dca[1]) <= fProtonAnalysisBase->GetMaxDCAZTPC())
((TH1F *)(fQASecondaryAntiProtonsAcceptedList->At(14)))->Fill(TMath::Abs(dca[1]));
}//DCA z TPC tracking
- if(fMaxConstrainChi2Flag) {
+ if(fProtonAnalysisBase->IsUsedMaxConstrainChi2()) {
if(track->GetConstrainedChi2() > 0) {
- if(TMath::Log(track->GetConstrainedChi2()) > fMaxConstrainChi2) {
+ if(TMath::Log(track->GetConstrainedChi2()) > fProtonAnalysisBase->GetMaxConstrainChi2()) {
((TH1F *)(fQASecondaryAntiProtonsRejectedList->At(15)))->Fill(TMath::Log(track->GetConstrainedChi2()));
- //status = kFALSE;
}
- else if(TMath::Log(track->GetConstrainedChi2()) <= fMaxConstrainChi2)
+ else if(TMath::Log(track->GetConstrainedChi2()) <= fProtonAnalysisBase->GetMaxConstrainChi2())
((TH1F *)(fQASecondaryAntiProtonsAcceptedList->At(15)))->Fill(TMath::Log(track->GetConstrainedChi2()));
}
}//constrain chi2 - vertex
- if(fITSRefitFlag) {
+ if(fProtonAnalysisBase->IsUsedITSRefit()) {
if ((track->GetStatus() & AliESDtrack::kITSrefit) == 0) {
((TH1F *)(fQASecondaryAntiProtonsRejectedList->At(16)))->Fill(0);
- //status = kFALSE;
}
else if((track->GetStatus() & AliESDtrack::kITSrefit) != 0)
((TH1F *)(fQASecondaryAntiProtonsAcceptedList->At(16)))->Fill(0);
}//ITS refit
- if(fTPCRefitFlag) {
+ if(fProtonAnalysisBase->IsUsedTPCRefit()) {
if ((track->GetStatus() & AliESDtrack::kTPCrefit) == 0) {
((TH1F *)(fQASecondaryAntiProtonsRejectedList->At(17)))->Fill(0);
- //status = kFALSE;
}
else if((track->GetStatus() & AliESDtrack::kTPCrefit) != 0)
((TH1F *)(fQASecondaryAntiProtonsAcceptedList->At(17)))->Fill(0);
}//TPC refit
- if(fESDpidFlag) {
+ if(fProtonAnalysisBase->IsUsedESDpid()) {
if ((track->GetStatus() & AliESDtrack::kESDpid) == 0) {
((TH1F *)(fQASecondaryAntiProtonsRejectedList->At(18)))->Fill(0);
- //status = kFALSE;
}
else if((track->GetStatus() & AliESDtrack::kESDpid) != 0)
((TH1F *)(fQASecondaryAntiProtonsAcceptedList->At(18)))->Fill(0);
}//ESD pid
- if(fTPCpidFlag) {
+ if(fProtonAnalysisBase->IsUsedTPCpid()) {
if ((track->GetStatus() & AliESDtrack::kTPCpid) == 0) {
((TH1F *)(fQASecondaryAntiProtonsRejectedList->At(19)))->Fill(0);
- //status = kFALSE;
}
else if((track->GetStatus() & AliESDtrack::kTPCpid) != 0)
((TH1F *)(fQASecondaryAntiProtonsAcceptedList->At(19)))->Fill(0);
}//TPC pid
- if(fPointOnITSLayer1Flag) {
+ if(fProtonAnalysisBase->IsUsedMinTPCdEdxPoints()) {
+ if(track->GetTPCsignalN() < fProtonAnalysisBase->GetMinTPCdEdxPoints()) {
+ ((TH1F *)(fQASecondaryAntiProtonsRejectedList->At(20)))->Fill(track->GetTPCsignalN());
+ }
+ if(track->GetTPCsignalN() >= fProtonAnalysisBase->GetMinTPCdEdxPoints())
+ ((TH1F *)(fQASecondaryAntiProtonsAcceptedList->At(20)))->Fill(track->GetTPCsignalN());
+ }//number of TPC points for the dE/dx
+ if(fProtonAnalysisBase->IsUsedPointOnITSLayer1()) {
if(!track->HasPointOnITSLayer(0)) {
- ((TH1F *)(fQASecondaryAntiProtonsRejectedList->At(20)))->Fill(0);
+ ((TH1F *)(fQASecondaryAntiProtonsRejectedList->At(21)))->Fill(0);
}
else if(track->HasPointOnITSLayer(0))
- ((TH1F *)(fQASecondaryAntiProtonsAcceptedList->At(20)))->Fill(0);
+ ((TH1F *)(fQASecondaryAntiProtonsAcceptedList->At(21)))->Fill(0);
}//point on SPD1
- if(fPointOnITSLayer2Flag) {
+ if(fProtonAnalysisBase->IsUsedPointOnITSLayer2()) {
if(!track->HasPointOnITSLayer(1)) {
- ((TH1F *)(fQASecondaryAntiProtonsRejectedList->At(21)))->Fill(0);
+ ((TH1F *)(fQASecondaryAntiProtonsRejectedList->At(22)))->Fill(0);
}
else if(track->HasPointOnITSLayer(1))
- ((TH1F *)(fQASecondaryAntiProtonsAcceptedList->At(21)))->Fill(0);
+ ((TH1F *)(fQASecondaryAntiProtonsAcceptedList->At(22)))->Fill(0);
}//point on SPD2
- if(fPointOnITSLayer3Flag) {
+ if(fProtonAnalysisBase->IsUsedPointOnITSLayer3()) {
if(!track->HasPointOnITSLayer(2)) {
- ((TH1F *)(fQASecondaryAntiProtonsRejectedList->At(22)))->Fill(0);
+ ((TH1F *)(fQASecondaryAntiProtonsRejectedList->At(23)))->Fill(0);
}
else if(track->HasPointOnITSLayer(2))
- ((TH1F *)(fQASecondaryAntiProtonsAcceptedList->At(22)))->Fill(0);
+ ((TH1F *)(fQASecondaryAntiProtonsAcceptedList->At(23)))->Fill(0);
}//point on SDD1
- if(fPointOnITSLayer4Flag) {
+ if(fProtonAnalysisBase->IsUsedPointOnITSLayer4()) {
if(!track->HasPointOnITSLayer(3)) {
- ((TH1F *)(fQASecondaryAntiProtonsRejectedList->At(23)))->Fill(0);
+ ((TH1F *)(fQASecondaryAntiProtonsRejectedList->At(24)))->Fill(0);
}
else if(track->HasPointOnITSLayer(3))
- ((TH1F *)(fQASecondaryAntiProtonsAcceptedList->At(23)))->Fill(0);
+ ((TH1F *)(fQASecondaryAntiProtonsAcceptedList->At(24)))->Fill(0);
}//point on SDD2
- if(fPointOnITSLayer5Flag) {
+ if(fProtonAnalysisBase->IsUsedPointOnITSLayer5()) {
if(!track->HasPointOnITSLayer(4)) {
- ((TH1F *)(fQASecondaryAntiProtonsRejectedList->At(24)))->Fill(0);
+ ((TH1F *)(fQASecondaryAntiProtonsRejectedList->At(25)))->Fill(0);
}
else if(track->HasPointOnITSLayer(4))
- ((TH1F *)(fQASecondaryAntiProtonsAcceptedList->At(24)))->Fill(0);
+ ((TH1F *)(fQASecondaryAntiProtonsAcceptedList->At(25)))->Fill(0);
}//point on SSD1
- if(fPointOnITSLayer6Flag) {
+ if(fProtonAnalysisBase->IsUsedPointOnITSLayer6()) {
if(!track->HasPointOnITSLayer(5)) {
- ((TH1F *)(fQASecondaryAntiProtonsRejectedList->At(25)))->Fill(0);
+ ((TH1F *)(fQASecondaryAntiProtonsRejectedList->At(26)))->Fill(0);
}
else if(track->HasPointOnITSLayer(5))
- ((TH1F *)(fQASecondaryAntiProtonsAcceptedList->At(25)))->Fill(0);
+ ((TH1F *)(fQASecondaryAntiProtonsAcceptedList->At(26)))->Fill(0);
}//point on SSD2
}//secondary particle cut
}//antiprotons
}
//____________________________________________________________________//
-void AliProtonQAAnalysis::SetQAYPtBins(Int_t nbinsY, Double_t minY, Double_t maxY,
- Int_t nbinsPt, Double_t minPt, Double_t maxPt) {
+void AliProtonQAAnalysis::SetQAYPtBins(Int_t nbinsY,
+ Double_t minY, Double_t maxY,
+ Int_t nbinsPt,
+ Double_t minPt, Double_t maxPt) {
//Initializes the QA binning
fNBinsY = nbinsY;
fMinY = minY; fMaxY = maxY;
";;P_{T} [GeV/c]",
fNBinsY,fMinY,fMaxY,
fNBinsPt,fMinPt,fMaxPt);
- if(fAnalysisEtaMode)
+ if(fProtonAnalysisBase->GetEtaMode())
gHistMCYPtProtons->GetXaxis()->SetTitle("#eta");
else
gHistMCYPtProtons->GetXaxis()->SetTitle("y");
";y;P_{T} [GeV/c]",
fNBinsY,fMinY,fMaxY,
fNBinsPt,fMinPt,fMaxPt);
- if(fAnalysisEtaMode)
+ if(fProtonAnalysisBase->GetEtaMode())
gHistMCYPtAntiProtons->GetXaxis()->SetTitle("#eta");
else
gHistMCYPtAntiProtons->GetXaxis()->SetTitle("y");
";;P_{T} [GeV/c]",
fNBinsY,fMinY,fMaxY,
fNBinsPt,fMinPt,fMaxPt);
- if(fAnalysisEtaMode)
+ if(fProtonAnalysisBase->GetEtaMode())
gHistMCYPtProtonsFromWeak->GetXaxis()->SetTitle("#eta");
else
gHistMCYPtProtonsFromWeak->GetXaxis()->SetTitle("y");
";y;P_{T} [GeV/c]",
fNBinsY,fMinY,fMaxY,
fNBinsPt,fMinPt,fMaxPt);
- if(fAnalysisEtaMode)
+ if(fProtonAnalysisBase->GetEtaMode())
gHistMCYPtAntiProtonsFromWeak->GetXaxis()->SetTitle("#eta");
else
gHistMCYPtAntiProtonsFromWeak->GetXaxis()->SetTitle("y");
";;P_{T} [GeV/c]",
fNBinsY,fMinY,fMaxY,
fNBinsPt,fMinPt,fMaxPt);
- if(fAnalysisEtaMode)
+ if(fProtonAnalysisBase->GetEtaMode())
gHistMCYPtProtonsFromHadronic->GetXaxis()->SetTitle("#eta");
else
gHistMCYPtProtonsFromHadronic->GetXaxis()->SetTitle("y");
";y;P_{T} [GeV/c]",
fNBinsY,fMinY,fMaxY,
fNBinsPt,fMinPt,fMaxPt);
- if(fAnalysisEtaMode)
+ if(fProtonAnalysisBase->GetEtaMode())
gHistMCYPtAntiProtonsFromHadronic->GetXaxis()->SetTitle("#eta");
else
gHistMCYPtAntiProtonsFromHadronic->GetXaxis()->SetTitle("y");
";;P_{T} [GeV/c]",
fNBinsY,fMinY,fMaxY,
fNBinsPt,fMinPt,fMaxPt);
- if(fAnalysisEtaMode)
+ if(fProtonAnalysisBase->GetEtaMode())
gHistESDYPtProtons->GetXaxis()->SetTitle("#eta");
else
gHistESDYPtProtons->GetXaxis()->SetTitle("y");
";;P_{T} [GeV/c]",
fNBinsY,fMinY,fMaxY,
fNBinsPt,fMinPt,fMaxPt);
- if(fAnalysisEtaMode)
+ if(fProtonAnalysisBase->GetEtaMode())
gHistESDYPtAntiProtons->GetXaxis()->SetTitle("#eta");
else
gHistESDYPtAntiProtons->GetXaxis()->SetTitle("y");
";;P_{T} [GeV/c]",
fNBinsY,fMinY,fMaxY,
fNBinsPt,fMinPt,fMaxPt);
- if(fAnalysisEtaMode)
+ if(fProtonAnalysisBase->GetEtaMode())
gHistESDYPtProtonsFromWeak->GetXaxis()->SetTitle("#eta");
else
gHistESDYPtProtonsFromWeak->GetXaxis()->SetTitle("y");
";;P_{T} [GeV/c]",
fNBinsY,fMinY,fMaxY,
fNBinsPt,fMinPt,fMaxPt);
- if(fAnalysisEtaMode)
+ if(fProtonAnalysisBase->GetEtaMode())
gHistESDYPtAntiProtonsFromWeak->GetXaxis()->SetTitle("#eta");
else
gHistESDYPtAntiProtonsFromWeak->GetXaxis()->SetTitle("y");
";;P_{T} [GeV/c]",
fNBinsY,fMinY,fMaxY,
fNBinsPt,fMinPt,fMaxPt);
- if(fAnalysisEtaMode)
+ if(fProtonAnalysisBase->GetEtaMode())
gHistESDYPtProtonsFromHadronic->GetXaxis()->SetTitle("#eta");
else
gHistESDYPtProtonsFromHadronic->GetXaxis()->SetTitle("y");
";;P_{T} [GeV/c]",
fNBinsY,fMinY,fMaxY,
fNBinsPt,fMinPt,fMaxPt);
- if(fAnalysisEtaMode)
+ if(fProtonAnalysisBase->GetEtaMode())
gHistESDYPtAntiProtonsFromHadronic->GetXaxis()->SetTitle("#eta");
else
gHistESDYPtAntiProtonsFromHadronic->GetXaxis()->SetTitle("y");
//ESD reconstructed tracks that were initially protons for the PID efficiency
- TH2D *gHistESDInitYPtProtons = new TH2D("gHistESDInitYPtProtons",
- ";;P_{T} [GeV/c]",
+ TH3D *gHistESDInitYPtProtons = new TH3D("gHistESDInitYPtProtons",
+ ";;P_{T} [GeV/c];N_{points}",
fNBinsY,fMinY,fMaxY,
- fNBinsPt,fMinPt,fMaxPt);
- if(fAnalysisEtaMode)
+ fNBinsPt,fMinPt,fMaxPt,
+ 100,0,200);
+ if(fProtonAnalysisBase->GetEtaMode())
gHistESDInitYPtProtons->GetXaxis()->SetTitle("#eta");
else
gHistESDInitYPtProtons->GetXaxis()->SetTitle("y");
fEfficiencyList->Add(gHistESDInitYPtProtons);
//ESD reconstructed tracks that were initially protons and were identified as protons for the PID efficiency
- TH2D *gHistESDIdYPtProtons = new TH2D("gHistESDIdYPtProtons",
- ";;P_{T} [GeV/c]",
+ TH3D *gHistESDIdYPtProtons = new TH3D("gHistESDIdYPtProtons",
+ ";;P_{T} [GeV/c];N_{points}",
fNBinsY,fMinY,fMaxY,
- fNBinsPt,fMinPt,fMaxPt);
- if(fAnalysisEtaMode)
+ fNBinsPt,fMinPt,fMaxPt,
+ 100,0,200);
+ if(fProtonAnalysisBase->GetEtaMode())
gHistESDIdYPtProtons->GetXaxis()->SetTitle("#eta");
else
gHistESDIdYPtProtons->GetXaxis()->SetTitle("y");
fEfficiencyList->Add(gHistESDIdYPtProtons);
//ESD reconstructed tracks that were identified as protons for the PID contamination
- TH2D *gHistESDRecIdYPtProtons = new TH2D("gHistESDRecIdYPtProtons",
- ";;P_{T} [GeV/c]",
+ TH3D *gHistESDRecIdYPtProtons = new TH3D("gHistESDRecIdYPtProtons",
+ ";;P_{T} [GeV/c];N_{points}",
fNBinsY,fMinY,fMaxY,
- fNBinsPt,fMinPt,fMaxPt);
- if(fAnalysisEtaMode)
+ fNBinsPt,fMinPt,fMaxPt,
+ 100,0,200);
+ if(fProtonAnalysisBase->GetEtaMode())
gHistESDRecIdYPtProtons->GetXaxis()->SetTitle("#eta");
else
gHistESDRecIdYPtProtons->GetXaxis()->SetTitle("y");
fEfficiencyList->Add(gHistESDRecIdYPtProtons);
//ESD reconstructed tracks that were identified as protons but were initially not protons for the PID contamination
- TH2D *gHistESDContamYPtProtons = new TH2D("gHistESDContamYPtProtons",
- ";;P_{T} [GeV/c]",
+ TH3D *gHistESDContamYPtProtons = new TH3D("gHistESDContamYPtProtons",
+ ";;P_{T} [GeV/c];N_{points}",
fNBinsY,fMinY,fMaxY,
- fNBinsPt,fMinPt,fMaxPt);
- if(fAnalysisEtaMode)
+ fNBinsPt,fMinPt,fMaxPt,
+ 100,0,200);
+ if(fProtonAnalysisBase->GetEtaMode())
gHistESDContamYPtProtons->GetXaxis()->SetTitle("#eta");
else
gHistESDContamYPtProtons->GetXaxis()->SetTitle("y");
gHistEtaPhiNClustersSecondaryAntiProtonsPass->SetStats(kTRUE);
gHistEtaPhiNClustersSecondaryAntiProtonsPass->GetXaxis()->SetTitleColor(1);
fAcceptedCutList->Add(gHistEtaPhiNClustersSecondaryAntiProtonsPass);//eta-phi of secondary accepted ESD antiprotons
+ //eta-phi-chi^2 per TPC cluster
+ TH3D *gHistEtaPhiChi2PerTPCClusterPrimaryProtonsPass = new TH3D("gHistEtaPhiChi2PerTPCClusterPrimaryProtonsPass",
+ "Accepted primary protons;#eta;#phi;#chi^{2}/N_{clusters}(TPC)",
+ fNBinsY,fMinY,fMaxY,
+ 100,0,360,
+ 100,0,4);
+ gHistEtaPhiChi2PerTPCClusterPrimaryProtonsPass->SetStats(kTRUE);
+ gHistEtaPhiChi2PerTPCClusterPrimaryProtonsPass->GetXaxis()->SetTitleColor(1);
+ fAcceptedCutList->Add(gHistEtaPhiChi2PerTPCClusterPrimaryProtonsPass);//eta-phi of primary accepted ESD protons
+ TH3D *gHistEtaPhiChi2PerTPCClusterPrimaryAntiProtonsPass = new TH3D("gHistEtaPhiChi2PerTPCClusterPrimaryAntiProtonsPass",
+ "Accepted primary antiprotons;#eta;#phi;#chi^{2}/N_{clusters}(TPC)",
+ fNBinsY,fMinY,fMaxY,
+ 100,0,360,
+ 100,0,4);
+ gHistEtaPhiChi2PerTPCClusterPrimaryAntiProtonsPass->SetStats(kTRUE);
+ gHistEtaPhiChi2PerTPCClusterPrimaryAntiProtonsPass->GetXaxis()->SetTitleColor(1);
+ fAcceptedCutList->Add(gHistEtaPhiChi2PerTPCClusterPrimaryAntiProtonsPass);//eta-phi of primary accepted ESD antiprotons
+ TH3D *gHistEtaPhiChi2PerTPCClusterSecondaryProtonsPass = new TH3D("gHistEtaPhiChi2PerTPCClusterSecondaryProtonsPass",
+ "Accepted secondary protons;#eta;#phi;#chi^{2}/N_{clusters}(TPC)",
+ fNBinsY,fMinY,fMaxY,
+ 100,0,360,
+ 100,0,4);
+ gHistEtaPhiChi2PerTPCClusterSecondaryProtonsPass->SetStats(kTRUE);
+ gHistEtaPhiChi2PerTPCClusterSecondaryProtonsPass->GetXaxis()->SetTitleColor(1);
+ fAcceptedCutList->Add(gHistEtaPhiChi2PerTPCClusterSecondaryProtonsPass);//eta-phi of secondary accepted ESD protons
+ TH3D *gHistEtaPhiChi2PerTPCClusterSecondaryAntiProtonsPass = new TH3D("gHistEtaPhiChi2PerTPCClusterSecondaryAntiProtonsPass",
+ "Accepted secondary antiprotons;#eta;#phi;#chi^{2}/N_{clusters}(TPC)",
+ fNBinsY,fMinY,fMaxY,
+ 100,0,360,
+ 100,0,4);
+ gHistEtaPhiChi2PerTPCClusterSecondaryAntiProtonsPass->SetStats(kTRUE);
+ gHistEtaPhiChi2PerTPCClusterSecondaryAntiProtonsPass->GetXaxis()->SetTitleColor(1);
+ fAcceptedCutList->Add(gHistEtaPhiChi2PerTPCClusterSecondaryAntiProtonsPass);//eta-phi of secondary accepted ESD antiprotons
+ //eta-phi-number of TPC points for the dE/dx
+ TH3D *gHistEtaPhiTPCdEdxNPointsPrimaryProtonsPass = new TH3D("gHistEtaPhiTPCdEdxNPointsPrimaryProtonsPass",
+ "Accepted primary protons;#eta;#phi;#chi^{2}/N_{clusters}(TPC)",
+ fNBinsY,fMinY,fMaxY,
+ 100,0,360,
+ 100,0,200);
+ gHistEtaPhiTPCdEdxNPointsPrimaryProtonsPass->SetStats(kTRUE);
+ gHistEtaPhiTPCdEdxNPointsPrimaryProtonsPass->GetXaxis()->SetTitleColor(1);
+ fAcceptedCutList->Add(gHistEtaPhiTPCdEdxNPointsPrimaryProtonsPass);//eta-phi of primary accepted ESD protons
+ TH3D *gHistEtaPhiTPCdEdxNPointsPrimaryAntiProtonsPass = new TH3D("gHistEtaPhiTPCdEdxNPointsPrimaryAntiProtonsPass",
+ "Accepted primary antiprotons;#eta;#phi;#chi^{2}/N_{clusters}(TPC)",
+ fNBinsY,fMinY,fMaxY,
+ 100,0,360,
+ 100,0,200);
+ gHistEtaPhiTPCdEdxNPointsPrimaryAntiProtonsPass->SetStats(kTRUE);
+ gHistEtaPhiTPCdEdxNPointsPrimaryAntiProtonsPass->GetXaxis()->SetTitleColor(1);
+ fAcceptedCutList->Add(gHistEtaPhiTPCdEdxNPointsPrimaryAntiProtonsPass);//eta-phi of primary accepted ESD antiprotons
+ TH3D *gHistEtaPhiTPCdEdxNPointsSecondaryProtonsPass = new TH3D("gHistEtaPhiTPCdEdxNPointsSecondaryProtonsPass",
+ "Accepted secondary protons;#eta;#phi;#chi^{2}/N_{clusters}(TPC)",
+ fNBinsY,fMinY,fMaxY,
+ 100,0,360,
+ 100,0,200);
+ gHistEtaPhiTPCdEdxNPointsSecondaryProtonsPass->SetStats(kTRUE);
+ gHistEtaPhiTPCdEdxNPointsSecondaryProtonsPass->GetXaxis()->SetTitleColor(1);
+ fAcceptedCutList->Add(gHistEtaPhiTPCdEdxNPointsSecondaryProtonsPass);//eta-phi of secondary accepted ESD protons
+ TH3D *gHistEtaPhiTPCdEdxNPointsSecondaryAntiProtonsPass = new TH3D("gHistEtaPhiTPCdEdxNPointsSecondaryAntiProtonsPass",
+ "Accepted secondary antiprotons;#eta;#phi;#chi^{2}/N_{clusters}(TPC)",
+ fNBinsY,fMinY,fMaxY,
+ 100,0,360,
+ 100,0,200);
+ gHistEtaPhiTPCdEdxNPointsSecondaryAntiProtonsPass->SetStats(kTRUE);
+ gHistEtaPhiTPCdEdxNPointsSecondaryAntiProtonsPass->GetXaxis()->SetTitleColor(1);
+ fAcceptedCutList->Add(gHistEtaPhiTPCdEdxNPointsSecondaryAntiProtonsPass);//eta-phi of secondary accepted ESD antiprotons
+
+ TH1F *gPrimaryProtonsNPointsTPCdEdx = new TH1F("gPrimaryProtonsNPointsTPCdEdx",
+ ";N_{points} (TPC-dE/dx);Entries",
+ 100,0,200);
+ fAcceptedCutList->Add(gPrimaryProtonsNPointsTPCdEdx);
+ TH1F *gPrimaryAntiProtonsNPointsTPCdEdx = new TH1F("gPrimaryAntiProtonsNPointsTPCdEdx",
+ ";N_{points} (TPC-dE/dx);Entries",
+ 100,0,200);
+ fAcceptedCutList->Add(gPrimaryAntiProtonsNPointsTPCdEdx);
+ TH1F *gSecondaryProtonsNPointsTPCdEdx = new TH1F("gSecondaryProtonsNPointsTPCdEdx",
+ ";N_{points} (TPC-dE/dx);Entries",
+ 100,0,200);
+ fAcceptedCutList->Add(gSecondaryProtonsNPointsTPCdEdx);
+ TH1F *gSecondaryAntiProtonsNPointsTPCdEdx = new TH1F("gSecondaryAntiProtonsNPointsTPCdEdx",
+ ";N_{points} (TPC-dE/dx);Entries",
+ 100,0,200);
+ fAcceptedCutList->Add(gSecondaryAntiProtonsNPointsTPCdEdx);
//Rejected cut list
fRejectedCutList = new TList();
gHistEtaPhiNClustersSecondaryAntiProtonsReject->SetStats(kTRUE);
gHistEtaPhiNClustersSecondaryAntiProtonsReject->GetXaxis()->SetTitleColor(1);
fRejectedCutList->Add(gHistEtaPhiNClustersSecondaryAntiProtonsReject);//eta-phi of secondary rejected ESD antiprotons
-
+ //eta-phi-chi^2 per TPC cluster
+ TH3D *gHistEtaPhiChi2PerTPCClusterPrimaryProtonsReject = new TH3D("gHistEtaPhiChi2PerTPCClusterPrimaryProtonsReject",
+ "Rejected primary protons;#eta;#phi;#chi^{2}/N_{clusters}(TPC)",
+ fNBinsY,fMinY,fMaxY,
+ 100,0,360,
+ 100,0,4);
+ gHistEtaPhiChi2PerTPCClusterPrimaryProtonsReject->SetStats(kTRUE);
+ gHistEtaPhiChi2PerTPCClusterPrimaryProtonsReject->GetXaxis()->SetTitleColor(1);
+ fRejectedCutList->Add(gHistEtaPhiChi2PerTPCClusterPrimaryProtonsReject);//eta-phi of primary rejected ESD protons
+ TH3D *gHistEtaPhiChi2PerTPCClusterPrimaryAntiProtonsReject = new TH3D("gHistEtaPhiChi2PerTPCClusterPrimaryAntiProtonsReject",
+ "Rejected primary antiprotons;#eta;#phi;#chi^{2}/N_{clusters}(TPC)",
+ fNBinsY,fMinY,fMaxY,
+ 100,0,360,
+ 100,0,4);
+ gHistEtaPhiChi2PerTPCClusterPrimaryAntiProtonsReject->SetStats(kTRUE);
+ gHistEtaPhiChi2PerTPCClusterPrimaryAntiProtonsReject->GetXaxis()->SetTitleColor(1);
+ fRejectedCutList->Add(gHistEtaPhiChi2PerTPCClusterPrimaryAntiProtonsReject);//eta-phi of primary rejected ESD antiprotons
+ TH3D *gHistEtaPhiChi2PerTPCClusterSecondaryProtonsReject = new TH3D("gHistEtaPhiChi2PerTPCClusterSecondaryProtonsReject",
+ "Rejected secondary protons;#eta;#phi;#chi^{2}/N_{clusters}(TPC)",
+ fNBinsY,fMinY,fMaxY,
+ 100,0,360,
+ 100,0,4);
+ gHistEtaPhiChi2PerTPCClusterSecondaryProtonsReject->SetStats(kTRUE);
+ gHistEtaPhiChi2PerTPCClusterSecondaryProtonsReject->GetXaxis()->SetTitleColor(1);
+ fRejectedCutList->Add(gHistEtaPhiChi2PerTPCClusterSecondaryProtonsReject);//eta-phi of secondary rejected ESD protons
+ TH3D *gHistEtaPhiChi2PerTPCClusterSecondaryAntiProtonsReject = new TH3D("gHistEtaPhiChi2PerTPCClusterSecondaryAntiProtonsReject",
+ "Rejected secondary antiprotons;#eta;#phi;#chi^{2}/N_{clusters}(TPC)",
+ fNBinsY,fMinY,fMaxY,
+ 100,0,360,
+ 100,0,4);
+ gHistEtaPhiChi2PerTPCClusterSecondaryAntiProtonsReject->SetStats(kTRUE);
+ gHistEtaPhiChi2PerTPCClusterSecondaryAntiProtonsReject->GetXaxis()->SetTitleColor(1);
+ fRejectedCutList->Add(gHistEtaPhiChi2PerTPCClusterSecondaryAntiProtonsReject);//eta-phi of secondary rejected ESD antiprotons
+ //eta-phi-number of TPC points for the dE/dx
+ TH3D *gHistEtaPhiTPCdEdxNPointsPrimaryProtonsReject = new TH3D("gHistEtaPhiTPCdEdxNPointsPrimaryProtonsReject",
+ "Rejected primary protons;#eta;#phi;#chi^{2}/N_{clusters}(TPC)",
+ fNBinsY,fMinY,fMaxY,
+ 100,0,360,
+ 100,0,200);
+ gHistEtaPhiTPCdEdxNPointsPrimaryProtonsReject->SetStats(kTRUE);
+ gHistEtaPhiTPCdEdxNPointsPrimaryProtonsReject->GetXaxis()->SetTitleColor(1);
+ fRejectedCutList->Add(gHistEtaPhiTPCdEdxNPointsPrimaryProtonsReject);//eta-phi of primary rejected ESD protons
+ TH3D *gHistEtaPhiTPCdEdxNPointsPrimaryAntiProtonsReject = new TH3D("gHistEtaPhiTPCdEdxNPointsPrimaryAntiProtonsReject",
+ "Rejected primary antiprotons;#eta;#phi;#chi^{2}/N_{clusters}(TPC)",
+ fNBinsY,fMinY,fMaxY,
+ 100,0,360,
+ 100,0,200);
+ gHistEtaPhiTPCdEdxNPointsPrimaryAntiProtonsReject->SetStats(kTRUE);
+ gHistEtaPhiTPCdEdxNPointsPrimaryAntiProtonsReject->GetXaxis()->SetTitleColor(1);
+ fRejectedCutList->Add(gHistEtaPhiTPCdEdxNPointsPrimaryAntiProtonsReject);//eta-phi of primary rejected ESD antiprotons
+ TH3D *gHistEtaPhiTPCdEdxNPointsSecondaryProtonsReject = new TH3D("gHistEtaPhiTPCdEdxNPointsSecondaryProtonsReject",
+ "Rejected secondary protons;#eta;#phi;#chi^{2}/N_{clusters}(TPC)",
+ fNBinsY,fMinY,fMaxY,
+ 100,0,360,
+ 100,0,200);
+ gHistEtaPhiTPCdEdxNPointsSecondaryProtonsReject->SetStats(kTRUE);
+ gHistEtaPhiTPCdEdxNPointsSecondaryProtonsReject->GetXaxis()->SetTitleColor(1);
+ fRejectedCutList->Add(gHistEtaPhiTPCdEdxNPointsSecondaryProtonsReject);//eta-phi of secondary rejected ESD protons
+ TH3D *gHistEtaPhiTPCdEdxNPointsSecondaryAntiProtonsReject = new TH3D("gHistEtaPhiTPCdEdxNPointsSecondaryAntiProtonsReject",
+ "Rejected secondary antiprotons;#eta;#phi;#chi^{2}/N_{clusters}(TPC)",
+ fNBinsY,fMinY,fMaxY,
+ 100,0,360,
+ 100,0,200);
+ gHistEtaPhiTPCdEdxNPointsSecondaryAntiProtonsReject->SetStats(kTRUE);
+ gHistEtaPhiTPCdEdxNPointsSecondaryAntiProtonsReject->GetXaxis()->SetTitleColor(1);
+ fRejectedCutList->Add(gHistEtaPhiTPCdEdxNPointsSecondaryAntiProtonsReject);//eta-phi of secondary rejected ESD antiprotons
//DCA list
fAcceptedDCAList = new TList();
fQAVertexList->SetName("fQAVertexList");
//Gen. multiplicity bins
- Float_t xBins[24] = {0,1,2,4,6,8,10,15,20,30,40,50,75,100,
- 200,300,400,500,750,1000,1500,2000,2500,3000};
+ //Float_t xBins[24] = {0,1,2,4,6,8,10,15,20,30,40,50,75,100,
+ //200,300,400,500,750,1000,1500,2000,2500,3000};
//MC primary multiplicity (vertex efficiency calculation)
- TH1F *gHistMCPrimaryMultiplicity = new TH1F("gHistMCPrimaryMultiplicity",
- ";N_{prim. gen.};Entries",
- 23,xBins);
- fQAVertexList->Add(gHistMCPrimaryMultiplicity);
+ TH1F *gHistMCPrimaryVz = new TH1F("gHistMCPrimaryVz",
+ ";V_{z} (gen.) [cm];Entries",
+ 40,-20.,20.);
+ fQAVertexList->Add(gHistMCPrimaryVz);
+ //TH1F *gHistMCPrimaryMultiplicity = new TH1F("gHistMCPrimaryMultiplicity",
+ //";N_{prim. gen.};Entries",
+ //23,xBins);
+ //fQAVertexList->Add(gHistMCPrimaryMultiplicity);
//TPC
- TH1F *gHistMCPrimaryMultiplicityTPC = new TH1F("gHistMCPrimaryMultiplicityTPC",
- "Vertex TPC;N_{prim. gen.};Entries",
- 23,xBins);
- fQAVertexList->Add(gHistMCPrimaryMultiplicityTPC);
- TH2F *gHistTPCESDVx = new TH2F("gHistTPCESDVx",
+ TH1F *gHistTPCVz = new TH1F("gHistTPCVz",
+ ";V_{z} (gen.) [cm];Entries",
+ 40,-20.,20.);
+ fQAVertexList->Add(gHistTPCVz);
+ //TH1F *gHistMCPrimaryMultiplicityTPC = new TH1F("gHistMCPrimaryMultiplicityTPC",
+ //"Vertex TPC;N_{prim. gen.};Entries",
+ //23,xBins);
+ //fQAVertexList->Add(gHistMCPrimaryMultiplicityTPC);
+ TH2F *gHistTPCESDVxN = new TH2F("gHistTPCESDVxN",
"Primary vertex TPC;V_{x} [cm];N_{contributors}",
100,-10.,10.,1000,0,5000);
- fQAVertexList->Add(gHistTPCESDVx);
- TH2F *gHistTPCESDVy = new TH2F("gHistTPCESDVy",
+ fQAVertexList->Add(gHistTPCESDVxN);
+ TH2F *gHistTPCESDVyN = new TH2F("gHistTPCESDVyN",
"Primary vertex TPC;V_{y} [cm];N_{contributors}",
100,-10.,10.,1000,0,5000);
- fQAVertexList->Add(gHistTPCESDVy);
- TH2F *gHistTPCESDVz = new TH2F("gHistTPCESDVz",
+ fQAVertexList->Add(gHistTPCESDVyN);
+ TH2F *gHistTPCESDVzN = new TH2F("gHistTPCESDVzN",
"Primary vertex TPC;V_{z} [cm];N_{contributors}",
100,-20.,20.,1000,0,5000);
- fQAVertexList->Add(gHistTPCESDVz);
+ fQAVertexList->Add(gHistTPCESDVzN);
TH1F *gHistTPCDiffVx = new TH1F("gHistTPCDiffVx",
";V_{x}(rec.) - V_{x}(true) [#mu m];Entries",
100,-10000.,10000.);
fQAVertexList->Add(gHistTPCDiffVz);
TH1F *gHistTPCResolutionVx = new TH1F("gHistTPCResolutionVx",
";#sigma_{x} [#mu m];Entries",
- 100,0.,1000.);
+ 100,0.,1000000.);
fQAVertexList->Add(gHistTPCResolutionVx);
TH1F *gHistTPCResolutionVy = new TH1F("gHistTPCResolutionVy",
";#sigma_{y} [#mu m];Entries",
- 100,0.,1000.);
+ 100,0.,1000000.);
fQAVertexList->Add(gHistTPCResolutionVy);
TH1F *gHistTPCResolutionVz = new TH1F("gHistTPCResolutionVz",
";#sigma_{z} [#mu m];Entries",
- 100,0.,500.);
+ 100,0.,6000.);
fQAVertexList->Add(gHistTPCResolutionVz);
//SPD
- TH1F *gHistMCPrimaryMultiplicitySPD = new TH1F("gHistMCPrimaryMultiplicitySPD",
- "Vertex SPD;N_{prim. gen.};Entries",
- 23,xBins);
- fQAVertexList->Add(gHistMCPrimaryMultiplicitySPD);
- TH2F *gHistSPDESDVx = new TH2F("gHistSPDESDVx",
+ TH1F *gHistSPDVz = new TH1F("gHistSPDVz",
+ ";V_{z} (gen.) [cm];Entries",
+ 40,-20.,20.);
+ fQAVertexList->Add(gHistSPDVz);
+ //TH1F *gHistMCPrimaryMultiplicitySPD = new TH1F("gHistMCPrimaryMultiplicitySPD",
+ //"Vertex SPD;N_{prim. gen.};Entries",
+ //23,xBins);
+ //fQAVertexList->Add(gHistMCPrimaryMultiplicitySPD);
+ TH2F *gHistSPDESDVxN = new TH2F("gHistSPDESDVxN",
"Primary vertex SPD;V_{x} [cm];N_{contributors}",
100,-10.,10.,1000,0,5000);
- fQAVertexList->Add(gHistSPDESDVx);
- TH2F *gHistSPDESDVy = new TH2F("gHistSPDESDVy",
+ fQAVertexList->Add(gHistSPDESDVxN);
+ TH2F *gHistSPDESDVyN = new TH2F("gHistSPDESDVyN",
"Primary vertex SPD;V_{y} [cm];N_{contributors}",
100,-10.,10.,1000,0,5000);
- fQAVertexList->Add(gHistSPDESDVy);
- TH2F *gHistSPDESDVz = new TH2F("gHistSPDESDVz",
+ fQAVertexList->Add(gHistSPDESDVyN);
+ TH2F *gHistSPDESDVzN = new TH2F("gHistSPDESDVzN",
"Primary vertex SPD;V_{z} [cm];N_{contributors}",
100,-20.,20.,1000,0,5000);
- fQAVertexList->Add(gHistSPDESDVz);
+ fQAVertexList->Add(gHistSPDESDVzN);
TH1F *gHistSPDDiffVx = new TH1F("gHistSPDDiffVx",
";V_{x}(rec.) - V_{x}(true) [#mu m];Entries",
100,-10000.,10000.);
fQAVertexList->Add(gHistSPDResolutionVz);
//Tracks
- TH1F *gHistMCPrimaryMultiplicityTracks = new TH1F("gHistMCPrimaryMultiplicityTracks",
- "Vertex Tracks;N_{prim. gen.};Entries",
- 23,xBins);
- fQAVertexList->Add(gHistMCPrimaryMultiplicityTracks);
- TH2F *gHistTracksESDVx = new TH2F("gHistTracksESDVx",
- "Primary vertex Tracks;V_{x} [cm];N_{contributors}",
- 100,-10.,10.,1000,0,5000);
- fQAVertexList->Add(gHistTracksESDVx);
- TH2F *gHistTracksESDVy = new TH2F("gHistTracksESDVy",
+ TH1F *gHistTracksVz = new TH1F("gHistTracksVz",
+ ";V_{z} (gen.) [cm];Entries",
+ 40,-20.,20.);
+ fQAVertexList->Add(gHistTracksVz);
+ //TH1F *gHistMCPrimaryMultiplicityTracks = new TH1F("gHistMCPrimaryMultiplicityTracks",
+ //"Vertex Tracks;N_{prim. gen.};Entries",
+ //23,xBins);
+ //fQAVertexList->Add(gHistMCPrimaryMultiplicityTracks);
+ TH2F *gHistTracksESDVxN = new TH2F("gHistTracksESDVxN",
+ "Primary vertex Tracks;V_{x} [cm];N_{contributors}",
+ 100,-10.,10.,1000,0,5000);
+ fQAVertexList->Add(gHistTracksESDVxN);
+ TH2F *gHistTracksESDVyN = new TH2F("gHistTracksESDVyN",
"Primary vertex Tracks;V_{y} [cm];N_{contributors}",
100,-10.,10.,1000,0,5000);
- fQAVertexList->Add(gHistTracksESDVy);
- TH2F *gHistTracksESDVz = new TH2F("gHistTracksESDVz",
+ fQAVertexList->Add(gHistTracksESDVyN);
+ TH2F *gHistTracksESDVzN = new TH2F("gHistTracksESDVzN",
"Primary vertex Tracks;V_{z} [cm];N_{contributors}",
100,-20.,20.,1000,0,5000);
- fQAVertexList->Add(gHistTracksESDVz);
+ fQAVertexList->Add(gHistTracksESDVzN);
TH1F *gHistTracksDiffVx = new TH1F("gHistTracksDiffVx",
";V_{x}(rec.) - V_{x}(true) [#mu m];Entries",
100,-10000.,10000.);
";;P_{T} [GeV/c]",
fNBinsY,fMinY,fMaxY,
fNBinsPt,fMinPt,fMaxPt);
- if(fAnalysisEtaMode)
+ if(fProtonAnalysisBase->GetEtaMode())
gHistYPtPrimaryProtonsPass->GetXaxis()->SetTitle("#eta");
else
gHistYPtPrimaryProtonsPass->GetXaxis()->SetTitle("y");
";;P_{T} [GeV/c]",
fNBinsY,fMinY,fMaxY,
fNBinsPt,fMinPt,fMaxPt);
- if(fAnalysisEtaMode)
+ if(fProtonAnalysisBase->GetEtaMode())
gHistYPtPrimaryProtonsReject->GetXaxis()->SetTitle("#eta");
else
gHistYPtPrimaryProtonsReject->GetXaxis()->SetTitle("y");
";;P_{T} [GeV/c]",
fNBinsY,fMinY,fMaxY,
fNBinsPt,fMinPt,fMaxPt);
- if(fAnalysisEtaMode)
+ if(fProtonAnalysisBase->GetEtaMode())
gHistYPtSecondaryProtonsPass->GetXaxis()->SetTitle("#eta");
else
gHistYPtSecondaryProtonsPass->GetXaxis()->SetTitle("y");
";;P_{T} [GeV/c]",
fNBinsY,fMinY,fMaxY,
fNBinsPt,fMinPt,fMaxPt);
- if(fAnalysisEtaMode)
+ if(fProtonAnalysisBase->GetEtaMode())
gHistYPtSecondaryProtonsReject->GetXaxis()->SetTitle("#eta");
else
gHistYPtSecondaryProtonsReject->GetXaxis()->SetTitle("y");
";;P_{T} [GeV/c]",
fNBinsY,fMinY,fMaxY,
fNBinsPt,fMinPt,fMaxPt);
- if(fAnalysisEtaMode)
+ if(fProtonAnalysisBase->GetEtaMode())
gHistYPtPrimaryAntiProtonsPass->GetXaxis()->SetTitle("#eta");
else
gHistYPtPrimaryAntiProtonsPass->GetXaxis()->SetTitle("y");
";;P_{T} [GeV/c]",
fNBinsY,fMinY,fMaxY,
fNBinsPt,fMinPt,fMaxPt);
- if(fAnalysisEtaMode)
+ if(fProtonAnalysisBase->GetEtaMode())
gHistYPtPrimaryAntiProtonsReject->GetXaxis()->SetTitle("#eta");
else
gHistYPtPrimaryAntiProtonsReject->GetXaxis()->SetTitle("y");
";;P_{T} [GeV/c]",
fNBinsY,fMinY,fMaxY,
fNBinsPt,fMinPt,fMaxPt);
- if(fAnalysisEtaMode)
+ if(fProtonAnalysisBase->GetEtaMode())
gHistYPtSecondaryAntiProtonsPass->GetXaxis()->SetTitle("#eta");
else
gHistYPtSecondaryAntiProtonsPass->GetXaxis()->SetTitle("y");
";;P_{T} [GeV/c]",
fNBinsY,fMinY,fMaxY,
fNBinsPt,fMinPt,fMaxPt);
- if(fAnalysisEtaMode)
+ if(fProtonAnalysisBase->GetEtaMode())
gHistYPtSecondaryAntiProtonsReject->GetXaxis()->SetTitle("#eta");
else
gHistYPtSecondaryAntiProtonsReject->GetXaxis()->SetTitle("y");
";;P_{T} [GeV/c]",
fNBinsY,fMinY,fMaxY,
fNBinsPt,fMinPt,fMaxPt);
- if(fAnalysisEtaMode)
+ if(fProtonAnalysisBase->GetEtaMode())
gHistYPtPrimaryProtonsMC->GetXaxis()->SetTitle("#eta");
else
gHistYPtPrimaryProtonsMC->GetXaxis()->SetTitle("y");
";;P_{T} [GeV/c]",
fNBinsY,fMinY,fMaxY,
fNBinsPt,fMinPt,fMaxPt);
- if(fAnalysisEtaMode)
+ if(fProtonAnalysisBase->GetEtaMode())
gHistYPtPrimaryAntiProtonsMC->GetXaxis()->SetTitle("#eta");
else
gHistYPtPrimaryAntiProtonsMC->GetXaxis()->SetTitle("y");
fNBinsY,fMinY,fMaxY,
fNBinsPt,fMinPt,fMaxPt,
14,-0.5,13.5);
- if(fAnalysisEtaMode)
+ if(fProtonAnalysisBase->GetEtaMode())
gHistYPtPDGProtonsPass->GetXaxis()->SetTitle("#eta");
else
gHistYPtPDGProtonsPass->GetXaxis()->SetTitle("y");
fNBinsY,fMinY,fMaxY,
fNBinsPt,fMinPt,fMaxPt,
14,-0.5,13.5);
- if(fAnalysisEtaMode)
+ if(fProtonAnalysisBase->GetEtaMode())
gHistYPtPDGAntiProtonsPass->GetXaxis()->SetTitle("#eta");
else
gHistYPtPDGAntiProtonsPass->GetXaxis()->SetTitle("y");
TH1F *gPrimaryProtonsPointOnITSLayer6Pass = new TH1F("gPrimaryProtonsPointOnITSLayer6Pass",
"",10,-1,1);
fQAPrimaryProtonsAcceptedList->Add(gPrimaryProtonsPointOnITSLayer6Pass);
+ TH1F *gPrimaryProtonsNumberOfTPCdEdxPointsPass = new TH1F("gPrimaryProtonsNumberOfTPCdEdxPointsPass","",100,0,200);
+ fQAPrimaryProtonsAcceptedList->Add(gPrimaryProtonsNumberOfTPCdEdxPointsPass);
//Rejected primary protons
/*gDirectory->cd("../");
TH1F *gPrimaryProtonsPointOnITSLayer6Reject = new TH1F("gPrimaryProtonsPointOnITSLayer6Reject",
"",10,-1,1);
fQAPrimaryProtonsRejectedList->Add(gPrimaryProtonsPointOnITSLayer6Reject);
+ TH1F *gPrimaryProtonsNumberOfTPCdEdxPointsReject = new TH1F("gPrimaryProtonsNumberOfTPCdEdxPointsReject","",100,0,200);
+ fQAPrimaryProtonsRejectedList->Add(gPrimaryProtonsNumberOfTPCdEdxPointsReject);
//________________________________________________________________//
/*gDirectory->cd("../../");
TH1F *gSecondaryProtonsPointOnITSLayer6Pass = new TH1F("gSecondaryProtonsPointOnITSLayer6Pass",
"",10,-1,1);
fQASecondaryProtonsAcceptedList->Add(gSecondaryProtonsPointOnITSLayer6Pass);
+ TH1F *gSecondaryProtonsNumberOfTPCdEdxPointsPass = new TH1F("gSecondaryProtonsNumberOfTPCdEdxPointsPass","",100,0,200);
+ fQASecondaryProtonsAcceptedList->Add(gSecondaryProtonsNumberOfTPCdEdxPointsPass);
//Rejected secondary protons
/*gDirectory->cd("../");
TH1F *gSecondaryProtonsPointOnITSLayer6Reject = new TH1F("gSecondaryProtonsPointOnITSLayer6Reject",
"",10,-1,1);
fQASecondaryProtonsRejectedList->Add(gSecondaryProtonsPointOnITSLayer6Reject);
-
+ TH1F *gSecondaryProtonsNumberOfTPCdEdxPointsReject = new TH1F("gSecondaryProtonsNumberOfTPCdEdxPointsReject","",100,0,200);
+ fQASecondaryProtonsRejectedList->Add(gSecondaryProtonsNumberOfTPCdEdxPointsReject);
/*gDirectory->cd("../../../");
TH1F *gPrimaryAntiProtonsPointOnITSLayer6Pass = new TH1F("gPrimaryAntiProtonsPointOnITSLayer6Pass",
"",10,-1,1);
fQAPrimaryAntiProtonsAcceptedList->Add(gPrimaryAntiProtonsPointOnITSLayer6Pass);
+ TH1F *gPrimaryAntiProtonsNumberOfTPCdEdxPointsPass = new TH1F("gPrimaryAntiProtonsNumberOfTPCdEdxPointsPass","",100,0,200);
+ fQAPrimaryAntiProtonsAcceptedList->Add(gPrimaryAntiProtonsNumberOfTPCdEdxPointsPass);
//Rejected primary antiprotons
/*gDirectory->cd("../");
TH1F *gPrimaryAntiProtonsPointOnITSLayer6Reject = new TH1F("gPrimaryAntiProtonsPointOnITSLayer6Reject",
"",10,-1,1);
fQAPrimaryAntiProtonsRejectedList->Add(gPrimaryAntiProtonsPointOnITSLayer6Reject);
+ TH1F *gPrimaryAntiProtonsNumberOfTPCdEdxPointsReject = new TH1F("gPrimaryAntiProtonsNumberOfTPCdEdxPointsReject","",100,0,200);
+ fQAPrimaryAntiProtonsRejectedList->Add(gPrimaryAntiProtonsNumberOfTPCdEdxPointsReject);
//________________________________________________________________//
/*gDirectory->cd("../../");
TH1F *gSecondaryAntiProtonsPointOnITSLayer6Pass = new TH1F("gSecondaryAntiProtonsPointOnITSLayer6Pass",
"",10,-1,1);
fQASecondaryAntiProtonsAcceptedList->Add(gSecondaryAntiProtonsPointOnITSLayer6Pass);
-
+ TH1F *gSecondaryAntiProtonsNumberOfTPCdEdxPointsPass = new TH1F("gSecondaryAntiProtonsNumberOfTPCdEdxPointsPass","",100,0,200);
+ fQASecondaryAntiProtonsAcceptedList->Add(gSecondaryAntiProtonsNumberOfTPCdEdxPointsPass);
+
//Rejected secondary antiprotons
/*gDirectory->cd("../");
TDirectory *dirAntiProtonsSecondaryRejected = gDirectory->mkdir("Rejected");
TH1F *gSecondaryAntiProtonsPointOnITSLayer6Reject = new TH1F("gSecondaryAntiProtonsPointOnITSLayer6Reject",
"",10,-1,1);
fQASecondaryAntiProtonsRejectedList->Add(gSecondaryAntiProtonsPointOnITSLayer6Reject);
+ TH1F *gSecondaryAntiProtonsNumberOfTPCdEdxPointsReject = new TH1F("gSecondaryAntiProtonsNumberOfTPCdEdxPointsReject","",100,0,200);
+ fQASecondaryAntiProtonsRejectedList->Add(gSecondaryAntiProtonsNumberOfTPCdEdxPointsReject);
+}
+
+//____________________________________________________________________//
+void AliProtonQAAnalysis::RunReconstructionEfficiencyAnalysis(AliMCEvent *const mcEvent,
+ AliESDEvent *esd,
+ const AliESDVertex *vertex) {
+ //Run the reconstruction efficiency code (primaries & secondaries)
+ AliStack *stack = mcEvent->Stack();
+
+ Int_t nMCParticles = mcEvent->GetNumberOfTracks();
+ Int_t nMCLabelCounter = 0;
+ TArrayI labelMCArray(nMCParticles);
+
+ for (Int_t iTracks = 0; iTracks < mcEvent->GetNumberOfTracks(); iTracks++) {
+ AliMCParticle *mcTrack = mcEvent->GetTrack(iTracks);
+ if (!mcTrack) {
+ Printf("ERROR: Could not receive track %d (mc loop)", iTracks);
+ continue;
+ }
+ if(TMath::Abs(mcTrack->Eta()) > 1.0) continue;//acceptance
+ if((mcTrack->Pt() > fMaxPt)||(mcTrack->Pt() < fMinPt)) continue;
+ if(fProtonAnalysisBase->GetEtaMode()) {
+ if((mcTrack->Eta() > fMaxY)|| (mcTrack->Eta() < fMinY)) continue;
+ }
+ else
+ if((fProtonAnalysisBase->Rapidity(mcTrack->Px(),mcTrack->Py(),mcTrack->Pz()) > fMaxY)||(fProtonAnalysisBase->Rapidity(mcTrack->Px(),mcTrack->Py(),mcTrack->Pz()) < fMinY)) continue;
+
+ // Loop over Track References
+ Bool_t labelTPC = kFALSE;
+ AliTrackReference* trackRef = 0;
+ for (Int_t iTrackRef = 0; iTrackRef < mcTrack->GetNumberOfTrackReferences(); iTrackRef++) {
+ trackRef = mcTrack->GetTrackReference(iTrackRef);
+ if(trackRef) {
+ Int_t detectorId = trackRef->DetectorId();
+ if (detectorId == AliTrackReference::kTPC) {
+ labelTPC = kTRUE;
+ break;
+ }
+ }
+ }
+
+ //findable tracks
+ if (labelTPC) {
+ TParticle* particle = mcTrack->Particle();
+ if(!particle) continue;
+ Int_t pdgcode = particle->GetPdgCode();
+ if(TMath::Abs(pdgcode) != 2212) continue;
+
+ labelMCArray.AddAt(iTracks,nMCLabelCounter);
+ nMCLabelCounter += 1;
+
+ if(iTracks <= stack->GetNprimary()) {
+ if(pdgcode == 2212) {
+ if(fProtonAnalysisBase->GetEtaMode())
+ ((TH2D *)(fEfficiencyList->At(0)))->Fill(particle->Eta(),
+ particle->Pt());
+ else
+ ((TH2D *)(fEfficiencyList->At(0)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
+ particle->Py(),
+ particle->Pz()),
+ particle->Pt());
+ }//protons
+ if(pdgcode == -2212) {
+ if(fProtonAnalysisBase->GetEtaMode())
+ ((TH2D *)(fEfficiencyList->At(1)))->Fill(particle->Eta(),
+ particle->Pt());
+ else
+ ((TH2D *)(fEfficiencyList->At(1)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
+ particle->Py(),
+ particle->Pz()),
+ particle->Pt());
+ }//antiprotons
+ }//primaries
+ else {
+ //secondaries
+ Int_t lPartMother = -1;
+ Int_t motherPDGCode = -1;
+ lPartMother = particle->GetFirstMother();
+ AliMCParticle *mcMotherTrack = mcEvent->GetTrack(lPartMother);
+ TParticle *motherParticle = mcMotherTrack->Particle();
+ if(motherParticle) motherPDGCode = motherParticle->GetPdgCode();
+
+ if(pdgcode == 2212) {
+ if((particle->GetUniqueID() == 4)&&(TMath::Abs(motherPDGCode) == 3122)) {
+ if(fProtonAnalysisBase->GetEtaMode())
+ ((TH2D *)(fEfficiencyList->At(2)))->Fill(particle->Eta(),
+ particle->Pt());
+ else
+ ((TH2D *)(fEfficiencyList->At(2)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
+ particle->Py(),
+ particle->Pz()),
+ particle->Pt());
+ }//weak decays
+ if((particle->GetUniqueID() == 13)) {
+ if(fProtonAnalysisBase->GetEtaMode())
+ ((TH2D *)(fEfficiencyList->At(4)))->Fill(particle->Eta(),
+ particle->Pt());
+ else
+ ((TH2D *)(fEfficiencyList->At(4)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
+ particle->Py(),
+ particle->Pz()),
+ particle->Pt());
+ }//hadronic interactions
+ }//protons
+ if(pdgcode == -2212) {
+ if((particle->GetUniqueID() == 4)&&(TMath::Abs(motherPDGCode) == 3122)) {
+ if(fProtonAnalysisBase->GetEtaMode())
+ ((TH2D *)(fEfficiencyList->At(3)))->Fill(particle->Eta(),
+ particle->Pt());
+ else
+ ((TH2D *)(fEfficiencyList->At(3)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
+ particle->Py(),
+ particle->Pz()),
+ particle->Pt());
+ }//weak decays
+ if((particle->GetUniqueID() == 13)) {
+ if(fProtonAnalysisBase->GetEtaMode())
+ ((TH2D *)(fEfficiencyList->At(5)))->Fill(particle->Eta(),
+ particle->Pt());
+ else
+ ((TH2D *)(fEfficiencyList->At(5)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
+ particle->Py(),
+ particle->Pz()),
+ particle->Pt());
+ }//hadronic interactions
+ }//antiprotons
+ }//secondaries
+ }//findable tracks
+ }//MC track loop
+
+ //ESD track loop
+ Bool_t iFound = kFALSE;
+ Int_t mcGoods = nMCLabelCounter;
+ for (Int_t k = 0; k < mcGoods; k++) {
+ Int_t mcLabel = labelMCArray.At(k);
+ iFound = kFALSE;
+
+ Int_t nGoodTracks = esd->GetNumberOfTracks();
+ TArrayI labelArray(nGoodTracks);
+ Int_t labelCounter = 0;
+ for(Int_t iTracks = 0; iTracks < nGoodTracks; iTracks++) {
+ AliESDtrack* track = esd->GetTrack(iTracks);
+ if(!track) continue;
+
+ //TPC only
+ if((fProtonAnalysisBase->GetAnalysisMode()==AliProtonAnalysisBase::kTPC)||(fProtonAnalysisBase->GetAnalysisMode()==AliProtonAnalysisBase::kHybrid)) {
+ AliExternalTrackParam *tpcTrack = (AliExternalTrackParam *)track->GetTPCInnerParam();
+ if(!tpcTrack) continue;
+
+ Int_t label = TMath::Abs(track->GetTPCLabel());
+ if(IsLabelUsed(labelArray,label)) continue;
+ labelArray.AddAt(label,labelCounter);
+ labelCounter += 1;
+
+ if (mcLabel != TMath::Abs(label)) continue;
+ if(mcLabel != label) continue;
+
+ TParticle *particle = stack->Particle(label);
+ if(!particle) continue;
+ Int_t pdgcode = particle->GetPdgCode();
+ if(TMath::Abs(particle->Eta()) > 1.0) continue;//acceptance
+ if((particle->Pt() > fMaxPt)||(particle->Pt() < fMinPt)) continue;
+ if(fProtonAnalysisBase->GetEtaMode()) {
+ if((particle->Eta() > fMaxY)|| (particle->Eta() < fMinY)) continue;
+ }
+ else
+ if((fProtonAnalysisBase->Rapidity(particle->Px(),particle->Py(),particle->Pz()) > fMaxY)||(fProtonAnalysisBase->Rapidity(particle->Px(),particle->Py(),particle->Pz()) < fMinY)) continue;
+
+ //Double_t probability[5];
+
+ if(fUseCutsInEfficiency)
+ if(!fProtonAnalysisBase->IsAccepted(esd,vertex,track)) continue;
+
+ //reconstructed primary (anti)protons
+ if(pdgcode == 2212) {
+ if(fProtonAnalysisBase->GetEtaMode())
+ ((TH2D *)(fEfficiencyList->At(12)))->Fill(particle->Eta(),
+ particle->Pt());
+ else
+ ((TH2D *)(fEfficiencyList->At(12)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
+ particle->Py(),
+ particle->Pz()),
+ particle->Pt());
+ if(label <= stack->GetNprimary()) {
+ if(fProtonAnalysisBase->GetEtaMode())
+ ((TH2D *)(fEfficiencyList->At(6)))->Fill(particle->Eta(),
+ particle->Pt());
+ else
+ ((TH2D *)(fEfficiencyList->At(6)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
+ particle->Py(),
+ particle->Pz()),
+ particle->Pt());
+ }//primaries
+ if(label > stack->GetNprimary()) {
+ Int_t lPartMother = -1;
+ Int_t motherPDGCode = -1;
+ lPartMother = particle->GetFirstMother();
+ TParticle *motherParticle = stack->Particle(lPartMother);
+ if(motherParticle) motherPDGCode = motherParticle->GetPdgCode();
+
+ if((particle->GetUniqueID() == 4)&&(TMath::Abs(motherPDGCode) == 3122)) {
+ if(fProtonAnalysisBase->GetEtaMode())
+ ((TH2D *)(fEfficiencyList->At(8)))->Fill(particle->Eta(),
+ particle->Pt());
+ else
+ ((TH2D *)(fEfficiencyList->At(8)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
+ particle->Py(),
+ particle->Pz()),
+ particle->Pt());
+ }//weak decays
+ if((particle->GetUniqueID() == 13)) {
+ if(fProtonAnalysisBase->GetEtaMode())
+ ((TH2D *)(fEfficiencyList->At(10)))->Fill(particle->Eta(),
+ particle->Pt());
+ else
+ ((TH2D *)(fEfficiencyList->At(10)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
+ particle->Py(),
+ particle->Pz()),
+ particle->Pt());
+ }//hadronic interactions
+ }//secondaries
+ }//initial protons
+ if(pdgcode == -2212) {
+ if(fProtonAnalysisBase->GetEtaMode())
+ ((TH2D *)(fEfficiencyList->At(12)))->Fill(particle->Eta(),
+ particle->Pt());
+ else
+ ((TH2D *)(fEfficiencyList->At(12)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
+ particle->Py(),
+ particle->Pz()),
+ particle->Pt());
+ if(label <= stack->GetNprimary()) {
+ if(fProtonAnalysisBase->GetEtaMode())
+ ((TH2D *)(fEfficiencyList->At(7)))->Fill(particle->Eta(),
+ particle->Pt());
+ else
+ ((TH2D *)(fEfficiencyList->At(7)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
+ particle->Py(),
+ particle->Pz()),
+ particle->Pt());
+ }//primaries
+ if(label > stack->GetNprimary()) {
+ Int_t lPartMother = -1;
+ Int_t motherPDGCode = -1;
+ lPartMother = particle->GetFirstMother();
+ TParticle *motherParticle = stack->Particle(lPartMother);
+ if(motherParticle) motherPDGCode = motherParticle->GetPdgCode();
+
+ if((particle->GetUniqueID() == 4)&&(TMath::Abs(motherPDGCode) == 3122)) {
+ if(fProtonAnalysisBase->GetEtaMode())
+ ((TH2D *)(fEfficiencyList->At(9)))->Fill(particle->Eta(),
+ particle->Pt());
+ else
+ ((TH2D *)(fEfficiencyList->At(9)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
+ particle->Py(),
+ particle->Pz()),
+ particle->Pt());
+ }//weak decays
+ if((particle->GetUniqueID() == 13)) {
+ if(fProtonAnalysisBase->GetEtaMode())
+ ((TH2D *)(fEfficiencyList->At(11)))->Fill(particle->Eta(),
+ particle->Pt());
+ else
+ ((TH2D *)(fEfficiencyList->At(11)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
+ particle->Py(),
+ particle->Pz()),
+ particle->Pt());
+ }//hadronic interactions
+ }//secondaries
+ }//initial antiprotons
+ }//TPC only tracks
+ else {
+ Int_t label = TMath::Abs(track->GetLabel());
+ if(IsLabelUsed(labelArray,label)) continue;
+ labelArray.AddAt(label,labelCounter);
+ labelCounter += 1;
+
+ if (mcLabel != TMath::Abs(label)) continue;
+ if(mcLabel != label) continue;
+
+ TParticle *particle = stack->Particle(label);
+ if(!particle) continue;
+ Int_t pdgcode = particle->GetPdgCode();
+ if(TMath::Abs(particle->Eta()) > 1.0) continue;//acceptance
+ if((particle->Pt() > fMaxPt)||(particle->Pt() < fMinPt)) continue;
+ if(fProtonAnalysisBase->GetEtaMode()) {
+ if((particle->Eta() > fMaxY)|| (particle->Eta() < fMinY)) continue;
+ }
+ else
+ if((fProtonAnalysisBase->Rapidity(particle->Px(),particle->Py(),particle->Pz()) > fMaxY)||(fProtonAnalysisBase->Rapidity(particle->Px(),particle->Py(),particle->Pz()) < fMinY)) continue;
+
+ //Double_t probability[5];
+
+ if(fUseCutsInEfficiency)
+ if(!fProtonAnalysisBase->IsAccepted(esd,vertex,track)) continue;
+
+ //reconstructed primary (anti)protons
+ if(pdgcode == 2212) {
+ if(fProtonAnalysisBase->GetEtaMode())
+ ((TH2D *)(fEfficiencyList->At(12)))->Fill(particle->Eta(),
+ particle->Pt());
+ else
+ ((TH2D *)(fEfficiencyList->At(12)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
+ particle->Py(),
+ particle->Pz()),
+ particle->Pt());
+ if(label <= stack->GetNprimary()) {
+ if(fProtonAnalysisBase->GetEtaMode())
+ ((TH2D *)(fEfficiencyList->At(6)))->Fill(particle->Eta(),
+ particle->Pt());
+ else
+ ((TH2D *)(fEfficiencyList->At(6)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
+ particle->Py(),
+ particle->Pz()),
+ particle->Pt());
+ }//primaries
+ if(label > stack->GetNprimary()) {
+ Int_t lPartMother = -1;
+ Int_t motherPDGCode = -1;
+ lPartMother = particle->GetFirstMother();
+ TParticle *motherParticle = stack->Particle(lPartMother);
+ if(motherParticle) motherPDGCode = motherParticle->GetPdgCode();
+
+ if((particle->GetUniqueID() == 4)&&(TMath::Abs(motherPDGCode) == 3122)) {
+ if(fProtonAnalysisBase->GetEtaMode())
+ ((TH2D *)(fEfficiencyList->At(8)))->Fill(particle->Eta(),
+ particle->Pt());
+ else
+ ((TH2D *)(fEfficiencyList->At(8)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
+ particle->Py(),
+ particle->Pz()),
+ particle->Pt());
+ }//weak decays
+ if((particle->GetUniqueID() == 13)) {
+ if(fProtonAnalysisBase->GetEtaMode())
+ ((TH2D *)(fEfficiencyList->At(10)))->Fill(particle->Eta(),
+ particle->Pt());
+ else
+ ((TH2D *)(fEfficiencyList->At(10)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
+ particle->Py(),
+ particle->Pz()),
+ particle->Pt());
+ }//hadronic interactions
+ }//secondaries
+ }//initial protons
+ if(pdgcode == -2212) {
+ if(fProtonAnalysisBase->GetEtaMode())
+ ((TH2D *)(fEfficiencyList->At(12)))->Fill(particle->Eta(),
+ particle->Pt());
+ else
+ ((TH2D *)(fEfficiencyList->At(12)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
+ particle->Py(),
+ particle->Pz()),
+ particle->Pt());
+ if(label <= stack->GetNprimary()) {
+ if(fProtonAnalysisBase->GetEtaMode())
+ ((TH2D *)(fEfficiencyList->At(7)))->Fill(particle->Eta(),
+ particle->Pt());
+ else
+ ((TH2D *)(fEfficiencyList->At(7)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
+ particle->Py(),
+ particle->Pz()),
+ particle->Pt());
+ }//primaries
+ if(label > stack->GetNprimary()) {
+ Int_t lPartMother = -1;
+ Int_t motherPDGCode = -1;
+ lPartMother = particle->GetFirstMother();
+ TParticle *motherParticle = stack->Particle(lPartMother);
+ if(motherParticle) motherPDGCode = motherParticle->GetPdgCode();
+
+ if((particle->GetUniqueID() == 4)&&(TMath::Abs(motherPDGCode) == 3122)) {
+ if(fProtonAnalysisBase->GetEtaMode())
+ ((TH2D *)(fEfficiencyList->At(9)))->Fill(particle->Eta(),
+ particle->Pt());
+ else
+ ((TH2D *)(fEfficiencyList->At(9)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
+ particle->Py(),
+ particle->Pz()),
+ particle->Pt());
+ }//weak decays
+ if((particle->GetUniqueID() == 13)) {
+ if(fProtonAnalysisBase->GetEtaMode())
+ ((TH2D *)(fEfficiencyList->At(11)))->Fill(particle->Eta(),
+ particle->Pt());
+ else
+ ((TH2D *)(fEfficiencyList->At(11)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
+ particle->Py(),
+ particle->Pz()),
+ particle->Pt());
+ }//hadronic interactions
+ }//secondaries
+ }//initial antiprotons
+
+ }//global tracking
+ }//track loop
+ labelArray.Reset();
+ }//loop over findable tracks
+
+ labelMCArray.Reset();
+}
+
+//____________________________________________________________________//
+void AliProtonQAAnalysis::RunPIDEfficiencyAnalysis(AliStack *const stack,
+ AliESDEvent *esd) {
+ Int_t nGoodTracks = esd->GetNumberOfTracks();
+ TArrayI labelArray(nGoodTracks);
+ Int_t labelCounter = 0;
+ for(Int_t iTracks = 0; iTracks < nGoodTracks; iTracks++) {
+ AliESDtrack* track = esd->GetTrack(iTracks);
+ if(!track) continue;
+
+ //TPC only
+ if((fProtonAnalysisBase->GetAnalysisMode()==AliProtonAnalysisBase::kTPC)||(fProtonAnalysisBase->GetAnalysisMode()==AliProtonAnalysisBase::kHybrid)) {
+ AliExternalTrackParam *tpcTrack = (AliExternalTrackParam *)track->GetTPCInnerParam();
+ if(!tpcTrack) continue;
+ }
+
+ Int_t label = TMath::Abs(track->GetLabel());
+ if(IsLabelUsed(labelArray,label)) continue;
+ labelArray.AddAt(label,labelCounter);
+ labelCounter += 1;
+
+ TParticle *particle = stack->Particle(label);
+ if(!particle) continue;
+ Int_t pdgcode = particle->GetPdgCode();
+
+ Int_t nTPCpoints = track->GetTPCsignalN();
+
+ //pid
+ if(fProtonAnalysisBase->IsProton(track)) {
+ if(fProtonAnalysisBase->GetEtaMode())
+ ((TH3D *)(fEfficiencyList->At(14)))->Fill(particle->Eta(),
+ particle->Pt(),nTPCpoints);
+ else ((TH3D *)(fEfficiencyList->At(14)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),particle->Py(),particle->Pz()),particle->Pt(),nTPCpoints);
+ if(TMath::Abs(pdgcode) == 2212) {
+ if(fProtonAnalysisBase->GetEtaMode())
+ ((TH3D *)(fEfficiencyList->At(13)))->Fill(particle->Eta(),
+ particle->Pt(),nTPCpoints);
+ else
+ ((TH3D *)(fEfficiencyList->At(13)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),particle->Py(),particle->Pz()),particle->Pt(),nTPCpoints);
+ }//properly identified as proton
+ else {
+ if(fProtonAnalysisBase->GetEtaMode())
+ ((TH3D *)(fEfficiencyList->At(15)))->Fill(particle->Eta(),
+ particle->Pt(),nTPCpoints);
+ else
+ ((TH3D *)(fEfficiencyList->At(15)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),particle->Py(),particle->Pz()),particle->Pt(),nTPCpoints);
+ }//contamination
+ }//identified as proton
+ }//ESD track loop
+ labelArray.Reset();
}
//____________________________________________________________________//
-void AliProtonQAAnalysis::RunEfficiencyAnalysis(AliStack *stack,
+void AliProtonQAAnalysis::RunEfficiencyAnalysis(AliStack *const stack,
AliESDEvent *esd,
const AliESDVertex *vertex) {
//Runs the efficiency code
if(TMath::Abs(particle->Eta()) > 1.0) continue;//acceptance
if((particle->Pt() > fMaxPt)||(particle->Pt() < fMinPt)) continue;
- if(fAnalysisEtaMode) {
+ if(fProtonAnalysisBase->GetEtaMode()) {
if((particle->Eta() > fMaxY)|| (particle->Eta() < fMinY)) continue;
}
else
- if((Rapidity(particle->Px(),particle->Py(),particle->Pz()) > fMaxY)||(Rapidity(particle->Px(),particle->Py(),particle->Pz()) < fMinY)) continue;
+ if((fProtonAnalysisBase->Rapidity(particle->Px(),particle->Py(),particle->Pz()) > fMaxY)||(fProtonAnalysisBase->Rapidity(particle->Px(),particle->Py(),particle->Pz()) < fMinY)) continue;
Int_t pdgcode = particle->GetPdgCode();
if(TMath::Abs(pdgcode) != 2212) continue;
if(iParticle <= stack->GetNprimary()) {
if(pdgcode == 2212) {
nMCProtons += 1;
- if(fAnalysisEtaMode)
+ if(fProtonAnalysisBase->GetEtaMode())
((TH2D *)(fEfficiencyList->At(0)))->Fill(particle->Eta(),
particle->Pt());
else
- ((TH2D *)(fEfficiencyList->At(0)))->Fill(Rapidity(particle->Px(),
+ ((TH2D *)(fEfficiencyList->At(0)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
particle->Py(),
particle->Pz()),
particle->Pt());
}//protons
if(pdgcode == -2212) {
- if(fAnalysisEtaMode)
+ if(fProtonAnalysisBase->GetEtaMode())
((TH2D *)(fEfficiencyList->At(1)))->Fill(particle->Eta(),
particle->Pt());
else
- ((TH2D *)(fEfficiencyList->At(1)))->Fill(Rapidity(particle->Px(),
+ ((TH2D *)(fEfficiencyList->At(1)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
particle->Py(),
particle->Pz()),
particle->Pt());
if(pdgcode == 2212) {
if((particle->GetUniqueID() == 4)&&(TMath::Abs(motherPDGCode) == 3122)) {
- if(fAnalysisEtaMode)
+ if(fProtonAnalysisBase->GetEtaMode())
((TH2D *)(fEfficiencyList->At(2)))->Fill(particle->Eta(),
particle->Pt());
else
- ((TH2D *)(fEfficiencyList->At(2)))->Fill(Rapidity(particle->Px(),
+ ((TH2D *)(fEfficiencyList->At(2)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
particle->Py(),
particle->Pz()),
particle->Pt());
}//weak decays
if((particle->GetUniqueID() == 13)) {
- if(fAnalysisEtaMode)
+ if(fProtonAnalysisBase->GetEtaMode())
((TH2D *)(fEfficiencyList->At(4)))->Fill(particle->Eta(),
particle->Pt());
else
- ((TH2D *)(fEfficiencyList->At(4)))->Fill(Rapidity(particle->Px(),
- particle->Py(),
- particle->Pz()),
+ ((TH2D *)(fEfficiencyList->At(4)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
+ particle->Py(),
+ particle->Pz()),
particle->Pt());
}//hadronic interactions
}//protons
if(pdgcode == -2212) {
if((particle->GetUniqueID() == 4)&&(TMath::Abs(motherPDGCode) == 3122)) {
- if(fAnalysisEtaMode)
+ if(fProtonAnalysisBase->GetEtaMode())
((TH2D *)(fEfficiencyList->At(3)))->Fill(particle->Eta(),
particle->Pt());
else
- ((TH2D *)(fEfficiencyList->At(3)))->Fill(Rapidity(particle->Px(),
+ ((TH2D *)(fEfficiencyList->At(3)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
particle->Py(),
particle->Pz()),
particle->Pt());
}//weak decays
if((particle->GetUniqueID() == 13)) {
- if(fAnalysisEtaMode)
+ if(fProtonAnalysisBase->GetEtaMode())
((TH2D *)(fEfficiencyList->At(5)))->Fill(particle->Eta(),
particle->Pt());
else
- ((TH2D *)(fEfficiencyList->At(5)))->Fill(Rapidity(particle->Px(),
+ ((TH2D *)(fEfficiencyList->At(5)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
particle->Py(),
particle->Pz()),
particle->Pt());
Int_t pdgcode = particle->GetPdgCode();
if(TMath::Abs(particle->Eta()) > 1.0) continue;//acceptance
- Double_t Pt = 0.0, P = 0.0;
- Double_t probability[5];
+ Double_t gPt = 0.0, gP = 0.0;
//TPC only
- if(fUseTPCOnly) {
+ if((fProtonAnalysisBase->GetAnalysisMode()==AliProtonAnalysisBase::kTPC)||(fProtonAnalysisBase->GetAnalysisMode()==AliProtonAnalysisBase::kHybrid)) {
AliExternalTrackParam *tpcTrack = (AliExternalTrackParam *)track->GetTPCInnerParam();
if(!tpcTrack) continue;
- Pt = tpcTrack->Pt();
- P = tpcTrack->P();
+ gPt = tpcTrack->Pt();
+ gP = tpcTrack->P();
if((particle->Pt() > fMaxPt)||(particle->Pt() < fMinPt)) continue;
- if(fAnalysisEtaMode) {
+ if(fProtonAnalysisBase->GetEtaMode()) {
if((particle->Eta() > fMaxY)|| (particle->Eta() < fMinY)) continue;
}
else
- if((Rapidity(particle->Px(),particle->Py(),particle->Pz()) > fMaxY)||(Rapidity(particle->Px(),particle->Py(),particle->Pz()) < fMinY)) continue;
+ if((fProtonAnalysisBase->Rapidity(particle->Px(),particle->Py(),particle->Pz()) > fMaxY)||(fProtonAnalysisBase->Rapidity(particle->Px(),particle->Py(),particle->Pz()) < fMinY)) continue;
if(fUseCutsInEfficiency)
- if(!IsAccepted(esd,vertex,track)) continue;
+ if(!fProtonAnalysisBase->IsAccepted(esd,vertex,track)) continue;
//reconstructed primary (anti)protons
if(pdgcode == 2212) {
- if(fAnalysisEtaMode)
+ if(fProtonAnalysisBase->GetEtaMode())
((TH2D *)(fEfficiencyList->At(12)))->Fill(particle->Eta(),
particle->Pt());
else
- ((TH2D *)(fEfficiencyList->At(12)))->Fill(Rapidity(particle->Px(),
+ ((TH2D *)(fEfficiencyList->At(12)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
particle->Py(),
particle->Pz()),
particle->Pt());
if(label <= stack->GetNprimary()) {
nESDProtons += 1;
- if(fAnalysisEtaMode)
+ if(fProtonAnalysisBase->GetEtaMode())
((TH2D *)(fEfficiencyList->At(6)))->Fill(particle->Eta(),
particle->Pt());
else
- ((TH2D *)(fEfficiencyList->At(6)))->Fill(Rapidity(particle->Px(),
+ ((TH2D *)(fEfficiencyList->At(6)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
particle->Py(),
particle->Pz()),
particle->Pt());
if(motherParticle) motherPDGCode = motherParticle->GetPdgCode();
if((particle->GetUniqueID() == 4)&&(TMath::Abs(motherPDGCode) == 3122)) {
- if(fAnalysisEtaMode)
+ if(fProtonAnalysisBase->GetEtaMode())
((TH2D *)(fEfficiencyList->At(8)))->Fill(particle->Eta(),
particle->Pt());
else
- ((TH2D *)(fEfficiencyList->At(8)))->Fill(Rapidity(particle->Px(),
+ ((TH2D *)(fEfficiencyList->At(8)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
particle->Py(),
particle->Pz()),
particle->Pt());
}//weak decays
if((particle->GetUniqueID() == 13)) {
- if(fAnalysisEtaMode)
+ if(fProtonAnalysisBase->GetEtaMode())
((TH2D *)(fEfficiencyList->At(10)))->Fill(particle->Eta(),
particle->Pt());
else
- ((TH2D *)(fEfficiencyList->At(10)))->Fill(Rapidity(particle->Px(),
+ ((TH2D *)(fEfficiencyList->At(10)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
particle->Py(),
particle->Pz()),
particle->Pt());
}//secondaries
}//initial protons
if(pdgcode == -2212) {
- if(fAnalysisEtaMode)
+ if(fProtonAnalysisBase->GetEtaMode())
((TH2D *)(fEfficiencyList->At(12)))->Fill(particle->Eta(),
particle->Pt());
else
- ((TH2D *)(fEfficiencyList->At(12)))->Fill(Rapidity(particle->Px(),
+ ((TH2D *)(fEfficiencyList->At(12)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
particle->Py(),
particle->Pz()),
particle->Pt());
if(label <= stack->GetNprimary()) {
- if(fAnalysisEtaMode)
+ if(fProtonAnalysisBase->GetEtaMode())
((TH2D *)(fEfficiencyList->At(7)))->Fill(particle->Eta(),
particle->Pt());
else
- ((TH2D *)(fEfficiencyList->At(7)))->Fill(Rapidity(particle->Px(),
+ ((TH2D *)(fEfficiencyList->At(7)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
particle->Py(),
particle->Pz()),
particle->Pt());
if(motherParticle) motherPDGCode = motherParticle->GetPdgCode();
if((particle->GetUniqueID() == 4)&&(TMath::Abs(motherPDGCode) == 3122)) {
- if(fAnalysisEtaMode)
+ if(fProtonAnalysisBase->GetEtaMode())
((TH2D *)(fEfficiencyList->At(9)))->Fill(particle->Eta(),
particle->Pt());
else
- ((TH2D *)(fEfficiencyList->At(9)))->Fill(Rapidity(particle->Px(),
+ ((TH2D *)(fEfficiencyList->At(9)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
particle->Py(),
particle->Pz()),
particle->Pt());
}//weak decays
if((particle->GetUniqueID() == 13)) {
- if(fAnalysisEtaMode)
+ if(fProtonAnalysisBase->GetEtaMode())
((TH2D *)(fEfficiencyList->At(11)))->Fill(particle->Eta(),
particle->Pt());
else
- ((TH2D *)(fEfficiencyList->At(11)))->Fill(Rapidity(particle->Px(),
+ ((TH2D *)(fEfficiencyList->At(11)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
particle->Py(),
particle->Pz()),
particle->Pt());
}//initial antiprotons
//pid
- track->GetTPCpid(probability);
- Double_t rcc = 0.0;
- for(Int_t i = 0; i < AliPID::kSPECIES; i++)
- rcc += probability[i]*GetParticleFraction(i,P);
- if(rcc == 0.0) continue;
- Double_t w[5];
- for(Int_t i = 0; i < AliPID::kSPECIES; i++)
- w[i] = probability[i]*GetParticleFraction(i,P)/rcc;
- Long64_t fParticleType = TMath::LocMax(AliPID::kSPECIES,w);
- if(fParticleType == 4) {
- if(fAnalysisEtaMode)
+ if(fProtonAnalysisBase->IsProton(track)) {
+ if(fProtonAnalysisBase->GetEtaMode())
((TH2D *)(fEfficiencyList->At(14)))->Fill(particle->Eta(),
particle->Pt());
else
- ((TH2D *)(fEfficiencyList->At(14)))->Fill(Rapidity(particle->Px(),
+ ((TH2D *)(fEfficiencyList->At(14)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
particle->Py(),
particle->Pz()),
particle->Pt());
if(TMath::Abs(pdgcode) == 2212) {
- if(fAnalysisEtaMode)
+ if(fProtonAnalysisBase->GetEtaMode())
((TH2D *)(fEfficiencyList->At(13)))->Fill(particle->Eta(),
particle->Pt());
else
- ((TH2D *)(fEfficiencyList->At(13)))->Fill(Rapidity(particle->Px(),
+ ((TH2D *)(fEfficiencyList->At(13)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
particle->Py(),
particle->Pz()),
particle->Pt());
}//properly identified as proton
else {
- if(fAnalysisEtaMode)
+ if(fProtonAnalysisBase->GetEtaMode())
((TH2D *)(fEfficiencyList->At(15)))->Fill(particle->Eta(),
particle->Pt());
else
- ((TH2D *)(fEfficiencyList->At(15)))->Fill(Rapidity(particle->Px(),
+ ((TH2D *)(fEfficiencyList->At(15)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
particle->Py(),
particle->Pz()),
particle->Pt());
}//contamination
}//identified as proton
}//TPC only tracks
- else if(!fUseTPCOnly) {
+ else {
if((particle->Pt() > fMaxPt)||(particle->Pt() < fMinPt)) continue;
- if(fAnalysisEtaMode) {
+ if(fProtonAnalysisBase->GetEtaMode()) {
if((particle->Eta() > fMaxY)|| (particle->Eta() < fMinY)) continue;
}
else {
- if((Rapidity(particle->Px(),particle->Py(),particle->Pz()) > fMaxY)||(Rapidity(particle->Px(),particle->Py(),particle->Pz()) < fMinY)) continue;
+ if((fProtonAnalysisBase->Rapidity(particle->Px(),particle->Py(),particle->Pz()) > fMaxY)||(fProtonAnalysisBase->Rapidity(particle->Px(),particle->Py(),particle->Pz()) < fMinY)) continue;
}
if(fUseCutsInEfficiency)
- if(!IsAccepted(esd,vertex,track)) continue;
+ if(!fProtonAnalysisBase->IsAccepted(esd,vertex,track)) continue;
//reconstructed primary (anti)protons
if(pdgcode == 2212) {
- if(fAnalysisEtaMode)
+ if(fProtonAnalysisBase->GetEtaMode())
((TH2D *)(fEfficiencyList->At(12)))->Fill(particle->Eta(),
particle->Pt());
else
- ((TH2D *)(fEfficiencyList->At(12)))->Fill(Rapidity(particle->Px(),
+ ((TH2D *)(fEfficiencyList->At(12)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
particle->Py(),
particle->Pz()),
particle->Pt());
if(label <= stack->GetNprimary()) {
nESDProtons += 1;
- if(fAnalysisEtaMode)
+ if(fProtonAnalysisBase->GetEtaMode())
((TH2D *)(fEfficiencyList->At(6)))->Fill(particle->Eta(),
particle->Pt());
else
- ((TH2D *)(fEfficiencyList->At(6)))->Fill(Rapidity(particle->Px(),
+ ((TH2D *)(fEfficiencyList->At(6)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
particle->Py(),
particle->Pz()),
particle->Pt());
if(motherParticle) motherPDGCode = motherParticle->GetPdgCode();
if((particle->GetUniqueID() == 4)&&(TMath::Abs(motherPDGCode) == 3122)) {
- if(fAnalysisEtaMode)
+ if(fProtonAnalysisBase->GetEtaMode())
((TH2D *)(fEfficiencyList->At(8)))->Fill(particle->Eta(),
particle->Pt());
else
- ((TH2D *)(fEfficiencyList->At(8)))->Fill(Rapidity(particle->Px(),
+ ((TH2D *)(fEfficiencyList->At(8)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
particle->Py(),
particle->Pz()),
particle->Pt());
}//weak decays
if((particle->GetUniqueID() == 13)) {
- if(fAnalysisEtaMode)
+ if(fProtonAnalysisBase->GetEtaMode())
((TH2D *)(fEfficiencyList->At(10)))->Fill(particle->Eta(),
particle->Pt());
else
- ((TH2D *)(fEfficiencyList->At(10)))->Fill(Rapidity(particle->Px(),
+ ((TH2D *)(fEfficiencyList->At(10)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
particle->Py(),
particle->Pz()),
particle->Pt());
}//secondaries
}//initial protons
if(pdgcode == -2212) {
- if(fAnalysisEtaMode)
+ if(fProtonAnalysisBase->GetEtaMode())
((TH2D *)(fEfficiencyList->At(12)))->Fill(particle->Eta(),
particle->Pt());
else
- ((TH2D *)(fEfficiencyList->At(12)))->Fill(Rapidity(particle->Px(),
+ ((TH2D *)(fEfficiencyList->At(12)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
particle->Py(),
particle->Pz()),
particle->Pt());
if(label <= stack->GetNprimary()) {
- if(fAnalysisEtaMode)
+ if(fProtonAnalysisBase->GetEtaMode())
((TH2D *)(fEfficiencyList->At(7)))->Fill(particle->Eta(),
particle->Pt());
else
- ((TH2D *)(fEfficiencyList->At(7)))->Fill(Rapidity(particle->Px(),
+ ((TH2D *)(fEfficiencyList->At(7)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
particle->Py(),
particle->Pz()),
particle->Pt());
if(motherParticle) motherPDGCode = motherParticle->GetPdgCode();
if((particle->GetUniqueID() == 4)&&(TMath::Abs(motherPDGCode) == 3122)) {
- if(fAnalysisEtaMode)
+ if(fProtonAnalysisBase->GetEtaMode())
((TH2D *)(fEfficiencyList->At(9)))->Fill(particle->Eta(),
particle->Pt());
else
- ((TH2D *)(fEfficiencyList->At(9)))->Fill(Rapidity(particle->Px(),
+ ((TH2D *)(fEfficiencyList->At(9)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
particle->Py(),
particle->Pz()),
particle->Pt());
}//weak decays
if((particle->GetUniqueID() == 13)) {
- if(fAnalysisEtaMode)
+ if(fProtonAnalysisBase->GetEtaMode())
((TH2D *)(fEfficiencyList->At(11)))->Fill(particle->Eta(),
particle->Pt());
else
- ((TH2D *)(fEfficiencyList->At(11)))->Fill(Rapidity(particle->Px(),
+ ((TH2D *)(fEfficiencyList->At(11)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
particle->Py(),
particle->Pz()),
particle->Pt());
}//initial antiprotons
//pid
- track->GetESDpid(probability);
- Double_t rcc = 0.0;
- for(Int_t i = 0; i < AliPID::kSPECIES; i++)
- rcc += probability[i]*GetParticleFraction(i,P);
- if(rcc == 0.0) continue;
- Double_t w[5];
- for(Int_t i = 0; i < AliPID::kSPECIES; i++)
- w[i] = probability[i]*GetParticleFraction(i,P)/rcc;
- Long64_t fParticleType = TMath::LocMax(AliPID::kSPECIES,w);
- if(fParticleType == 4) {
- if(fAnalysisEtaMode)
+ if(fProtonAnalysisBase->IsProton(track)) {
+ if(fProtonAnalysisBase->GetEtaMode())
((TH2D *)(fEfficiencyList->At(14)))->Fill(particle->Eta(),
particle->Pt());
- else ((TH2D *)(fEfficiencyList->At(14)))->Fill(Rapidity(particle->Px(),
+ else ((TH2D *)(fEfficiencyList->At(14)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
particle->Py(),
particle->Pz()),
particle->Pt());
if(TMath::Abs(pdgcode) == 2212) {
- if(fAnalysisEtaMode)
+ if(fProtonAnalysisBase->GetEtaMode())
((TH2D *)(fEfficiencyList->At(13)))->Fill(particle->Eta(),
particle->Pt());
else
- ((TH2D *)(fEfficiencyList->At(13)))->Fill(Rapidity(particle->Px(),
+ ((TH2D *)(fEfficiencyList->At(13)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
particle->Py(),
particle->Pz()),
particle->Pt());
}//properly identified as proton
else {
- if(fAnalysisEtaMode)
+ if(fProtonAnalysisBase->GetEtaMode())
((TH2D *)(fEfficiencyList->At(15)))->Fill(particle->Eta(),
particle->Pt());
else
- ((TH2D *)(fEfficiencyList->At(15)))->Fill(Rapidity(particle->Px(),
+ ((TH2D *)(fEfficiencyList->At(15)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
particle->Py(),
particle->Pz()),
particle->Pt());
//____________________________________________________________________//
void AliProtonQAAnalysis::RunVertexQA(AliGenEventHeader *header,
- AliStack *stack,
- AliESDEvent *esd) {
+ AliStack *const stack,
+ AliESDEvent *const esd) {
//Runs the vertex QA
//MC vertex
TArrayF primaryVertex(3);
header->PrimaryVertex(primaryVertex);
- Int_t nPrimaries = stack->GetNprimary();
- ((TH1F *)(fQAVertexList->At(0)))->Fill(nPrimaries);
+ //Int_t nPrimaries = stack->GetNprimary();
+ ((TH1F *)(fQAVertexList->At(0)))->Fill(primaryVertex[2]);
//TPC vertex
const AliESDVertex *vertexTPC = esd->GetPrimaryVertexTPC();
return;
}
if(vertexTPC->GetNContributors() > 0) {
- ((TH1F *)(fQAVertexList->At(1)))->Fill(nPrimaries);
+ ((TH1F *)(fQAVertexList->At(1)))->Fill(primaryVertex[2]);
((TH2F *)(fQAVertexList->At(2)))->Fill(vertexTPC->GetXv(),
vertexTPC->GetNContributors());
((TH2F *)(fQAVertexList->At(3)))->Fill(vertexTPC->GetYv(),
return;
}
if(vertexSPD->GetNContributors() > 0) {
- ((TH1F *)(fQAVertexList->At(11)))->Fill(nPrimaries);
+ ((TH1F *)(fQAVertexList->At(11)))->Fill(primaryVertex[2]);
((TH2F *)(fQAVertexList->At(12)))->Fill(vertexSPD->GetXv(),
vertexSPD->GetNContributors());
((TH2F *)(fQAVertexList->At(13)))->Fill(vertexSPD->GetYv(),
return;
}
if(vertexTracks->GetNContributors() > 0) {
- ((TH1F *)(fQAVertexList->At(21)))->Fill(nPrimaries);
+ ((TH1F *)(fQAVertexList->At(21)))->Fill(primaryVertex[2]);
((TH2F *)(fQAVertexList->At(22)))->Fill(vertexTracks->GetXv(),
vertexTracks->GetNContributors());
((TH2F *)(fQAVertexList->At(23)))->Fill(vertexTracks->GetYv(),
if(TMath::Abs(particle->Eta()) > 1.0) continue;//acceptance
if((particle->Pt() > fMaxPt)||(particle->Pt() < fMinPt)) continue;
- if(fAnalysisEtaMode) {
+ if(fProtonAnalysisBase->GetEtaMode()) {
if((particle->Eta() > fMaxY)||(particle->Eta() < fMinY)) continue;
}
else {
- if((Rapidity(particle->Px(),particle->Py(),particle->Pz()) > fMaxY)||(Rapidity(particle->Px(),particle->Py(),particle->Pz()) < fMinY)) continue;
+ if((fProtonAnalysisBase->Rapidity(particle->Px(),particle->Py(),particle->Pz()) > fMaxY)||(fProtonAnalysisBase->Rapidity(particle->Px(),particle->Py(),particle->Pz()) < fMinY)) continue;
}
Int_t pdgcode = particle->GetPdgCode();
if(pdgcode == 2212) {
- if(fAnalysisEtaMode)
+ if(fProtonAnalysisBase->GetEtaMode())
((TH2D *)(fQA2DList->At(8)))->Fill(particle->Eta(),
particle->Pt());
else
- ((TH2D *)(fQA2DList->At(8)))->Fill(Rapidity(particle->Px(),
+ ((TH2D *)(fQA2DList->At(8)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
particle->Py(),
particle->Pz()),
particle->Pt());
}
if(pdgcode == -2212) {
- if(fAnalysisEtaMode)
+ if(fProtonAnalysisBase->GetEtaMode())
((TH2D *)(fQA2DList->At(9)))->Fill(particle->Eta(),
particle->Pt());
else
- ((TH2D *)(fQA2DList->At(9)))->Fill(Rapidity(particle->Px(),
+ ((TH2D *)(fQA2DList->At(9)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
particle->Py(),
particle->Pz()),
particle->Pt());
AliESDtrack trackTPC;
//in case it's a TPC only track relate it to the proper vertex
- if((fUseTPCOnly)&&(!fUseHybridTPC)) {
+ if((fProtonAnalysisBase->GetAnalysisMode()==AliProtonAnalysisBase::kTPC)&&(!fProtonAnalysisBase->GetAnalysisMode()==AliProtonAnalysisBase::kHybrid)) {
+ //if((fUseTPCOnly)&&(!fUseHybridTPC)) {
Float_t p[2],cov[3];
track->GetImpactParametersTPC(p,cov);
if (p[0]==0 && p[1]==0)
track = &trackTPC ;
}
- Double_t Pt = 0.0, P = 0.0;
- Double_t probability[5];
+ Double_t gPt = 0.0, gP = 0.0;
+ //Double_t probability[5];
Float_t dcaXY = 0.0, dcaZ = 0.0;
- Double_t nSigmaToVertex = GetSigmaToVertex(track);
+ Double_t nSigmaToVertex = fProtonAnalysisBase->GetSigmaToVertex(track);
Int_t fIdxInt[200];
Int_t nClustersITS = track->GetITSclusters(fIdxInt);
Int_t nClustersTPC = track->GetTPCclusters(fIdxInt);
Double_t chi2ConstrainVertex = TMath::Log(track->GetConstrainedChi2());
Double_t extCov[15];
track->GetExternalCovariance(extCov);
-
+ Int_t npointsTPCdEdx = track->GetTPCsignalN();
+
//TPC only
- if(fUseTPCOnly) {
+ if((fProtonAnalysisBase->GetAnalysisMode()==AliProtonAnalysisBase::kTPC)||(fProtonAnalysisBase->GetAnalysisMode()==AliProtonAnalysisBase::kHybrid)) {
AliExternalTrackParam *tpcTrack = (AliExternalTrackParam *)track->GetTPCInnerParam();
if(!tpcTrack) continue;
- Pt = tpcTrack->Pt();
- P = tpcTrack->P();
- if(fUseHybridTPC) track->GetImpactParameters(dcaXY,dcaZ);
+ gPt = tpcTrack->Pt();
+ gP = tpcTrack->P();
+ if(fProtonAnalysisBase->GetAnalysisMode()==AliProtonAnalysisBase::kHybrid)
+ track->GetImpactParameters(dcaXY,dcaZ);
else track->GetImpactParametersTPC(dcaXY,dcaZ);
//pid
- track->GetTPCpid(probability);
- Double_t rcc = 0.0;
- for(Int_t i = 0; i < AliPID::kSPECIES; i++)
- rcc += probability[i]*GetParticleFraction(i,P);
- if(rcc == 0.0) continue;
- Double_t w[5];
- for(Int_t i = 0; i < AliPID::kSPECIES; i++)
- w[i] = probability[i]*GetParticleFraction(i,P)/rcc;
- Long64_t fParticleType = TMath::LocMax(AliPID::kSPECIES,w);
- if(fParticleType == 4) {
- if(!IsInPhaseSpace(track)) continue; //track outside the analyzed y-Pt
+ if(fProtonAnalysisBase->IsProton(track)) {
+ if(!fProtonAnalysisBase->IsInPhaseSpace(track)) continue; //track outside the analyzed y-Pt
FillQA(stack,esd,vertex,track);
- if(IsAccepted(esd,vertex,track)) {
+ if(fProtonAnalysisBase->IsAccepted(esd,vertex,track)) {
if(label <= stack->GetNprimary()) {
if(track->Charge() > 0) {
for(Int_t iLayer = 0; iLayer < 6; iLayer++) {
((TH3D *)(fAcceptedCutList->At(44)))->Fill(tpcTrack->Eta(),
tpcTrack->Phi()*180./TMath::Pi(),
nClustersTPC);
+ ((TH3D *)(fAcceptedCutList->At(48)))->Fill(tpcTrack->Eta(),
+ tpcTrack->Phi()*180./TMath::Pi(),
+ chi2PerClusterTPC);
+ ((TH3D *)(fAcceptedCutList->At(52)))->Fill(tpcTrack->Eta(),
+ tpcTrack->Phi()*180./TMath::Pi(),
+ npointsTPCdEdx);
+ ((TH1D *)(fAcceptedCutList->At(56)))->Fill(npointsTPCdEdx);
((TH1F *)(fAcceptedDCAList->At(0)))->Fill(TMath::Abs(dcaXY));
((TH1F *)(fAcceptedDCAList->At(4)))->Fill(TMath::Abs(dcaZ));
((TH1F *)(fAcceptedDCAList->At(8)))->Fill(nSigmaToVertex);
- if(fAnalysisEtaMode)
- ((TH2D *)(fQA2DList->At(0)))->Fill(tpcTrack->Eta(),Pt);
+ if(fProtonAnalysisBase->GetEtaMode())
+ ((TH2D *)(fQA2DList->At(0)))->Fill(tpcTrack->Eta(),gPt);
else
- ((TH2D *)(fQA2DList->At(0)))->Fill(Rapidity(tpcTrack->Px(),
+ ((TH2D *)(fQA2DList->At(0)))->Fill(fProtonAnalysisBase->Rapidity(tpcTrack->Px(),
tpcTrack->Py(),
tpcTrack->Pz()),
- Pt);
+ gPt);
}//accepted primary protons
else if(track->Charge() < 0) {
for(Int_t iLayer = 0; iLayer < 6; iLayer++) {
((TH3D *)(fAcceptedCutList->At(45)))->Fill(tpcTrack->Eta(),
tpcTrack->Phi()*180./TMath::Pi(),
nClustersTPC);
+ ((TH3D *)(fAcceptedCutList->At(49)))->Fill(tpcTrack->Eta(),
+ tpcTrack->Phi()*180./TMath::Pi(),
+ chi2PerClusterTPC);
+ ((TH3D *)(fAcceptedCutList->At(53)))->Fill(tpcTrack->Eta(),
+ tpcTrack->Phi()*180./TMath::Pi(),
+ npointsTPCdEdx);
+ ((TH1D *)(fAcceptedCutList->At(57)))->Fill(npointsTPCdEdx);
((TH1F *)(fAcceptedDCAList->At(1)))->Fill(TMath::Abs(dcaXY));
((TH1F *)(fAcceptedDCAList->At(5)))->Fill(TMath::Abs(dcaZ));
((TH1F *)(fAcceptedDCAList->At(9)))->Fill(nSigmaToVertex);
- if(fAnalysisEtaMode)
- ((TH2D *)(fQA2DList->At(4)))->Fill(tpcTrack->Eta(),Pt);
+ if(fProtonAnalysisBase->GetEtaMode())
+ ((TH2D *)(fQA2DList->At(4)))->Fill(tpcTrack->Eta(),gPt);
else
- ((TH2D *)(fQA2DList->At(4)))->Fill(Rapidity(tpcTrack->Px(),
+ ((TH2D *)(fQA2DList->At(4)))->Fill(fProtonAnalysisBase->Rapidity(tpcTrack->Px(),
tpcTrack->Py(),
tpcTrack->Pz()),
- Pt);
+ gPt);
}//accepted primary antiprotons
}//accepted primary particles
else if(label > stack->GetNprimary()) {
((TH3D *)(fAcceptedCutList->At(46)))->Fill(tpcTrack->Eta(),
tpcTrack->Phi()*180./TMath::Pi(),
nClustersTPC);
-
+ ((TH3D *)(fAcceptedCutList->At(50)))->Fill(tpcTrack->Eta(),
+ tpcTrack->Phi()*180./TMath::Pi(),
+ chi2PerClusterTPC);
+ ((TH3D *)(fAcceptedCutList->At(54)))->Fill(tpcTrack->Eta(),
+ tpcTrack->Phi()*180./TMath::Pi(),
+ npointsTPCdEdx);
+ ((TH1D *)(fAcceptedCutList->At(58)))->Fill(npointsTPCdEdx);
+
((TH1F *)(fAcceptedDCAList->At(2)))->Fill(TMath::Abs(dcaXY));
((TH1F *)(fAcceptedDCAList->At(6)))->Fill(TMath::Abs(dcaZ));
((TH1F *)(fAcceptedDCAList->At(10)))->Fill(nSigmaToVertex);
- if(fAnalysisEtaMode)
- ((TH2D *)(fQA2DList->At(2)))->Fill(tpcTrack->Eta(),Pt);
+ if(fProtonAnalysisBase->GetEtaMode())
+ ((TH2D *)(fQA2DList->At(2)))->Fill(tpcTrack->Eta(),gPt);
else
- ((TH2D *)(fQA2DList->At(2)))->Fill(Rapidity(tpcTrack->Px(),
+ ((TH2D *)(fQA2DList->At(2)))->Fill(fProtonAnalysisBase->Rapidity(tpcTrack->Px(),
tpcTrack->Py(),
tpcTrack->Pz()),
- Pt);
- if(fAnalysisEtaMode)
- ((TH3F *)(fQA2DList->At(10)))->Fill(tpcTrack->Eta(),Pt,
+ gPt);
+ if(fProtonAnalysisBase->GetEtaMode())
+ ((TH3F *)(fQA2DList->At(10)))->Fill(tpcTrack->Eta(),gPt,
ConvertPDGToInt(motherPDGCode));
else
- ((TH3F *)(fQA2DList->At(10)))->Fill(Rapidity(tpcTrack->Px(),
+ ((TH3F *)(fQA2DList->At(10)))->Fill(fProtonAnalysisBase->Rapidity(tpcTrack->Px(),
tpcTrack->Py(),
tpcTrack->Pz()),
- Pt,
+ gPt,
ConvertPDGToInt(motherPDGCode));
}//accepted secondary protons
else if(track->Charge() < 0) {
((TH3D *)(fAcceptedCutList->At(47)))->Fill(tpcTrack->Eta(),
tpcTrack->Phi()*180./TMath::Pi(),
nClustersTPC);
-
+ ((TH3D *)(fAcceptedCutList->At(51)))->Fill(tpcTrack->Eta(),
+ tpcTrack->Phi()*180./TMath::Pi(),
+ chi2PerClusterTPC);
+ ((TH3D *)(fAcceptedCutList->At(55)))->Fill(tpcTrack->Eta(),
+ tpcTrack->Phi()*180./TMath::Pi(),
+ npointsTPCdEdx);
+ ((TH1F *)(fAcceptedCutList->At(59)))->Fill(npointsTPCdEdx);
+
((TH1F *)(fAcceptedDCAList->At(3)))->Fill(TMath::Abs(dcaXY));
((TH1F *)(fAcceptedDCAList->At(7)))->Fill(TMath::Abs(dcaZ));
((TH1F *)(fAcceptedDCAList->At(11)))->Fill(nSigmaToVertex);
- if(fAnalysisEtaMode)
- ((TH2D *)(fQA2DList->At(6)))->Fill(tpcTrack->Eta(),Pt);
+ if(fProtonAnalysisBase->GetEtaMode())
+ ((TH2D *)(fQA2DList->At(6)))->Fill(tpcTrack->Eta(),gPt);
else
- ((TH2D *)(fQA2DList->At(6)))->Fill(Rapidity(tpcTrack->Px(),
+ ((TH2D *)(fQA2DList->At(6)))->Fill(fProtonAnalysisBase->Rapidity(tpcTrack->Px(),
tpcTrack->Py(),
tpcTrack->Pz()),
- Pt);
- if(fAnalysisEtaMode)
- ((TH3F *)(fQA2DList->At(11)))->Fill(tpcTrack->Eta(),Pt,
+ gPt);
+ if(fProtonAnalysisBase->GetEtaMode())
+ ((TH3F *)(fQA2DList->At(11)))->Fill(tpcTrack->Eta(),gPt,
ConvertPDGToInt(motherPDGCode));
else
- ((TH3F *)(fQA2DList->At(11)))->Fill(Rapidity(tpcTrack->Px(),
+ ((TH3F *)(fQA2DList->At(11)))->Fill(fProtonAnalysisBase->Rapidity(tpcTrack->Px(),
tpcTrack->Py(),
tpcTrack->Pz()),
- Pt,
+ gPt,
ConvertPDGToInt(motherPDGCode));
}//accepted secondary antiprotons
}//accepted secondary particles
((TH3D *)(fRejectedCutList->At(0)))->Fill(tpcTrack->Eta(),
tpcTrack->Phi()*180./TMath::Pi(),
nClustersTPC);
- if(fAnalysisEtaMode)
- ((TH2D *)(fQA2DList->At(1)))->Fill(tpcTrack->Eta(),Pt);
+ ((TH3D *)(fRejectedCutList->At(4)))->Fill(tpcTrack->Eta(),
+ tpcTrack->Phi()*180./TMath::Pi(),
+ chi2PerClusterTPC);
+ ((TH3D *)(fRejectedCutList->At(8)))->Fill(tpcTrack->Eta(),
+ tpcTrack->Phi()*180./TMath::Pi(),
+ npointsTPCdEdx);
+
+ if(fProtonAnalysisBase->GetEtaMode())
+ ((TH2D *)(fQA2DList->At(1)))->Fill(tpcTrack->Eta(),gPt);
else
- ((TH2D *)(fQA2DList->At(1)))->Fill(Rapidity(tpcTrack->Px(),
+ ((TH2D *)(fQA2DList->At(1)))->Fill(fProtonAnalysisBase->Rapidity(tpcTrack->Px(),
tpcTrack->Py(),
tpcTrack->Pz()),
- Pt);
+ gPt);
}
else if(track->Charge() < 0) {
((TH3D *)(fRejectedCutList->At(1)))->Fill(tpcTrack->Eta(),
tpcTrack->Phi()*180./TMath::Pi(),
nClustersTPC);
- if(fAnalysisEtaMode)
- ((TH2D *)(fQA2DList->At(5)))->Fill(tpcTrack->Eta(),Pt);
+ ((TH3D *)(fRejectedCutList->At(5)))->Fill(tpcTrack->Eta(),
+ tpcTrack->Phi()*180./TMath::Pi(),
+ chi2PerClusterTPC);
+ ((TH3D *)(fRejectedCutList->At(9)))->Fill(tpcTrack->Eta(),
+ tpcTrack->Phi()*180./TMath::Pi(),
+ npointsTPCdEdx);
+ if(fProtonAnalysisBase->GetEtaMode())
+ ((TH2D *)(fQA2DList->At(5)))->Fill(tpcTrack->Eta(),gPt);
else
- ((TH2D *)(fQA2DList->At(5)))->Fill(Rapidity(tpcTrack->Px(),
+ ((TH2D *)(fQA2DList->At(5)))->Fill(fProtonAnalysisBase->Rapidity(tpcTrack->Px(),
tpcTrack->Py(),
tpcTrack->Pz()),
- Pt);
+ gPt);
}
}//rejected primary particles
else if(label > stack->GetNprimary()) {
((TH3D *)(fRejectedCutList->At(2)))->Fill(tpcTrack->Eta(),
tpcTrack->Phi()*180./TMath::Pi(),
nClustersTPC);
- if(fAnalysisEtaMode)
- ((TH2D *)(fQA2DList->At(3)))->Fill(tpcTrack->Eta(),Pt);
+ ((TH3D *)(fRejectedCutList->At(6)))->Fill(tpcTrack->Eta(),
+ tpcTrack->Phi()*180./TMath::Pi(),
+ chi2PerClusterTPC);
+ ((TH3D *)(fRejectedCutList->At(10)))->Fill(tpcTrack->Eta(),
+ tpcTrack->Phi()*180./TMath::Pi(),
+ npointsTPCdEdx);
+ if(fProtonAnalysisBase->GetEtaMode())
+ ((TH2D *)(fQA2DList->At(3)))->Fill(tpcTrack->Eta(),gPt);
else
- ((TH2D *)(fQA2DList->At(3)))->Fill(Rapidity(tpcTrack->Px(),
+ ((TH2D *)(fQA2DList->At(3)))->Fill(fProtonAnalysisBase->Rapidity(tpcTrack->Px(),
tpcTrack->Py(),
tpcTrack->Pz()),
- Pt);
+ gPt);
}
else if(track->Charge() < 0) {
((TH3D *)(fRejectedCutList->At(3)))->Fill(tpcTrack->Eta(),
tpcTrack->Phi()*180./TMath::Pi(),
nClustersTPC);
- if(fAnalysisEtaMode)
- ((TH2D *)(fQA2DList->At(7)))->Fill(tpcTrack->Eta(),Pt);
+ ((TH3D *)(fRejectedCutList->At(7)))->Fill(tpcTrack->Eta(),
+ tpcTrack->Phi()*180./TMath::Pi(),
+ chi2PerClusterTPC);
+ ((TH3D *)(fRejectedCutList->At(11)))->Fill(tpcTrack->Eta(),
+ tpcTrack->Phi()*180./TMath::Pi(),
+ npointsTPCdEdx);
+
+ if(fProtonAnalysisBase->GetEtaMode())
+ ((TH2D *)(fQA2DList->At(7)))->Fill(tpcTrack->Eta(),gPt);
else
- ((TH2D *)(fQA2DList->At(7)))->Fill(Rapidity(tpcTrack->Px(),
+ ((TH2D *)(fQA2DList->At(7)))->Fill(fProtonAnalysisBase->Rapidity(tpcTrack->Px(),
tpcTrack->Py(),
tpcTrack->Pz()),
- Pt);
+ gPt);
}
}//rejected secondary particles
}//rejected - track cuts
}//proton check
}//TPC only tracks
//combined tracking
- else if(!fUseTPCOnly) {
- Pt = track->Pt();
- P = track->P();
+ else {
+ gPt = track->Pt();
+ gP = track->P();
track->GetImpactParameters(dcaXY,dcaZ);
//pid
- track->GetESDpid(probability);
- Double_t rcc = 0.0;
- for(Int_t i = 0; i < AliPID::kSPECIES; i++)
- rcc += probability[i]*GetParticleFraction(i,P);
- if(rcc == 0.0) continue;
- Double_t w[5];
- for(Int_t i = 0; i < AliPID::kSPECIES; i++)
- w[i] = probability[i]*GetParticleFraction(i,P)/rcc;
- Long64_t fParticleType = TMath::LocMax(AliPID::kSPECIES,w);
- if(fParticleType == 4) {
- if(!IsInPhaseSpace(track)) continue; //track outside the analyzed y-Pt
+ if(fProtonAnalysisBase->IsProton(track)) {
+ if(!fProtonAnalysisBase->IsInPhaseSpace(track)) continue; //track outside the analyzed y-Pt
FillQA(stack,esd,vertex,track);
- if(IsAccepted(esd,vertex,track)) {
+ if(fProtonAnalysisBase->IsAccepted(esd,vertex,track)) {
if(label <= stack->GetNprimary()) {
if(track->Charge() > 0) {
for(Int_t iLayer = 0; iLayer < 6; iLayer++) {
((TH3D *)(fAcceptedCutList->At(44)))->Fill(track->Eta(),
track->Phi()*180./TMath::Pi(),
nClustersTPC);
+ ((TH3D *)(fAcceptedCutList->At(48)))->Fill(track->Eta(),
+ track->Phi()*180./TMath::Pi(),
+ chi2PerClusterTPC);
+ ((TH3D *)(fAcceptedCutList->At(52)))->Fill(track->Eta(),
+ track->Phi()*180./TMath::Pi(),
+ npointsTPCdEdx);
+ ((TH1F *)(fAcceptedCutList->At(56)))->Fill(npointsTPCdEdx);
((TH1F *)(fAcceptedDCAList->At(0)))->Fill(TMath::Abs(dcaXY));
((TH1F *)(fAcceptedDCAList->At(4)))->Fill(TMath::Abs(dcaZ));
((TH1F *)(fAcceptedDCAList->At(8)))->Fill(nSigmaToVertex);
- if(fAnalysisEtaMode)
- ((TH2D *)(fQA2DList->At(0)))->Fill(track->Eta(),Pt);
+ if(fProtonAnalysisBase->GetEtaMode())
+ ((TH2D *)(fQA2DList->At(0)))->Fill(track->Eta(),gPt);
else
- ((TH2D *)(fQA2DList->At(0)))->Fill(Rapidity(track->Px(),
+ ((TH2D *)(fQA2DList->At(0)))->Fill(fProtonAnalysisBase->Rapidity(track->Px(),
track->Py(),
track->Pz()),
- Pt);
+ gPt);
}
else if(track->Charge() < 0) {
for(Int_t iLayer = 0; iLayer < 6; iLayer++) {
((TH3D *)(fAcceptedCutList->At(45)))->Fill(track->Eta(),
track->Phi()*180./TMath::Pi(),
nClustersTPC);
+ ((TH3D *)(fAcceptedCutList->At(49)))->Fill(track->Eta(),
+ track->Phi()*180./TMath::Pi(),
+ chi2PerClusterTPC);
+ ((TH3D *)(fAcceptedCutList->At(53)))->Fill(track->Eta(),
+ track->Phi()*180./TMath::Pi(),
+ npointsTPCdEdx);
+ ((TH1F *)(fAcceptedCutList->At(57)))->Fill(npointsTPCdEdx);
((TH1F *)(fAcceptedDCAList->At(1)))->Fill(TMath::Abs(dcaXY));
((TH1F *)(fAcceptedDCAList->At(5)))->Fill(TMath::Abs(dcaZ));
((TH1F *)(fAcceptedDCAList->At(9)))->Fill(nSigmaToVertex);
- if(fAnalysisEtaMode)
- ((TH2D *)(fQA2DList->At(4)))->Fill(track->Eta(),Pt);
+ if(fProtonAnalysisBase->GetEtaMode())
+ ((TH2D *)(fQA2DList->At(4)))->Fill(track->Eta(),gPt);
else
- ((TH2D *)(fQA2DList->At(4)))->Fill(Rapidity(track->Px(),
+ ((TH2D *)(fQA2DList->At(4)))->Fill(fProtonAnalysisBase->Rapidity(track->Px(),
track->Py(),
track->Pz()),
- Pt);
+ gPt);
}
}//primary particles
else if(label > stack->GetNprimary()) {
((TH3D *)(fAcceptedCutList->At(46)))->Fill(track->Eta(),
track->Phi()*180./TMath::Pi(),
nClustersTPC);
+ ((TH3D *)(fAcceptedCutList->At(50)))->Fill(track->Eta(),
+ track->Phi()*180./TMath::Pi(),
+ chi2PerClusterTPC);
+ ((TH3D *)(fAcceptedCutList->At(54)))->Fill(track->Eta(),
+ track->Phi()*180./TMath::Pi(),
+ npointsTPCdEdx);
+ ((TH1F *)(fAcceptedCutList->At(58)))->Fill(npointsTPCdEdx);
((TH1F *)(fAcceptedDCAList->At(2)))->Fill(TMath::Abs(dcaXY));
((TH1F *)(fAcceptedDCAList->At(6)))->Fill(TMath::Abs(dcaZ));
((TH1F *)(fAcceptedDCAList->At(10)))->Fill(nSigmaToVertex);
- if(fAnalysisEtaMode)
- ((TH2D *)(fQA2DList->At(2)))->Fill(track->Eta(),Pt);
+ if(fProtonAnalysisBase->GetEtaMode())
+ ((TH2D *)(fQA2DList->At(2)))->Fill(track->Eta(),gPt);
else
- ((TH2D *)(fQA2DList->At(2)))->Fill(Rapidity(track->Px(),
+ ((TH2D *)(fQA2DList->At(2)))->Fill(fProtonAnalysisBase->Rapidity(track->Px(),
track->Py(),
track->Pz()),
- Pt);
- if(fAnalysisEtaMode)
- ((TH3F *)(fQA2DList->At(10)))->Fill(track->Eta(),Pt,
+ gPt);
+ if(fProtonAnalysisBase->GetEtaMode())
+ ((TH3F *)(fQA2DList->At(10)))->Fill(track->Eta(),gPt,
ConvertPDGToInt(motherPDGCode));
else
- ((TH3F *)(fQA2DList->At(10)))->Fill(Rapidity(track->Px(),
+ ((TH3F *)(fQA2DList->At(10)))->Fill(fProtonAnalysisBase->Rapidity(track->Px(),
track->Py(),
track->Pz()),
- Pt,
+ gPt,
ConvertPDGToInt(motherPDGCode));
}
else if(track->Charge() < 0) {
((TH3D *)(fAcceptedCutList->At(47)))->Fill(track->Eta(),
track->Phi()*180./TMath::Pi(),
nClustersTPC);
+ ((TH3D *)(fAcceptedCutList->At(51)))->Fill(track->Eta(),
+ track->Phi()*180./TMath::Pi(),
+ chi2PerClusterTPC);
+ ((TH3D *)(fAcceptedCutList->At(55)))->Fill(track->Eta(),
+ track->Phi()*180./TMath::Pi(),
+ npointsTPCdEdx);
+ ((TH1F *)(fAcceptedCutList->At(59)))->Fill(npointsTPCdEdx);
((TH1F *)(fAcceptedDCAList->At(3)))->Fill(TMath::Abs(dcaXY));
((TH1F *)(fAcceptedDCAList->At(7)))->Fill(TMath::Abs(dcaZ));
((TH1F *)(fAcceptedDCAList->At(11)))->Fill(nSigmaToVertex);
- if(fAnalysisEtaMode)
- ((TH2D *)(fQA2DList->At(6)))->Fill(track->Eta(),Pt);
+ if(fProtonAnalysisBase->GetEtaMode())
+ ((TH2D *)(fQA2DList->At(6)))->Fill(track->Eta(),gPt);
else
- ((TH2D *)(fQA2DList->At(6)))->Fill(Rapidity(track->Px(),
+ ((TH2D *)(fQA2DList->At(6)))->Fill(fProtonAnalysisBase->Rapidity(track->Px(),
track->Py(),
track->Pz()),
- Pt);
- if(fAnalysisEtaMode)
- ((TH3F *)(fQA2DList->At(11)))->Fill(track->Eta(),Pt,
+ gPt);
+ if(fProtonAnalysisBase->GetEtaMode())
+ ((TH3F *)(fQA2DList->At(11)))->Fill(track->Eta(),gPt,
ConvertPDGToInt(motherPDGCode));
else
- ((TH3F *)(fQA2DList->At(11)))->Fill(Rapidity(track->Px(),
+ ((TH3F *)(fQA2DList->At(11)))->Fill(fProtonAnalysisBase->Rapidity(track->Px(),
track->Py(),
track->Pz()),
- Pt,
+ gPt,
ConvertPDGToInt(motherPDGCode));
}
}//secondary particles
}//accepted - track cuts
- else if(!IsAccepted(esd,vertex,track)) {
+ else if(!fProtonAnalysisBase->IsAccepted(esd,vertex,track)) {
if(label <= stack->GetNprimary()) {
if(track->Charge() > 0) {
((TH3D *)(fRejectedCutList->At(0)))->Fill(track->Eta(),
track->Phi()*180./TMath::Pi(),
nClustersTPC);
- if(fAnalysisEtaMode)
- ((TH2D *)(fQA2DList->At(1)))->Fill(track->Eta(),Pt);
+ ((TH3D *)(fRejectedCutList->At(4)))->Fill(track->Eta(),
+ track->Phi()*180./TMath::Pi(),
+ chi2PerClusterTPC);
+ ((TH3D *)(fRejectedCutList->At(8)))->Fill(track->Eta(),
+ track->Phi()*180./TMath::Pi(),
+ npointsTPCdEdx);
+ if(fProtonAnalysisBase->GetEtaMode())
+ ((TH2D *)(fQA2DList->At(1)))->Fill(track->Eta(),gPt);
else
- ((TH2D *)(fQA2DList->At(1)))->Fill(Rapidity(track->Px(),
+ ((TH2D *)(fQA2DList->At(1)))->Fill(fProtonAnalysisBase->Rapidity(track->Px(),
track->Py(),
track->Pz()),
- Pt);
+ gPt);
}
else if(track->Charge() < 0) {
((TH3D *)(fRejectedCutList->At(1)))->Fill(track->Eta(),
track->Phi()*180./TMath::Pi(),
nClustersTPC);
- if(fAnalysisEtaMode)
- ((TH2D *)(fQA2DList->At(5)))->Fill(track->Eta(),Pt);
+ ((TH3D *)(fRejectedCutList->At(5)))->Fill(track->Eta(),
+ track->Phi()*180./TMath::Pi(),
+ chi2PerClusterTPC);
+ ((TH3D *)(fRejectedCutList->At(9)))->Fill(track->Eta(),
+ track->Phi()*180./TMath::Pi(),
+ npointsTPCdEdx);
+
+ if(fProtonAnalysisBase->GetEtaMode())
+ ((TH2D *)(fQA2DList->At(5)))->Fill(track->Eta(),gPt);
else
- ((TH2D *)(fQA2DList->At(5)))->Fill(Rapidity(track->Px(),
+ ((TH2D *)(fQA2DList->At(5)))->Fill(fProtonAnalysisBase->Rapidity(track->Px(),
track->Py(),
track->Pz()),
- Pt);
+ gPt);
}
}//primary particles
else if(label > stack->GetNprimary()) {
((TH3D *)(fRejectedCutList->At(2)))->Fill(track->Eta(),
track->Phi()*180./TMath::Pi(),
nClustersTPC);
- if(fAnalysisEtaMode)
- ((TH2D *)(fQA2DList->At(3)))->Fill(track->Eta(),Pt);
+ ((TH3D *)(fRejectedCutList->At(6)))->Fill(track->Eta(),
+ track->Phi()*180./TMath::Pi(),
+ chi2PerClusterTPC);
+ ((TH3D *)(fRejectedCutList->At(10)))->Fill(track->Eta(),
+ track->Phi()*180./TMath::Pi(),
+ npointsTPCdEdx);
+ if(fProtonAnalysisBase->GetEtaMode())
+ ((TH2D *)(fQA2DList->At(3)))->Fill(track->Eta(),gPt);
else
- ((TH2D *)(fQA2DList->At(3)))->Fill(Rapidity(track->Px(),
+ ((TH2D *)(fQA2DList->At(3)))->Fill(fProtonAnalysisBase->Rapidity(track->Px(),
track->Py(),
track->Pz()),
- Pt);
+ gPt);
}
else if(track->Charge() < 0) {
((TH3D *)(fRejectedCutList->At(3)))->Fill(track->Eta(),
track->Phi()*180./TMath::Pi(),
nClustersTPC);
- if(fAnalysisEtaMode)
- ((TH2D *)(fQA2DList->At(7)))->Fill(track->Eta(),Pt);
+ ((TH3D *)(fRejectedCutList->At(7)))->Fill(track->Eta(),
+ track->Phi()*180./TMath::Pi(),
+ chi2PerClusterTPC);
+ ((TH3D *)(fRejectedCutList->At(11)))->Fill(track->Eta(),
+ track->Phi()*180./TMath::Pi(),
+ npointsTPCdEdx);
+ if(fProtonAnalysisBase->GetEtaMode())
+ ((TH2D *)(fQA2DList->At(7)))->Fill(track->Eta(),gPt);
else
- ((TH2D *)(fQA2DList->At(7)))->Fill(Rapidity(track->Px(),
+ ((TH2D *)(fQA2DList->At(7)))->Fill(fProtonAnalysisBase->Rapidity(track->Px(),
track->Py(),
track->Pz()),
- Pt);
+ gPt);
}
}//secondary particles
}//rejected - track cuts
fNBinsY,fMinY,fMaxY,
fNBinsPt,fMinPt,fMaxPt,
14,-0.5,13.5);
- if(fAnalysisEtaMode)
+ if(fProtonAnalysisBase->GetEtaMode())
gHistYPtPDGProtons->GetXaxis()->SetTitle("#eta");
else
gHistYPtPDGProtons->GetXaxis()->SetTitle("y");
fNBinsY,fMinY,fMaxY,
fNBinsPt,fMinPt,fMaxPt,
14,-0.5,13.5);
- if(fAnalysisEtaMode)
+ if(fProtonAnalysisBase->GetEtaMode())
gHistYPtPDGAntiProtons->GetXaxis()->SetTitle("#eta");
else
gHistYPtPDGAntiProtons->GetXaxis()->SetTitle("y");
}
//____________________________________________________________________//
-void AliProtonQAAnalysis::RunMCAnalysis(AliStack* stack) {
+void AliProtonQAAnalysis::RunMCAnalysis(AliStack* const stack) {
//Main analysis part - MC
for(Int_t iParticle = 0; iParticle < stack->GetNtrack(); iParticle++) {
TParticle *particle = stack->Particle(iParticle);
if(TMath::Abs(particle->Eta()) > 1.0) continue;//acceptance
if((particle->Pt() > fMaxPt)||(particle->Pt() < fMinPt)) continue;
- if(fAnalysisEtaMode) {
+ if(fProtonAnalysisBase->GetEtaMode()) {
if((particle->Eta() > fMaxY)||(particle->Eta() < fMinY)) continue;
}
else {
- if((Rapidity(particle->Px(),particle->Py(),particle->Pz()) > fMaxY)||(Rapidity(particle->Px(),particle->Py(),particle->Pz()) < fMinY)) continue;
+ if((fProtonAnalysisBase->Rapidity(particle->Px(),particle->Py(),particle->Pz()) > fMaxY)||(fProtonAnalysisBase->Rapidity(particle->Px(),particle->Py(),particle->Pz()) < fMinY)) continue;
}
Int_t pdgcode = particle->GetPdgCode();
if(pdgcode == 2212) {
if(iParticle <= stack->GetNprimary()) {
- if(fAnalysisEtaMode)
+ if(fProtonAnalysisBase->GetEtaMode())
((TH3F *)(fPDGList->At(0)))->Fill(particle->Eta(),particle->Pt(),0);
else
- ((TH3F *)(fPDGList->At(0)))->Fill(Rapidity(particle->Px(),
+ ((TH3F *)(fPDGList->At(0)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
particle->Py(),
particle->Pz()),
particle->Pt(),0);
if(fMotherParticlePDGCodeFlag)
if(TMath::Abs(motherPDGCode) != fMotherParticlePDGCode) continue;
- if(fAnalysisEtaMode)
+ if(fProtonAnalysisBase->GetEtaMode())
((TH3F *)(fPDGList->At(0)))->Fill(particle->Eta(),
particle->Pt(),
ConvertPDGToInt(motherParticle->GetPdgCode()));
else
- ((TH3F *)(fPDGList->At(0)))->Fill(Rapidity(particle->Px(),
+ ((TH3F *)(fPDGList->At(0)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
particle->Py(),
particle->Pz()),
particle->Pt(),
if(pdgcode == -2212) {
if(iParticle <= stack->GetNprimary()) {
- if(fAnalysisEtaMode)
+ if(fProtonAnalysisBase->GetEtaMode())
((TH3F *)(fPDGList->At(1)))->Fill(particle->Eta(),particle->Pt(),0);
else
- ((TH3F *)(fPDGList->At(1)))->Fill(Rapidity(particle->Px(),
+ ((TH3F *)(fPDGList->At(1)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
particle->Py(),
particle->Pz()),
particle->Pt(),0);
if(fMotherParticlePDGCodeFlag)
if(TMath::Abs(motherPDGCode) != fMotherParticlePDGCode) continue;
- if(fAnalysisEtaMode)
+ if(fProtonAnalysisBase->GetEtaMode())
((TH3F *)(fPDGList->At(1)))->Fill(particle->Eta(),
particle->Pt(),
ConvertPDGToInt(motherParticle->GetPdgCode()));
else
- ((TH3F *)(fPDGList->At(1)))->Fill(Rapidity(particle->Px(),
+ ((TH3F *)(fPDGList->At(1)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
particle->Py(),
particle->Pz()),
particle->Pt(),
}
//____________________________________________________________________//
-Int_t AliProtonQAAnalysis::ConvertPDGToInt(Int_t pdgCode) {
+Int_t AliProtonQAAnalysis::ConvertPDGToInt(Int_t pdgCode) const {
//Converts the pdg code to an int based on the following scheme:
//1: PDG code: 130 - Name: K_L0
//2: PDG code: 211 - Name: pi+
return code;
}
-//________________________________________________________________________
-/*const AliESDVertex* AliProtonQAAnalysis::GetVertex(AliESDEvent* esd,
- Double_t gVxMax,
- Double_t gVyMax,
- Double_t gVzMax) {
- // Get the vertex from the ESD and returns it if the vertex is valid
- // depending on the analysis mode: TPC - Hybrid - Global
- const AliESDVertex* vertex = 0;
- if((fUseTPCOnly)&&(!fUseHybridTPC)) {
- Double_t kBz = esd->GetMagneticField();
- AliVertexerTracks vertexer(kBz);
- vertexer.SetTPCMode();
- AliESDVertex *vTPC = vertexer.FindPrimaryVertex(esd);
- esd->SetPrimaryVertexTPC(vTPC);
- for (Int_t i=0; i<esd->GetNumberOfTracks(); i++) {
- AliESDtrack *t = esd->GetTrack(i);
- t->RelateToVertexTPC(vTPC, kBz, kVeryBig);
- }
- delete vTPC;
- vertex = esd->GetPrimaryVertexTPC();
- }
- else if(fUseHybridTPC)
- vertex = esd->GetPrimaryVertexSPD();
- else if(!fUseTPCOnly)
- vertex = esd->GetPrimaryVertex();
- else
- Printf("GetVertex: ERROR: Invalid analysis mode");
-
- if(!vertex) return 0;
-
- // check Ncontributors
- if(vertex->GetNContributors() <= 0) return 0;
-
- // check resolution
- Double_t zRes = vertex->GetZRes();
- if(zRes == 0) return 0;
-
- //check position
- if(TMath::Abs(vertex->GetXv()) > gVxMax) return 0;
- if(TMath::Abs(vertex->GetYv()) > gVyMax) return 0;
- if(TMath::Abs(vertex->GetZv()) > gVzMax) return 0;
-
- return vertex;
- }*/
-
-