fLabelsRec = new Int_t*[2];
for (Int_t ii = 0; ii < 2 ; ++ii)
fLabelsRec[ii] = NULL;
-
+#endif
// -- Create THnSparse Histograms
// --------------------------------
CreateHistograms();
-#endif
+
return;
}
void AliAnalysisNetParticleDCA::Process() {
// -- Process event
+
+
+
+
// -- Setup (clean, create and fill) MC labels
// ---------------------------------------------
// FillMCLabels();
* Private Methods
* ---------------------------------------------------------------------------------
*/
-#if 0
+
//________________________________________________________________________
void AliAnalysisNetParticleDCA::CreateHistograms() {
// -- Create histograms
// ------------------------------------------------------------------
// -- Create THnSparseF - DCA
// ------------------------------------------------------------------
+ // DCAr, DCAz, eta phi centrality
+
+ // > Type :
+ // Primary MC p + ContMiss p
+ // 2nd Material
+ // 2nd Weak Decays
+
+ // IsAcceptedDCA
- // cent: etaMC: yMC: phiMC: ptMC: sign:contPart:DCArAccepted:DCAr
- Int_t binHnDCA[9] = { iCent, iEta, iRap, iPhi, iPt, iSign, 4, 2, 50 };
- Double_t minHnDCA[9] = {dCent[0], dEta[0], dRap[0], dPhi[0], dPt[0], dSign[0], 0.5, -0.5, -10.};
- Double_t maxHnDCA[9] = {dCent[1], dEta[1], dRap[1], dPhi[1], dPt[1], dSign[1], 4.5, 1.5, 10.};
- fHnDCA = new THnSparseF("fHnDCA", "cent:etaMC:yMC:phiMC:ptMC:sign:contPart:contSign:DCArAccepted:DCAr", 9, binHnDCA, minHnDCA, maxHnDCA);
+ // cent: etaMC: yMC: phiMC: ptMC: sign:contPart:DCArAccepted: DCAr: DCAz
+ Int_t binHnDCA[10] = { iCent, iEta, iRap, iPhi, iPt, iSign, 4, 2, 50 , 50 };
+ Double_t minHnDCA[10] = {dCent[0], dEta[0], dRap[0], dPhi[0], dPt[0], dSign[0], 0.5, -0.5, -10.,-10.};
+ Double_t maxHnDCA[19] = {dCent[1], dEta[1], dRap[1], dPhi[1], dPt[1], dSign[1], 4.5, 1.5, 10., 10.};
+ fHnDCA = new THnSparseF("fHnDCA", "cent:etaMC:yMC:phiMC:ptMC:sign:contPart:contSign:DCArAccepted:DCAr:DCAz", 10, binHnDCA, minHnDCA, maxHnDCA);
fHnDCA->Sumw2();
fHnDCA->GetAxis(0)->SetTitle("centrality"); // 0-5|5-10|10-20|20-30|30-40|40-50|50-60|60-70|70-80|80-90 --> 10 bins
- fHnDCA->GetAxis(1)->SetTitle("#eta_{MC}"); // eta [-0.9,0.9]
- fHnDCA->GetAxis(2)->SetTitle("#it{y}_{MC}"); // rapidity [-0.5, 0.5]
- fHnDCA->GetAxis(3)->SetTitle("#varphi_{MC} (rad)"); // phi [ 0. ,2Pi]
- fHnDCA->GetAxis(4)->SetTitle("#it{p}_{T,MC} (GeV/#it{c})"); // pT [ 0.1,1.3]
+ fHnDCA->GetAxis(1)->SetTitle("#eta_{Rec}"); // eta [-0.9,0.9]
+ fHnDCA->GetAxis(2)->SetTitle("#it{y}_{Rec}"); // rapidity [-0.5, 0.5]
+ fHnDCA->GetAxis(3)->SetTitle("#varphi_{Rec} (rad)"); // phi [ 0. ,2Pi]
+ fHnDCA->GetAxis(4)->SetTitle("#it{p}_{T,Rec} (GeV/#it{c})"); // pT [ 0.1,1.3]
fHnDCA->GetAxis(5)->SetTitle("sign"); // -1 | 0 | +1
+
fHnDCA->GetAxis(6)->SetTitle("contPart"); // 1 primary | 2 missId | 3 from WeakDecay | 4 p from Material
fHnDCA->GetAxis(7)->SetTitle("DCArAccepted"); // 0 not accepted | 1 accepted
fHnDCA->GetAxis(8)->SetTitle("DCAr"); // DCAr [-10,10]
+ fHnDCA->GetAxis(9)->SetTitle("DCAz"); // DCAz [-10,10]
// ------------------------------------------------------------------
}
//________________________________________________________________________
-void AliAnalysisNetParticleDCA::FillMCDCA() {
+void AliAnalysisNetParticleDCA::FillDCA() {
// Fill MC labels
// Loop over ESD tracks and fill arrays with MC lables
// fLabelsRec[0] : all Tracks
// fLabelsRec[1] : all Tracks accepted by PID of TPC
// Check every accepted track if correctly identified
// otherwise check for contamination
-
+#if 0
for (Int_t idxTrack = 0; idxTrack < fNTracks; ++idxTrack) {
AliESDtrack *track = fESD->GetTrack(idxTrack);
continue;
// -- Check if accepted
- if (!fESDTrackCuts->AcceptTrack(track))
+ if (!fESDTrackCutsBkg->AcceptTrack(track))
continue;
// -- Check if accepted in rapidity window
if (!fHelper->IsTrackAcceptedRapidity(track, yP))
continue;
- // -- Check if accepted with thighter DCA cuts
- if (!fHelper->IsTrackAcceptedDCA(track))
- continue;
-
- Int_t label = TMath::Abs(track->GetLabel());
-
- // -- Fill Label of all reconstructed
- fLabelsRec[0][idxTrack] = label;
-
// -- Check if accepted by PID from TPC or TPC+TOF
Double_t pid[2];
if (!fHelper->IsTrackAcceptedPID(track, pid))
continue;
- // -- Fill Label of all reconstructed && recPid_TPC+TOF
- fLabelsRec[1][idxTrack] = label;
+
+ Bool_t isDCArAccepted = kTRUE;
+
+ // -- Check if accepted with thighter DCA cuts
+ if (!fHelper->IsTrackAcceptedDCA(track))
+ isDCArAccepted = kFALSE;
+
+ if (!fESDTrackCuts->AcceptTrack(track))
+ isDCArAccepted = kFALSE;
+
+
+ // ? Int_t label = );
+
// -- Check for contamination and fill contamination THnSparse
- CheckContTrack(label, track->GetSign(), idxTrack);
+ Int_t contIdx = CheckContTrack(TMath::Abs(track->GetLabel());
+
+ Double_t hnDCA[10] = {fCentralityBin, track->Eta(), yP, track->Phi(), track->Pt(), sign, contIdx, isDCArAccepted, dcar, dcaz};
+ fHnDCA->Fill(hnContDCA);
} // for (Int_t idxTrack = 0; idxTrack < fNTracks; ++idxTrack) {
-
+#endif
return;
}
//________________________________________________________________________
-void AliAnalysisNetParticleDCA::CheckDCATrack(Int_t label, Float_t sign, Float_t isDCArAccepted, Float_t dcar) {
+ Int_t AliAnalysisNetParticleDCA::CheckDCATrack(Int_t /*label*/) {
// Check if DCA of contamination or correctly identified
// Fill contamination DCA THnSparse
+ // return 1 primary | 2 missId | 3 from WeakDecay | 4 p from Material | -1 unknown
+ Int_t contIdx = -1;
+#if 0
TParticle* particle = fStack->Particle(label);
if (!particle)
return;
Bool_t isSecondaryFromWeakDecay = kFALSE;
Bool_t isSecondaryFromMaterial = kFALSE;
- Int_t contPart = 0;
-
- // -- Check if correctly identified
- if (particle->GetPdgCode() == (sign*fPdgCode)) {
-
+ //// // Check if is physical primary -> all ok
+ if (fStack->IsPhysicalPrimary(label)) {
+
+ // -- Check if correctly identified
// Check if is physical primary -> all ok
- if (fStack->IsPhysicalPrimary(label))
- contPart = 1;
- // -- Check if secondaries from weak decay
- else if(isSecondaryFromWeakDecay = fStack->IsSecondaryFromWeakDecay(label))
- contPart = 3;
- // -- Check if secondaries from material decay
- else if (isSecondaryFromMaterial = fStack->IsSecondaryFromMaterial(label))
- contPart = 4;
+ if (particle->GetPdgCode() == (sign*fPdgCode))
+ contIdx = 1;
+ // -- MissIdentification
+ else
+ contIdx = 2;
+ }
+ // -- Check if secondaries from weak decay
+ else if(isSecondaryFromWeakDecay = fStack->IsSecondaryFromWeakDecay(label))
+ contIdx = 3;
+ // -- Check if secondaries from material decay
+ else if (isSecondaryFromMaterial = fStack->IsSecondaryFromMaterial(label))
+ contIdx = 4;
}
- // -- MissIdentification
- else
- contPart = 2;
-
- Double_t hnDCA[9] = {fCentralityBin, particle->Eta(), particle->Y(), particle->Phi(), particle->Pt(), sign, contPart, isDCArAccepted, dcar};
- fHnDCA->Fill(hnContDCA);
-
- return;
+#endif
+ return contIdx;
}
-#endif
+
AliAnalysisNetParticleDCA& operator=(const AliAnalysisNetParticleDCA&); // not implemented
-#if 0
+
/*
* ---------------------------------------------------------------------------------
* Methods - private
void FillDCA();
/** Check if particle is contamination */
- void CheckDCATrack(Int_t label, Float_t sign, Int_t idxTrack);
-
+ Int_t CheckDCATrack(Int_t label);
+ // void CheckDCATrack(Int_t label, Float_t sign, Int_t idxTrack);
+#if 0
/*
* ---------------------------------------------------------------------------------
* Members - private
if (fIsMC) {
AddHistSet("fHMCrapidity", "MC primary in |y| < 0.5");
- AddHistSet("fHMCptMin", "MC primary in |y| + #it{p}_{T} > 0.1");
- AddHistSet("fHMCpt", Form("MC primary in |y| < 0.5 + #it{p}_{T} [%.1f,%.1f]", fPtRange[0], fPtRange[1]));
- AddHistSet("fHMCeta", Form("MC primary in |y| < 0.5 + |#eta| < %.1f", fEtaMax));
+ // AddHistSet("fHMCptMin", "MC primary in |y| + #it{p}_{T} > 0.1");
+ // AddHistSet("fHMCpt", Form("MC primary in |y| < 0.5 + #it{p}_{T} [%.1f,%.1f]", fPtRange[0], fPtRange[1]));
+ // AddHistSet("fHMCeta", Form("MC primary in |y| < 0.5 + |#eta| < %.1f", fEtaMax));
AddHistSet("fHMCetapt", Form("MC primary in |y| < 0.5 + |#eta| < %.1f + #it{p}_{T} [%.1f,%.1f]", fEtaMax, fPtRange[0], fPtRange[1]));
// AddHistSet("fHControlMCLambdarapidity", "Control MC Lambda primary in |y| < 0.5");
// -- Check rapidity window
Double_t yMC;
+ if (!fHelper->GetUsePID())
+ yMC = fEtaMax;
if (!fHelper->IsParticleAcceptedRapidity(particle, yMC))
continue;
// -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
FillHistSet("fHMCrapidity", fMCNp[0]);
- FillHistSet("fHMCptMin", fMCNp[1]);
- FillHistSet("fHMCpt", fMCNp[2]);
- FillHistSet("fHMCeta", fMCNp[3]);
+ // FillHistSet("fHMCptMin", fMCNp[1]);
+ // FillHistSet("fHMCpt", fMCNp[2]);
+ // FillHistSet("fHMCeta", fMCNp[3]);
FillHistSet("fHMCetapt", fMCNp[4]);
return 0;
Int_t pdgCode = fHelper->GetControlParticleCode();
Bool_t isNeutral = fHelper->IsControlParticleNeutral();
- //const Char_t* name = fHelper->GetControlParticleName().Data();
+ // const Char_t* name = fHelper->GetControlParticleName().Data();
for (Int_t idxMC = 0; idxMC < fStack->GetNprimary(); ++idxMC) {
TParticle* particle = fStack->Particle(idxMC);
// -- Check rapidity window
Double_t yMC;
+ if (!fHelper->GetUsePID())
+ yMC = fEtaMax;
if (!fHelper->IsParticleAcceptedRapidity(particle, yMC))
continue;
list->Add(new TH2F(Form("%s%s", name, fHelper->GetParticleName(idxPart).Data()),
Form("%s %s Dist %s;Centrality;N_{%s}", title, fHelper->GetParticleTitle(idxPart).Data(), sPtTitle.Data(),
fHelper->GetParticleTitleLatex(idxPart).Data()),
- 24, -0.5, 11.5, 501, -0.5, 500.49));
+ 24, -0.5, 11.5, 2601, -0.5, 2600.49));
} // for (Int_t idxPart = 0; idxPart < 2; ++idxPart) {
list->Add(new TH2F(Form("%sNet%s", name, fHelper->GetParticleName(1).Data()),
Form("%s Net %s Dist %s;Centrality;N_{%s} - N_{%s}", title, fHelper->GetParticleTitle(1).Data(), sPtTitle.Data(),
- fHelper->GetParticleTitleLatex(1).Data(),fHelper->GetParticleTitleLatex(0).Data()), 24, -0.5, 11.5, 201, -100.5, 100.49));
+ fHelper->GetParticleTitleLatex(1).Data(),fHelper->GetParticleTitleLatex(0).Data()), 24, -0.5, 11.5, 601, -300.5, 300.49));
list->Add(new TProfile(Form("%sNet%sM", name, fHelper->GetParticleName(1).Data()),
Form("%s Net %s Dist %s;Centrality;N_{%s} - N_{%s}", title, fHelper->GetParticleTitle(1).Data(), sPtTitle.Data(),
Form("%s (Net %s)/ Sum Dist %s;Centrality;(N_{%s} - N_{%s})/(N_{%s} + N_{%s})", title, fHelper->GetParticleTitle(1).Data(), sPtTitle.Data(),
fHelper->GetParticleTitleLatex(1).Data(),fHelper->GetParticleTitleLatex(0).Data(),fHelper->GetParticleTitleLatex(1).Data(),
fHelper->GetParticleTitleLatex(0).Data()),
- 24, -0.5, 11.5, 801, -50.5, 50.49));
+ 24, -0.5, 11.5, 801, -20.5, 20.49));
if (sName.Contains("fHControlMC")) {
for (Int_t idxPart = 0; idxPart < 2; ++idxPart) {
AliAnalysisNetParticleEffCont::~AliAnalysisNetParticleEffCont() {
// Destructor
- if (fLabelsRec){
-
+ if (fLabelsRec) {
if (fLabelsRec[0])
delete[] (fLabelsRec[0]);
-
if (fLabelsRec[1])
delete[] (fLabelsRec[1]);
-
- delete[] fLabelsRec;
+ if (fLabelsRec)
+ delete[] fLabelsRec;
}
}
// -- Check if accepted - AOD
if (fAOD){
- if(!(dynamic_cast<AliAODTrack*>(track))){
+ if(!(dynamic_cast<AliAODTrack*>(track))) {
AliError("Pointer to dynamic_cast<AliAODTrack*>(track) = ZERO");
continue;
}
- if(!((dynamic_cast<AliAODTrack*>(track))->TestFilterBit(fAODtrackCutBit)))
+ if(!((dynamic_cast<AliAODTrack*>(track))->TestFilterBit(fAODtrackCutBit)))
continue;
}
// -- If no PID is required
// > only check for Primaries and Secondaries
else {
- // Check if is physical primary -> all ok
+ // Check if is physical primary -> all ok
if (particle->IsPhysicalPrimary())
return;
// -- Get PDG Charge
Float_t contSign = 0.;
- // Crashing (MW)? --> why do we need the PDG charge?
- // if ((TDatabasePDG::Instance()->GetParticle(particle->PdgCode()))->Charge() == 0.) contSign = 0.;
- // else if ((TDatabasePDG::Instance()->GetParticle(particle->PdgCode()))->Charge() < 0.) contSign = -1.;
- // else if ((TDatabasePDG::Instance()->GetParticle(particle->PdgCode()))->Charge() > 0.) contSign = 1.;
- if (particle->Charge() == 0.) contSign = 0.;
- else if (particle->Charge() < 0.) contSign = -1.;
- else if (particle->Charge() > 0.) contSign = 1.;
+ if (particle->Charge() == 0.) contSign = 0.;
+ else if (particle->Charge() < 0.) contSign = -1.;
+ else if (particle->Charge() > 0.) contSign = 1.;
// -- Get contaminating particle
Float_t contPart = 0;
// > skip check if PID is not required
if (fHelper->GetUsePID() && TMath::Abs(particle->GetPdgCode()) != fPdgCode){
printf("SHOULD NOT HAPPEN !!!\n"); // JMT
+ printf("%d %d !!!\n", particle->GetPdgCode(), fPdgCode ); // JMT
continue;
}
// Fill efficiency THnSparse for AODs
Int_t nPart = fArrayMC->GetEntriesFast();
+ Float_t etaRange[2];
+ fESDTrackCuts->GetEtaRange(etaRange[0],etaRange[1]);
for (Int_t idxMC = 0; idxMC < nPart; ++idxMC) {
// -- Check rapidity window
Double_t yMC;
- if (!fHelper->IsParticleAcceptedRapidity((TParticle*)particle, yMC)) // MW : das geht? wenn ja use c++ cast
+ if (!fHelper->GetUsePID())
+ yMC = etaRange[1];
+ if (!fHelper->IsParticleAcceptedRapidity(particle, yMC))
continue;
// -- Check if probeParticle / anti-probeParticle
//________________________________________________________________________
void AliAnalysisNetParticleHelper::SetParticleSpecies(AliPID::EParticleType pid) {
// -- Set particle species (ID, Name, Title, Title LATEX)
-
- if ( Int_t(pid) < 0 || Int_t(pid) >= AliPID::kSPECIES) {
+
+ if ( Int_t(pid) < 0 || Int_t(pid) >= AliPID::kSPECIES) {
AliWarning("Particle ID not in AliPID::kSPECIES --> Set to protons");
pid = AliPID::kProton;
}
if(esdHandler){
fInputEventHandler = static_cast<AliInputEventHandler*>(esdHandler);
fESD = dynamic_cast<AliESDEvent*>(fInputEventHandler->GetEvent());
-
if (!fESD) {
AliError("ESD event handler not available");
return -1;
}
-
}
// -- Get AOD objects
else if(aodHandler){
fInputEventHandler = static_cast<AliInputEventHandler*>(aodHandler);
fAOD = dynamic_cast<AliAODEvent*>(fInputEventHandler->GetEvent());
-
if (!fAOD) {
AliError("AOD event handler not available");
return -1;
}
-
}
// -- Get Common objects
AliError("Centrality not available");
return -1;
}
-
+
Int_t centBin = centrality->GetCentralityClass10("V0M");
if (centBin == 0)
fCentralityBin = centrality->GetCentralityClass5("V0M");
return kTRUE;
}
+
//________________________________________________________________________
Bool_t AliAnalysisNetParticleHelper::IsParticleAcceptedRapidity(TParticle *particle, Double_t &yP) {
// -- Check if particle is accepted
return kTRUE;
}
+//________________________________________________________________________
+Bool_t AliAnalysisNetParticleHelper::IsParticleAcceptedRapidity(AliAODMCParticle *particle, Double_t &yP) {
+ // -- Check if AOD particle is accepted
+ // > in rapidity
+ // > if no pid :
+ // > use yP as input for the pseudo-rapdity_MAX to be checked
+ // > return 0 if not accepted
+
+ if (!fUsePID) {
+ Bool_t isAccepted = kFALSE;
+ if (TMath::Abs(particle->Eta()) < yP)
+ isAccepted = kTRUE;
+ yP = particle->Eta();
+ return isAccepted;
+ }
+
+ Double_t mP = AliPID::ParticleMass(fParticleSpecies);
+
+ // -- Calculate rapidities and kinematics
+ Double_t p = particle->P();
+ Double_t pz = particle->Pz();
+
+ Double_t eP = TMath::Sqrt(p*p + mP*mP);
+ yP = 0.5 * TMath::Log((eP + pz) / (eP - pz));
+
+ // -- Check Rapidity window
+ if (TMath::Abs(yP) > fRapidityMax)
+ return kFALSE;
+
+ return kTRUE;
+}
+
//_____________________________________________________________________________
Bool_t AliAnalysisNetParticleHelper::IsParticleFindable(Int_t label) {
// -- Check if MC particle is findable tracks
/** Check if MC particle is accepted for Rapidity */
Bool_t IsParticleAcceptedRapidity(TParticle *particle, Double_t &yP);
+ Bool_t IsParticleAcceptedRapidity(AliAODMCParticle *particle, Double_t &yP);
/** Check if MC particle is findable tracks */
Bool_t IsParticleFindable(Int_t label);
fHnQA(NULL),
- fEtaMax(0.9),
+ fEtaMax(0.8),
+ fEtaMaxEff(0.9),
fPtRange(),
fPtRangeEff(),
fESDTrackCutsEff = static_cast<AliESDtrackCuts*>(fESDTrackCuts->Clone());
fESDTrackCutsEff->SetName(Form("NetParticleCuts2010_%s_Eff",sModeName.Data()));
fESDTrackCutsEff->SetPtRange(fPtRangeEff[0],fPtRangeEff[1]); // Acceptance
+ fESDTrackCutsBase->SetEtaRange(-1.*fEtaMaxEff, fEtaMaxEff); // Acceptance
// ------------------------------------------------------------------
// -- Initialize Helper
AliMCEventHandler *mcH = dynamic_cast<AliMCEventHandler*>
(AliAnalysisManager::GetAnalysisManager()->GetMCtruthEventHandler());
-
+
if (!mcH) {
AliError("MC event handler not available");
return -1;
}
-
+
fMCEvent = mcH->MCEvent();
if (!fMCEvent) {
AliError("MC event not available");
void SetModeQACreation(Int_t i) {fModeQACreation = i;}
void SetEtaMax(Float_t f) {fEtaMax = f;}
+ void SetEtaMaxEff(Float_t f) {fEtaMaxEff = f;}
void SetPtRange(Float_t f1, Float_t f2) {fPtRange[0] = f1; fPtRange[1] = f2;}
void SetPtRangeEff(Float_t f1, Float_t f2) {fPtRangeEff[0] = f1; fPtRangeEff[1] = f2;}
* ---------------------------------------------------------------------------------
*/
- AliAnalysisNetParticleHelper *fHelper; // Helper class
+ AliAnalysisNetParticleHelper *fHelper; // Helper class
AliAnalysisNetParticleEffCont *fEffCont; //! Efficiency and Contamination class
AliAnalysisNetParticleDCA *fDCA; //! DCA class
AliAnalysisNetParticleDistribution *fDist; //! Distributions class
// -----------------------------------------------------------------------
Float_t fEtaMax; // Max, absolut eta
+ Float_t fEtaMaxEff; // Max, absolut eta for efficiency
Float_t fPtRange[2]; // Array of pt [min,max]
Float_t fPtRangeEff[2]; // Array of pt [min,max] for efficiency
* isCreateCSC -> Prepare for CrossSectionCorrection
* - requires isModeEff to be set
* - Proton only
-
-* JMT add mode isModeAOD
-
+ * isModeAOD -> Use AOD input
*
* - OUTPUT CONTAINER : #N = 5
* (1) - Standard Output, Distributions
if (sName.Contains("Proton")) {
helper->SetParticleSpecies(AliPID::kProton);
helper->SetControlParticleSpecies(3122, kTRUE, "Lambda");
- minPt = 0.4; maxPt = 2.2;
+ minPt = 0.4; maxPt = 0.8;
minPtEff = 0.2; maxPtEff = 2.6;
minPtForTOF = 0.8;
nSigmaTPC = 2.5; nSigmaTOF = 2.5;
}
else if (sName.Contains("Pion")) {
helper->SetParticleSpecies(AliPID::kPion);
- minPt = 0.3; maxPt = 0.9;
+ minPt = 0.25; maxPt = 0.7;
minPtEff = 0.2; maxPtEff = 1.2;
minPtForTOF = 0.8;
nSigmaTPC = 2.5; nSigmaTOF = 2.5;
}
else if (sName.Contains("Kaon")) {
helper->SetParticleSpecies(AliPID::kKaon);
- minPt = 0.5; maxPt = 0.8;
+ minPt = 0.5; maxPt = 1.4;
minPtEff = 0.1; maxPtEff = 2.5;
minPtForTOF = 0.5;
nSigmaTPC = 2.5; nSigmaTOF = 2.5;
}
else if (sName.Contains("Charge")) {
helper->SetUsePID(kFALSE);
- minPt = 0.2; maxPt = 2.8;
+ minPt = 0.3; maxPt = 2.5;
minPtEff = 0.1; maxPtEff = 3.0;
minPtForTOF = -1.;
nSigmaTPC = -1.; nSigmaTOF = -1.;
// ----------------------------------------------
// -- Set cut flags ...
- task->SetESDTrackCutMode(0); // => 0 = clean | 1 = dirty
+ task->SetESDTrackCutMode(0); // => 0 = clean | 1 = dirty
// -- Set analysis ranges
- task->SetEtaMax(0.9);
+ task->SetEtaMax(0.8); // eta cut
+ task->SetEtaMaxEff(0.9); // eta cut for efficiency
task->SetPtRange(minPt, maxPt); // pt cut range for the analysis
task->SetPtRangeEff(minPtEff, maxPtEff); // pt cut range for the correction / efficiency / contamination creation