#include "TMath.h"
#include "TAxis.h"
#include "TSystem.h"
#include "TFile.h"
#include "TPRegexp.h"
#include "AliStack.h"
#include "AliMCEvent.h"
#include "AliMCParticle.h"
#include "AliESDtrackCuts.h"
#include "AliESDInputHandler.h"
#include "AliESDpid.h"
#include "AliAODInputHandler.h"
#include "AliAODEvent.h"
#include "AliAODMCParticle.h"
#include "AliCentrality.h"
#include "AliTracker.h"
#include "AliEbyEPidRatioHelper.h"
using namespace std;
ClassImp(AliEbyEPidRatioHelper)
AliEbyEPidRatioHelper::AliEbyEPidRatioHelper() :
fModeDistCreation(0),
fInputEventHandler(NULL),
fPIDResponse(NULL),
fESD(NULL),
fESDTrackCuts(NULL),
fAOD(NULL),
fAODtrackCutBit(1024),
fIsMC(kFALSE),
fMCEvent(NULL),
fStack(NULL),
fCentralityBin(-1),
fCentralityPercentile(-1.),
fCentralityBinMax(11),
fVertexZMax(10.),
fRapidityMax(0.9),
fPhiMin(0.),
fPhiMax(TMath::TwoPi()),
fMinTrackLengthMC(70.),
fNSigmaMaxCdd(3.),
fNSigmaMaxCzz(3.),
fPIDStrategy(0),
fNSigmaMaxITS(4.),
fNSigmaMaxTPC(4.),
fNSigmaMaxTPClow(3.),
fNSigmaMaxTOF(4.),
fMinPtForTOFRequired(0.69),
fMaxPtForTPClow(0.69),
fHEventStat0(NULL),
fHEventStat1(NULL),
fHEventStatMax(6),
fHTriggerStat(NULL),
fNTriggers(5),
fHCentralityStat(NULL),
fHCentralityPer(NULL),
fHCentralityPerAll(NULL),
fNCentralityBins(11),
fSubSamples(25),
fRandom(NULL),
fSubSampleIdx(1),
fIsRatio(kFALSE),
fIsPtBin(kFALSE), fIsDetectorWise(kFALSE) {
AliLog::SetClassDebugLevel("AliEbyEPidRatioHelper",10);
}
const Float_t AliEbyEPidRatioHelper::fgkfHistBinWitdthRap = 0.1;
const Float_t AliEbyEPidRatioHelper::fgkfHistBinWitdthPt = 0.3;
const Float_t AliEbyEPidRatioHelper::fgkfHistRangeCent[] = {-0.5, 10.5};
const Int_t AliEbyEPidRatioHelper::fgkfHistNBinsCent = 11 ;
const Float_t AliEbyEPidRatioHelper::fgkfHistRangeEta[] = {-0.9, 0.9};
const Int_t AliEbyEPidRatioHelper::fgkfHistNBinsEta = Int_t((AliEbyEPidRatioHelper::fgkfHistRangeEta[1] -
AliEbyEPidRatioHelper::fgkfHistRangeEta[0]) /
AliEbyEPidRatioHelper::fgkfHistBinWitdthRap) +1;
const Float_t AliEbyEPidRatioHelper::fgkfHistRangeRap[] = {-0.8, 0.8};
const Int_t AliEbyEPidRatioHelper::fgkfHistNBinsRap = Int_t((AliEbyEPidRatioHelper::fgkfHistRangeRap[1] - AliEbyEPidRatioHelper::fgkfHistRangeRap[0]) / AliEbyEPidRatioHelper::fgkfHistBinWitdthRap) +1;
const Float_t AliEbyEPidRatioHelper::fgkfHistRangePhi[] = {0.0, static_cast<Float_t>(TMath::TwoPi())};
const Int_t AliEbyEPidRatioHelper::fgkfHistNBinsPhi = 42;
const Float_t AliEbyEPidRatioHelper::fgkfHistRangePt[] = {0.2, 2.9};
const Int_t AliEbyEPidRatioHelper::fgkfHistNBinsPt = Int_t((AliEbyEPidRatioHelper::fgkfHistRangePt[1] - AliEbyEPidRatioHelper::fgkfHistRangePt[0]) / AliEbyEPidRatioHelper::fgkfHistBinWitdthPt);
const Float_t AliEbyEPidRatioHelper::fgkfHistRangeSign[] = {-1.5, 1.5};
const Int_t AliEbyEPidRatioHelper::fgkfHistNBinsSign = 3;
const Char_t* AliEbyEPidRatioHelper::fgkEventNames[] = {"All", "IsTriggered", "HasVertex", "Vz<Vz_{Max}", "Centrality [0,100]%"};
const Char_t* AliEbyEPidRatioHelper::fgkCentralityMaxNames[] = {"5", "10", "20", "30", "40", "50", "60", "70", "80", "90", "100"};
const Char_t* AliEbyEPidRatioHelper::fgkTriggerNames[] = {"kMB", "kCentral", "kSemiCentral", "kEMCEJE", "kEMCEGA" };
const Char_t* AliEbyEPidRatioHelper::fgkCentralityNames[] = {"0-5%", "5-10%", "10-20%", "20-30%", "30-40%", "40-50%","50-60%", "60-70%", "70-80%", "80-90%", "90-100%"};
const Char_t* AliEbyEPidRatioHelper::fgkPidName[4] = {"Nch","Npi","Nka","Npr"};
const Char_t* AliEbyEPidRatioHelper::fgkPidShLatex[4] = {"N","#pi","K","p"};
const Char_t* AliEbyEPidRatioHelper::fgkPidLatex[4][2] = {{"N_{-}","N_{+}"}, {"N_{#pi^{-}}","N_{#pi^{+}}"},{"N_{K^{-}}","N_{K^{+}}"}, {"N_{#bar{p}}","N_{p}"}};
const Char_t* AliEbyEPidRatioHelper::fgkPidTitles[4][2] = {{"Negative","Positive"},{"Anti-Pions","Pions"},{"Anti-Kaons","Kaons"}, {"Anti-Protons","Protons"}};
const Char_t* AliEbyEPidRatioHelper::fgkNetHistName[4] = {"","Plus","Minus","Net"};
const Char_t* AliEbyEPidRatioHelper::fgkNetHistLatex[4] = {"+ + +","+","-","+ - -"};
const Int_t AliEbyEPidRatioHelper::fgkfNetHistBin[4][4] = {{3000,2400,1600,1200}, {1500,1200,800,600},{1500,1200,800,600},{600,600,600,600}};
AliEbyEPidRatioHelper::~AliEbyEPidRatioHelper() {
if (fRandom)
delete fRandom;
return;
}
void AliEbyEPidRatioHelper::SetPhiRange(Float_t f1, Float_t f2) {
fPhiMin = f1;
fPhiMax = (f1 < f2) ? f2 : f2+TMath::TwoPi();
Float_t phiMin = fPhiMin;
Float_t phiMax = fPhiMax;
Float_t binWidth = (AliEbyEPidRatioHelper::fgkfHistRangePhi[1] - AliEbyEPidRatioHelper::fgkfHistRangePhi[0]) /
Float_t(AliEbyEPidRatioHelper::fgkfHistNBinsPhi);
Float_t lowEdge = AliEbyEPidRatioHelper::fgkfHistRangePhi[0] - binWidth;
Float_t highEdge = AliEbyEPidRatioHelper::fgkfHistRangePhi[0];
for (Int_t ii = 1; ii <= AliEbyEPidRatioHelper::fgkfHistNBinsPhi; ++ii) {
lowEdge += binWidth;
highEdge += binWidth;
if (phiMin >= lowEdge && phiMin < highEdge )
phiMin = lowEdge;
if (phiMax > lowEdge && phiMax <= highEdge )
phiMax = highEdge;
}
printf(">>>> Update Phi Range : [%f,%f] -> [%f,%f]\n", fPhiMin, fPhiMax, phiMin, phiMax);
fPhiMin = phiMin;
fPhiMax = phiMax;
}
Int_t AliEbyEPidRatioHelper::Initialize(AliESDtrackCuts *cuts, Bool_t isMC, Bool_t isRatio, Bool_t isPtBin, Bool_t isDetWise, Int_t trackCutBit, Int_t modeDistCreation) {
Int_t iResult = 0;
fESDTrackCuts = cuts;
fIsMC = isMC;
fIsRatio = isRatio;
fIsPtBin = isPtBin;
fIsDetectorWise = isDetWise;
fAODtrackCutBit = trackCutBit;
fModeDistCreation = modeDistCreation;
InitializeEventStats();
InitializeTriggerStats();
InitializeCentralityStats();
printf(">>>> PID STRATEGY: %d || sigmaMax: ITS %.2f TPC %.2f TOF %.2f \n", fPIDStrategy, fNSigmaMaxITS, fNSigmaMaxTPC, fNSigmaMaxTOF);
fRandom = new TRandom3();
fRandom->SetSeed();
return iResult;
}
Int_t AliEbyEPidRatioHelper::SetupEvent(AliESDInputHandler *esdHandler, AliAODInputHandler *aodHandler, AliMCEvent *mcEvent) {
if(esdHandler){
fInputEventHandler = static_cast<AliInputEventHandler*>(esdHandler);
fESD = dynamic_cast<AliESDEvent*>(fInputEventHandler->GetEvent());
if (!fESD) {
AliError("ESD event handler not available");
return -1;
}
}
else if(aodHandler){
fInputEventHandler = static_cast<AliInputEventHandler*>(aodHandler);
fAOD = dynamic_cast<AliAODEvent*>(fInputEventHandler->GetEvent());
if (!fAOD) {
AliError("AOD event handler not available");
return -1;
}
}
fPIDResponse = fInputEventHandler->GetPIDResponse();
fMCEvent = mcEvent;
if (fMCEvent)
fStack = fMCEvent->Stack();
AliCentrality *centrality = NULL;
if(esdHandler)
centrality = fESD->GetCentrality();
else if(aodHandler)
centrality = ((AliVAODHeader*)fAOD->GetHeader())->GetCentralityP();
if (!centrality) {
AliError("Centrality not available");
return -1;
}
Int_t centBin = centrality->GetCentralityClass10("V0M");
if (centBin == 0) { fCentralityBin = centrality->GetCentralityClass5("V0M"); }
else if (centBin == 11 || centBin == -1.) { fCentralityBin = -1; }
else if (centBin > 0 && centBin < fNCentralityBins) { fCentralityBin = centBin + 1; }
else { fCentralityBin = -2; }
if (fCentralityBin >= fCentralityBinMax)
fCentralityBin = -2;
fCentralityPercentile = centrality->GetCentralityPercentile("V0M");
fSubSampleIdx = fRandom->Integer(fSubSamples);
return 0;
}
Bool_t AliEbyEPidRatioHelper::IsEventTriggered() {
Bool_t *aTriggerFired = new Bool_t[fNTriggers];
for (Int_t ii = 0; ii < fNTriggers; ++ii)
aTriggerFired[ii] = kFALSE;
if ((fInputEventHandler->IsEventSelected() & AliVEvent::kMB)) aTriggerFired[0] = kTRUE;
if ((fInputEventHandler->IsEventSelected() & AliVEvent::kCentral)) aTriggerFired[1] = kTRUE;
if ((fInputEventHandler->IsEventSelected() & AliVEvent::kSemiCentral)) aTriggerFired[2] = kTRUE;
if ((fInputEventHandler->IsEventSelected() & AliVEvent::kEMCEJE)) aTriggerFired[3] = kTRUE;
if ((fInputEventHandler->IsEventSelected() & AliVEvent::kEMCEGA)) aTriggerFired[4] = kTRUE;
Bool_t isTriggered = kFALSE;
for (Int_t ii=0; ii<fNTriggers; ++ii) {
if(aTriggerFired[ii]) {
isTriggered = kTRUE;
fHTriggerStat->Fill(ii);
}
}
delete[] aTriggerFired;
return isTriggered;
}
Bool_t AliEbyEPidRatioHelper::IsEventRejected() {
Int_t *aEventCuts = new Int_t[fHEventStatMax];
for (Int_t ii=0;ii<fHEventStatMax; ++ii)
aEventCuts[ii] = 0;
Int_t iCut = 0;
aEventCuts[iCut] = 0;
++iCut;
if (!IsEventTriggered())
aEventCuts[iCut] = 1;
++iCut;
const AliESDVertex* vtxESD = NULL;
const AliAODVertex* vtxAOD = NULL;
if (fESD){
vtxESD = fESD->GetPrimaryVertexTracks();
if (!vtxESD)
aEventCuts[iCut] = 1;
}
else if (fAOD){
vtxAOD = fAOD->GetPrimaryVertex();
if (!vtxAOD)
aEventCuts[iCut] = 1;
}
++iCut;
if (vtxESD){
if(TMath::Abs(vtxESD->GetZ()) > fVertexZMax)
aEventCuts[iCut] = 1;
}
else if(vtxAOD){
if(TMath::Abs(vtxAOD->GetZ()) > fVertexZMax)
aEventCuts[iCut] = 1;
}
else
aEventCuts[iCut] = 1;
++iCut;
if(fCentralityBin == -1.)
aEventCuts[iCut] = 1;
++iCut;
if(fCentralityBin == -2.)
aEventCuts[iCut] = 1;
Bool_t isRejected = FillEventStats(aEventCuts);
delete[] aEventCuts;
return isRejected;
}
Bool_t AliEbyEPidRatioHelper::IsParticleAcceptedBasicCharged(AliVParticle *particle, Int_t idxMC) {
if (!particle)
return kFALSE;
if (particle->Charge() == 0.0)
return kFALSE;
if (fESD) {
if(!fStack->IsPhysicalPrimary(idxMC))
return kFALSE;
}
else {
if(!(static_cast<AliAODMCParticle*>(particle))->IsPhysicalPrimary())
return kFALSE;
}
return kTRUE;
}
Bool_t AliEbyEPidRatioHelper::IsParticleAcceptedBasicNeutral(AliVParticle *particle, Int_t idxMC) {
if (!particle)
return kFALSE;
if (particle->Charge() != 0.0)
return kFALSE;
if (fESD) {
if(!fStack->IsPhysicalPrimary(idxMC))
return kFALSE;
}
else {
if(!(static_cast<AliAODMCParticle*>(particle))->IsPhysicalPrimary())
return kFALSE;
}
return kTRUE;
}
Bool_t AliEbyEPidRatioHelper::IsParticleAcceptedRapidity(AliVParticle *particle, Double_t &yP, Int_t gCurPid) {
if (gCurPid == 0) {
yP = particle->Eta();
return kTRUE;
}
Double_t mP = AliPID::ParticleMass(AliPID::kPion);
if(gCurPid == 1) mP = AliPID::ParticleMass(AliPID::kPion);
else if(gCurPid == 2) mP = AliPID::ParticleMass(AliPID::kKaon);
else if(gCurPid == 3) mP = AliPID::ParticleMass(AliPID::kProton);
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));
if (TMath::Abs(yP) > fRapidityMax)
return kFALSE;
return kTRUE;
}
Bool_t AliEbyEPidRatioHelper::IsParticleAcceptedPhi(AliVParticle *particle) {
if (particle->Phi() > fPhiMin && particle->Phi() <= fPhiMax)
return kTRUE;
else if (particle->Phi() < fPhiMin && (particle->Phi() + TMath::TwoPi()) <= fPhiMax)
return kTRUE;
else
return kFALSE;
}
Bool_t AliEbyEPidRatioHelper::IsParticleFindable(Int_t label) {
AliMCParticle *mcParticle = static_cast<AliMCParticle*>(fMCEvent->GetTrack(label));
if(!mcParticle)
return kFALSE;
Int_t counter;
Float_t tpcTrackLength = mcParticle->GetTPCTrackLength(AliTracker::GetBz(), 0.05, counter, 3.0);
return (tpcTrackLength > fMinTrackLengthMC);
}
Bool_t AliEbyEPidRatioHelper::IsTrackAcceptedBasicCharged(AliVTrack* track) {
if (!track)
return kFALSE;
if (track->Charge() == 0)
return kFALSE;
return kTRUE;
}
Bool_t AliEbyEPidRatioHelper::IsTrackAcceptedRapidity(AliVTrack *track, Double_t &yP, Int_t gCurPid) {
if (gCurPid == 0) {
yP = track->Eta();
return kTRUE;
}
Double_t mP = AliPID::ParticleMass(AliPID::kPion);
if(gCurPid == 1) mP = AliPID::ParticleMass(AliPID::kPion);
else if(gCurPid == 2) mP = AliPID::ParticleMass(AliPID::kKaon);
else if(gCurPid == 3) mP = AliPID::ParticleMass(AliPID::kProton);
Double_t pvec[3];
track->GetPxPyPz(pvec);
Double_t p = track->P();
Double_t eP = TMath::Sqrt(p*p + mP*mP);
yP = 0.5 * TMath::Log((eP + pvec[2]) / (eP - pvec[2]));
if (TMath::Abs(yP) > fRapidityMax)
return kFALSE;
return kTRUE;
}
Bool_t AliEbyEPidRatioHelper::IsTrackAcceptedDCA(AliVTrack *vTrack) {
Bool_t isAccepted = kTRUE;
if (!fESD)
return isAccepted;
AliESDtrack* track = dynamic_cast<AliESDtrack*>(vTrack);
if (!track)
return kFALSE;
if (track->HasPointOnITSLayer(0) && track->HasPointOnITSLayer(1)) {
Float_t dca[2], cov[3];
track->GetImpactParameters(dca,cov);
Float_t nSigmaCdd = (cov[0] != 0.) ? dca[0]/TMath::Sqrt(cov[0]) : -9.99;
Float_t nSigmaCzz = (cov[2] != 0.) ? dca[1]/TMath::Sqrt(cov[2]) : -9.99;
if (fNSigmaMaxCdd != 0.) {
if (TMath::Abs(nSigmaCdd) > fNSigmaMaxCdd)
isAccepted = kFALSE;
}
if (fNSigmaMaxCzz != 0.) {
if (TMath::Abs(nSigmaCzz) > fNSigmaMaxCzz)
isAccepted = kFALSE;
}
}
return isAccepted;
}
Bool_t AliEbyEPidRatioHelper::IsTrackAcceptedPID(AliVTrack *track, Double_t* pid, AliPID::EParticleType gCurPid) {
Bool_t isAcceptedITS = kFALSE;
Bool_t isAcceptedTPC = kFALSE;
Bool_t isAcceptedTPClow = kFALSE;
Bool_t isAcceptedTOF = kFALSE;
Bool_t isAccepted = kFALSE;
if (gCurPid == AliPID::kUnknown) {
pid[0] = 10.;
pid[1] = 10.;
pid[2] = 10.;
return kTRUE;
}
if (fPIDResponse->NumberOfSigmas(AliPIDResponse::kITS, track, gCurPid, pid[0]) == AliPIDResponse::kDetPidOk) {
if (TMath::Abs(pid[0]) < fNSigmaMaxITS)
isAcceptedITS = kTRUE;
}
if (fPIDResponse->NumberOfSigmas(AliPIDResponse::kTPC, track, gCurPid, pid[1]) == AliPIDResponse::kDetPidOk) {
if (TMath::Abs(pid[1]) < fNSigmaMaxTPC)
isAcceptedTPC = kTRUE;
if (TMath::Abs(pid[1]) < fNSigmaMaxTPClow)
isAcceptedTPClow = kTRUE;
if (track->Pt() < fMaxPtForTPClow)
isAcceptedTPC = isAcceptedTPClow;
}
Bool_t hasPIDTOF = kFALSE;
if (fPIDResponse->NumberOfSigmas(AliPIDResponse::kTOF, track, gCurPid, pid[2]) == AliPIDResponse::kDetPidOk) {
hasPIDTOF = kTRUE;
if (TMath::Abs(pid[2]) < fNSigmaMaxTOF)
isAcceptedTOF = kTRUE;
}
if (fIsMC && isAcceptedTOF) {
Int_t tofLabel[3];
(dynamic_cast<AliESDtrack*>(track))->GetTOFLabel(tofLabel);
Bool_t hasMatchTOF = kTRUE;
if (TMath::Abs(track->GetLabel()) != TMath::Abs(tofLabel[0]) || tofLabel[1] > 0)
hasMatchTOF = kFALSE;
TParticle *matchedTrack = fStack->Particle(TMath::Abs(tofLabel[0]));
if (TMath::Abs(matchedTrack->GetFirstMother()) == TMath::Abs(track->GetLabel()))
hasMatchTOF = kTRUE;
isAcceptedTOF = hasMatchTOF;
}
if (fPIDStrategy == 0) {
isAccepted = isAcceptedTPC;
}
else if (fPIDStrategy == 1) {
isAccepted = isAcceptedITS;
}
else if (fPIDStrategy == 2) {
isAccepted = isAcceptedTOF;
}
else if (fPIDStrategy == 3) {
isAccepted = isAcceptedTPC && isAcceptedITS;
}
else if (fPIDStrategy == 4) {
isAccepted = isAcceptedTPC && isAcceptedTOF;
}
else if (fPIDStrategy == 5) {
if (!hasPIDTOF && track->Pt() < fMinPtForTOFRequired)
isAcceptedTOF = kTRUE;
isAccepted = isAcceptedTPC && isAcceptedTOF;
}
else if (fPIDStrategy == 6) {
isAccepted = isAcceptedTPC && isAcceptedITS;
if (hasPIDTOF)
isAccepted = isAccepted && isAcceptedTOF;
}
else if (fPIDStrategy == 7) {
if (!hasPIDTOF && track->Pt() < fMinPtForTOFRequired)
isAcceptedTOF = kTRUE;
isAccepted = isAcceptedITS && isAcceptedTPC && isAcceptedTOF;
}
else if (fPIDStrategy == 8) {
isAccepted = isAcceptedITS && isAcceptedTPC && isAcceptedTOF;
}
return isAccepted;
}
Bool_t AliEbyEPidRatioHelper::IsTrackAcceptedPhi(AliVTrack *track) {
if (track->Phi() > fPhiMin && track->Phi() <= fPhiMax)
return kTRUE;
else if (track->Phi() < fPhiMin && (track->Phi() + TMath::TwoPi()) <= fPhiMax)
return kTRUE;
else
return kFALSE;
}
void AliEbyEPidRatioHelper::BinLogAxis(const THnBase *hn, Int_t axisNumber, AliESDtrackCuts* cuts) {
AliESDtrackCuts* esdTrackCuts = (cuts) ? cuts : fESDTrackCuts;
TAxis *axis = hn->GetAxis(axisNumber);
Int_t nBins = axis->GetNbins();
Double_t from = axis->GetXmin();
Double_t to = axis->GetXmax();
Double_t *newBins = new Double_t[nBins + 1];
newBins[0] = from;
Double_t factor = TMath::Power(to/from, 1./nBins);
for (int ii = 1; ii <= nBins; ii++)
newBins[ii] = factor * newBins[ii-1];
axis->Set(nBins, newBins);
delete [] newBins;
Float_t ptRange[2];
Float_t oldPtRange[2];
esdTrackCuts->GetPtRange(ptRange[0],ptRange[1]);
esdTrackCuts->GetPtRange(oldPtRange[0],oldPtRange[1]);
Float_t minPtForTOFRequired = fMinPtForTOFRequired;
Float_t maxPtForTPClow = fMaxPtForTPClow;
Int_t bin = axis->FindBin(ptRange[0]+10e-7);
ptRange[0] = axis->GetBinLowEdge(bin);
bin = axis->FindBin(ptRange[1]-10e-7);
ptRange[1] = axis->GetBinUpEdge(bin);
if (ptRange[0] != oldPtRange[0] || ptRange[1] != oldPtRange[1]) {
printf(">>>> Update Pt Range : [%f,%f] -> [%f,%f]\n", oldPtRange[0], oldPtRange[1], ptRange[0], ptRange[1]);
esdTrackCuts->SetPtRange(ptRange[0],ptRange[1]);
}
bin = axis->FindBin(minPtForTOFRequired-10e-7);
minPtForTOFRequired = axis->GetBinUpEdge(bin);
if (minPtForTOFRequired != fMinPtForTOFRequired) {
printf(">>>> Update Min Pt for TOF : %f -> %f\n", fMinPtForTOFRequired, minPtForTOFRequired);
fMinPtForTOFRequired = minPtForTOFRequired;
}
bin = axis->FindBin(maxPtForTPClow-10e-7);
maxPtForTPClow = axis->GetBinUpEdge(bin);
if (maxPtForTPClow != fMaxPtForTPClow) {
printf(">>>> Update Max Pt for TPC Low : %f -> %f\n", fMaxPtForTPClow, maxPtForTPClow);
fMaxPtForTPClow = maxPtForTPClow;
}
}
void AliEbyEPidRatioHelper::InitializeEventStats() {
fHEventStat0 = new TH1F("hEventStat0","Event cut statistics 0;Event Cuts;Events", fHEventStatMax,-0.5,fHEventStatMax-0.5);
fHEventStat1 = new TH1F("hEventStat1","Event cut statistics 1;Event Cuts;Events", fHEventStatMax,-0.5,fHEventStatMax-0.5);
for ( Int_t ii=0; ii < fHEventStatMax-1; ii++ ) {
fHEventStat0->GetXaxis()->SetBinLabel(ii+1, AliEbyEPidRatioHelper::fgkEventNames[ii]);
fHEventStat1->GetXaxis()->SetBinLabel(ii+1, AliEbyEPidRatioHelper::fgkEventNames[ii]);
}
fHEventStat0->GetXaxis()->SetBinLabel(fHEventStatMax, Form("Centrality [0-%s]%%", AliEbyEPidRatioHelper::fgkCentralityMaxNames[fCentralityBinMax-1]));
fHEventStat1->GetXaxis()->SetBinLabel(fHEventStatMax, Form("Centrality [0-%s]%%", AliEbyEPidRatioHelper::fgkCentralityMaxNames[fCentralityBinMax-1]));
}
void AliEbyEPidRatioHelper::InitializeTriggerStats() {
fHTriggerStat = new TH1F("hTriggerStat","Trigger statistics;Trigger;Events", fNTriggers,-0.5,fNTriggers-0.5);
for ( Int_t ii=0; ii < fNTriggers; ii++ )
fHTriggerStat->GetXaxis()->SetBinLabel(ii+1, AliEbyEPidRatioHelper::fgkTriggerNames[ii]);
}
void AliEbyEPidRatioHelper::InitializeCentralityStats() {
fHCentralityStat = new TH1F("hCentralityStat","Centrality statistics;Centrality Bins;Events",
fNCentralityBins,-0.5,fNCentralityBins-0.5);
for ( Int_t ii=0; ii < fNCentralityBins; ii++ )
fHCentralityStat->GetXaxis()->SetBinLabel(ii+1, AliEbyEPidRatioHelper::fgkCentralityNames[ii]);
fHCentralityPer = new TH1F("hCentralityPercentileAccepted","Centrality Percentile statistics;Centrality Bins;Events",
100,-0.5,99.5);
fHCentralityPerAll = new TH1F("hCentralityPercentileAll","Centrality Percentile statistics;Centrality Bins;Events",
100,-0.5,99.5);
}
Bool_t AliEbyEPidRatioHelper::FillEventStats(Int_t *aEventCuts) {
Bool_t isRejected = kFALSE;
for (Int_t idx = 0; idx < fHEventStatMax ; ++idx) {
if (aEventCuts[idx])
isRejected = kTRUE;
else
fHEventStat0->Fill(idx);
}
for (Int_t idx = 0; idx < fHEventStatMax; ++idx) {
if (aEventCuts[idx])
break;
fHEventStat1->Fill(idx);
}
if (!isRejected) {
fHCentralityStat->Fill(fCentralityBin);
fHCentralityPer->Fill(fCentralityPercentile);
}
fHCentralityPerAll->Fill(fCentralityPercentile);
return isRejected;
}
AliEbyEPidRatioHelper.cxx:1 AliEbyEPidRatioHelper.cxx:2 AliEbyEPidRatioHelper.cxx:3 AliEbyEPidRatioHelper.cxx:4 AliEbyEPidRatioHelper.cxx:5 AliEbyEPidRatioHelper.cxx:6 AliEbyEPidRatioHelper.cxx:7 AliEbyEPidRatioHelper.cxx:8 AliEbyEPidRatioHelper.cxx:9 AliEbyEPidRatioHelper.cxx:10 AliEbyEPidRatioHelper.cxx:11 AliEbyEPidRatioHelper.cxx:12 AliEbyEPidRatioHelper.cxx:13 AliEbyEPidRatioHelper.cxx:14 AliEbyEPidRatioHelper.cxx:15 AliEbyEPidRatioHelper.cxx:16 AliEbyEPidRatioHelper.cxx:17 AliEbyEPidRatioHelper.cxx:18 AliEbyEPidRatioHelper.cxx:19 AliEbyEPidRatioHelper.cxx:20 AliEbyEPidRatioHelper.cxx:21 AliEbyEPidRatioHelper.cxx:22 AliEbyEPidRatioHelper.cxx:23 AliEbyEPidRatioHelper.cxx:24 AliEbyEPidRatioHelper.cxx:25 AliEbyEPidRatioHelper.cxx:26 AliEbyEPidRatioHelper.cxx:27 AliEbyEPidRatioHelper.cxx:28 AliEbyEPidRatioHelper.cxx:29 AliEbyEPidRatioHelper.cxx:30 AliEbyEPidRatioHelper.cxx:31 AliEbyEPidRatioHelper.cxx:32 AliEbyEPidRatioHelper.cxx:33 AliEbyEPidRatioHelper.cxx:34 AliEbyEPidRatioHelper.cxx:35 AliEbyEPidRatioHelper.cxx:36 AliEbyEPidRatioHelper.cxx:37 AliEbyEPidRatioHelper.cxx:38 AliEbyEPidRatioHelper.cxx:39 AliEbyEPidRatioHelper.cxx:40 AliEbyEPidRatioHelper.cxx:41 AliEbyEPidRatioHelper.cxx:42 AliEbyEPidRatioHelper.cxx:43 AliEbyEPidRatioHelper.cxx:44 AliEbyEPidRatioHelper.cxx:45 AliEbyEPidRatioHelper.cxx:46 AliEbyEPidRatioHelper.cxx:47 AliEbyEPidRatioHelper.cxx:48 AliEbyEPidRatioHelper.cxx:49 AliEbyEPidRatioHelper.cxx:50 AliEbyEPidRatioHelper.cxx:51 AliEbyEPidRatioHelper.cxx:52 AliEbyEPidRatioHelper.cxx:53 AliEbyEPidRatioHelper.cxx:54 AliEbyEPidRatioHelper.cxx:55 AliEbyEPidRatioHelper.cxx:56 AliEbyEPidRatioHelper.cxx:57 AliEbyEPidRatioHelper.cxx:58 AliEbyEPidRatioHelper.cxx:59 AliEbyEPidRatioHelper.cxx:60 AliEbyEPidRatioHelper.cxx:61 AliEbyEPidRatioHelper.cxx:62 AliEbyEPidRatioHelper.cxx:63 AliEbyEPidRatioHelper.cxx:64 AliEbyEPidRatioHelper.cxx:65 AliEbyEPidRatioHelper.cxx:66 AliEbyEPidRatioHelper.cxx:67 AliEbyEPidRatioHelper.cxx:68 AliEbyEPidRatioHelper.cxx:69 AliEbyEPidRatioHelper.cxx:70 AliEbyEPidRatioHelper.cxx:71 AliEbyEPidRatioHelper.cxx:72 AliEbyEPidRatioHelper.cxx:73 AliEbyEPidRatioHelper.cxx:74 AliEbyEPidRatioHelper.cxx:75 AliEbyEPidRatioHelper.cxx:76 AliEbyEPidRatioHelper.cxx:77 AliEbyEPidRatioHelper.cxx:78 AliEbyEPidRatioHelper.cxx:79 AliEbyEPidRatioHelper.cxx:80 AliEbyEPidRatioHelper.cxx:81 AliEbyEPidRatioHelper.cxx:82 AliEbyEPidRatioHelper.cxx:83 AliEbyEPidRatioHelper.cxx:84 AliEbyEPidRatioHelper.cxx:85 AliEbyEPidRatioHelper.cxx:86 AliEbyEPidRatioHelper.cxx:87 AliEbyEPidRatioHelper.cxx:88 AliEbyEPidRatioHelper.cxx:89 AliEbyEPidRatioHelper.cxx:90 AliEbyEPidRatioHelper.cxx:91 AliEbyEPidRatioHelper.cxx:92 AliEbyEPidRatioHelper.cxx:93 AliEbyEPidRatioHelper.cxx:94 AliEbyEPidRatioHelper.cxx:95 AliEbyEPidRatioHelper.cxx:96 AliEbyEPidRatioHelper.cxx:97 AliEbyEPidRatioHelper.cxx:98 AliEbyEPidRatioHelper.cxx:99 AliEbyEPidRatioHelper.cxx:100 AliEbyEPidRatioHelper.cxx:101 AliEbyEPidRatioHelper.cxx:102 AliEbyEPidRatioHelper.cxx:103 AliEbyEPidRatioHelper.cxx:104 AliEbyEPidRatioHelper.cxx:105 AliEbyEPidRatioHelper.cxx:106 AliEbyEPidRatioHelper.cxx:107 AliEbyEPidRatioHelper.cxx:108 AliEbyEPidRatioHelper.cxx:109 AliEbyEPidRatioHelper.cxx:110 AliEbyEPidRatioHelper.cxx:111 AliEbyEPidRatioHelper.cxx:112 AliEbyEPidRatioHelper.cxx:113 AliEbyEPidRatioHelper.cxx:114 AliEbyEPidRatioHelper.cxx:115 AliEbyEPidRatioHelper.cxx:116 AliEbyEPidRatioHelper.cxx:117 AliEbyEPidRatioHelper.cxx:118 AliEbyEPidRatioHelper.cxx:119 AliEbyEPidRatioHelper.cxx:120 AliEbyEPidRatioHelper.cxx:121 AliEbyEPidRatioHelper.cxx:122 AliEbyEPidRatioHelper.cxx:123 AliEbyEPidRatioHelper.cxx:124 AliEbyEPidRatioHelper.cxx:125 AliEbyEPidRatioHelper.cxx:126 AliEbyEPidRatioHelper.cxx:127 AliEbyEPidRatioHelper.cxx:128 AliEbyEPidRatioHelper.cxx:129 AliEbyEPidRatioHelper.cxx:130 AliEbyEPidRatioHelper.cxx:131 AliEbyEPidRatioHelper.cxx:132 AliEbyEPidRatioHelper.cxx:133 AliEbyEPidRatioHelper.cxx:134 AliEbyEPidRatioHelper.cxx:135 AliEbyEPidRatioHelper.cxx:136 AliEbyEPidRatioHelper.cxx:137 AliEbyEPidRatioHelper.cxx:138 AliEbyEPidRatioHelper.cxx:139 AliEbyEPidRatioHelper.cxx:140 AliEbyEPidRatioHelper.cxx:141 AliEbyEPidRatioHelper.cxx:142 AliEbyEPidRatioHelper.cxx:143 AliEbyEPidRatioHelper.cxx:144 AliEbyEPidRatioHelper.cxx:145 AliEbyEPidRatioHelper.cxx:146 AliEbyEPidRatioHelper.cxx:147 AliEbyEPidRatioHelper.cxx:148 AliEbyEPidRatioHelper.cxx:149 AliEbyEPidRatioHelper.cxx:150 AliEbyEPidRatioHelper.cxx:151 AliEbyEPidRatioHelper.cxx:152 AliEbyEPidRatioHelper.cxx:153 AliEbyEPidRatioHelper.cxx:154 AliEbyEPidRatioHelper.cxx:155 AliEbyEPidRatioHelper.cxx:156 AliEbyEPidRatioHelper.cxx:157 AliEbyEPidRatioHelper.cxx:158 AliEbyEPidRatioHelper.cxx:159 AliEbyEPidRatioHelper.cxx:160 AliEbyEPidRatioHelper.cxx:161 AliEbyEPidRatioHelper.cxx:162 AliEbyEPidRatioHelper.cxx:163 AliEbyEPidRatioHelper.cxx:164 AliEbyEPidRatioHelper.cxx:165 AliEbyEPidRatioHelper.cxx:166 AliEbyEPidRatioHelper.cxx:167 AliEbyEPidRatioHelper.cxx:168 AliEbyEPidRatioHelper.cxx:169 AliEbyEPidRatioHelper.cxx:170 AliEbyEPidRatioHelper.cxx:171 AliEbyEPidRatioHelper.cxx:172 AliEbyEPidRatioHelper.cxx:173 AliEbyEPidRatioHelper.cxx:174 AliEbyEPidRatioHelper.cxx:175 AliEbyEPidRatioHelper.cxx:176 AliEbyEPidRatioHelper.cxx:177 AliEbyEPidRatioHelper.cxx:178 AliEbyEPidRatioHelper.cxx:179 AliEbyEPidRatioHelper.cxx:180 AliEbyEPidRatioHelper.cxx:181 AliEbyEPidRatioHelper.cxx:182 AliEbyEPidRatioHelper.cxx:183 AliEbyEPidRatioHelper.cxx:184 AliEbyEPidRatioHelper.cxx:185 AliEbyEPidRatioHelper.cxx:186 AliEbyEPidRatioHelper.cxx:187 AliEbyEPidRatioHelper.cxx:188 AliEbyEPidRatioHelper.cxx:189 AliEbyEPidRatioHelper.cxx:190 AliEbyEPidRatioHelper.cxx:191 AliEbyEPidRatioHelper.cxx:192 AliEbyEPidRatioHelper.cxx:193 AliEbyEPidRatioHelper.cxx:194 AliEbyEPidRatioHelper.cxx:195 AliEbyEPidRatioHelper.cxx:196 AliEbyEPidRatioHelper.cxx:197 AliEbyEPidRatioHelper.cxx:198 AliEbyEPidRatioHelper.cxx:199 AliEbyEPidRatioHelper.cxx:200 AliEbyEPidRatioHelper.cxx:201 AliEbyEPidRatioHelper.cxx:202 AliEbyEPidRatioHelper.cxx:203 AliEbyEPidRatioHelper.cxx:204 AliEbyEPidRatioHelper.cxx:205 AliEbyEPidRatioHelper.cxx:206 AliEbyEPidRatioHelper.cxx:207 AliEbyEPidRatioHelper.cxx:208 AliEbyEPidRatioHelper.cxx:209 AliEbyEPidRatioHelper.cxx:210 AliEbyEPidRatioHelper.cxx:211 AliEbyEPidRatioHelper.cxx:212 AliEbyEPidRatioHelper.cxx:213 AliEbyEPidRatioHelper.cxx:214 AliEbyEPidRatioHelper.cxx:215 AliEbyEPidRatioHelper.cxx:216 AliEbyEPidRatioHelper.cxx:217 AliEbyEPidRatioHelper.cxx:218 AliEbyEPidRatioHelper.cxx:219 AliEbyEPidRatioHelper.cxx:220 AliEbyEPidRatioHelper.cxx:221 AliEbyEPidRatioHelper.cxx:222 AliEbyEPidRatioHelper.cxx:223 AliEbyEPidRatioHelper.cxx:224 AliEbyEPidRatioHelper.cxx:225 AliEbyEPidRatioHelper.cxx:226 AliEbyEPidRatioHelper.cxx:227 AliEbyEPidRatioHelper.cxx:228 AliEbyEPidRatioHelper.cxx:229 AliEbyEPidRatioHelper.cxx:230 AliEbyEPidRatioHelper.cxx:231 AliEbyEPidRatioHelper.cxx:232 AliEbyEPidRatioHelper.cxx:233 AliEbyEPidRatioHelper.cxx:234 AliEbyEPidRatioHelper.cxx:235 AliEbyEPidRatioHelper.cxx:236 AliEbyEPidRatioHelper.cxx:237 AliEbyEPidRatioHelper.cxx:238 AliEbyEPidRatioHelper.cxx:239 AliEbyEPidRatioHelper.cxx:240 AliEbyEPidRatioHelper.cxx:241 AliEbyEPidRatioHelper.cxx:242 AliEbyEPidRatioHelper.cxx:243 AliEbyEPidRatioHelper.cxx:244 AliEbyEPidRatioHelper.cxx:245 AliEbyEPidRatioHelper.cxx:246 AliEbyEPidRatioHelper.cxx:247 AliEbyEPidRatioHelper.cxx:248 AliEbyEPidRatioHelper.cxx:249 AliEbyEPidRatioHelper.cxx:250 AliEbyEPidRatioHelper.cxx:251 AliEbyEPidRatioHelper.cxx:252 AliEbyEPidRatioHelper.cxx:253 AliEbyEPidRatioHelper.cxx:254 AliEbyEPidRatioHelper.cxx:255 AliEbyEPidRatioHelper.cxx:256 AliEbyEPidRatioHelper.cxx:257 AliEbyEPidRatioHelper.cxx:258 AliEbyEPidRatioHelper.cxx:259 AliEbyEPidRatioHelper.cxx:260 AliEbyEPidRatioHelper.cxx:261 AliEbyEPidRatioHelper.cxx:262 AliEbyEPidRatioHelper.cxx:263 AliEbyEPidRatioHelper.cxx:264 AliEbyEPidRatioHelper.cxx:265 AliEbyEPidRatioHelper.cxx:266 AliEbyEPidRatioHelper.cxx:267 AliEbyEPidRatioHelper.cxx:268 AliEbyEPidRatioHelper.cxx:269 AliEbyEPidRatioHelper.cxx:270 AliEbyEPidRatioHelper.cxx:271 AliEbyEPidRatioHelper.cxx:272 AliEbyEPidRatioHelper.cxx:273 AliEbyEPidRatioHelper.cxx:274 AliEbyEPidRatioHelper.cxx:275 AliEbyEPidRatioHelper.cxx:276 AliEbyEPidRatioHelper.cxx:277 AliEbyEPidRatioHelper.cxx:278 AliEbyEPidRatioHelper.cxx:279 AliEbyEPidRatioHelper.cxx:280 AliEbyEPidRatioHelper.cxx:281 AliEbyEPidRatioHelper.cxx:282 AliEbyEPidRatioHelper.cxx:283 AliEbyEPidRatioHelper.cxx:284 AliEbyEPidRatioHelper.cxx:285 AliEbyEPidRatioHelper.cxx:286 AliEbyEPidRatioHelper.cxx:287 AliEbyEPidRatioHelper.cxx:288 AliEbyEPidRatioHelper.cxx:289 AliEbyEPidRatioHelper.cxx:290 AliEbyEPidRatioHelper.cxx:291 AliEbyEPidRatioHelper.cxx:292 AliEbyEPidRatioHelper.cxx:293 AliEbyEPidRatioHelper.cxx:294 AliEbyEPidRatioHelper.cxx:295 AliEbyEPidRatioHelper.cxx:296 AliEbyEPidRatioHelper.cxx:297 AliEbyEPidRatioHelper.cxx:298 AliEbyEPidRatioHelper.cxx:299 AliEbyEPidRatioHelper.cxx:300 AliEbyEPidRatioHelper.cxx:301 AliEbyEPidRatioHelper.cxx:302 AliEbyEPidRatioHelper.cxx:303 AliEbyEPidRatioHelper.cxx:304 AliEbyEPidRatioHelper.cxx:305 AliEbyEPidRatioHelper.cxx:306 AliEbyEPidRatioHelper.cxx:307 AliEbyEPidRatioHelper.cxx:308 AliEbyEPidRatioHelper.cxx:309 AliEbyEPidRatioHelper.cxx:310 AliEbyEPidRatioHelper.cxx:311 AliEbyEPidRatioHelper.cxx:312 AliEbyEPidRatioHelper.cxx:313 AliEbyEPidRatioHelper.cxx:314 AliEbyEPidRatioHelper.cxx:315 AliEbyEPidRatioHelper.cxx:316 AliEbyEPidRatioHelper.cxx:317 AliEbyEPidRatioHelper.cxx:318 AliEbyEPidRatioHelper.cxx:319 AliEbyEPidRatioHelper.cxx:320 AliEbyEPidRatioHelper.cxx:321 AliEbyEPidRatioHelper.cxx:322 AliEbyEPidRatioHelper.cxx:323 AliEbyEPidRatioHelper.cxx:324 AliEbyEPidRatioHelper.cxx:325 AliEbyEPidRatioHelper.cxx:326 AliEbyEPidRatioHelper.cxx:327 AliEbyEPidRatioHelper.cxx:328 AliEbyEPidRatioHelper.cxx:329 AliEbyEPidRatioHelper.cxx:330 AliEbyEPidRatioHelper.cxx:331 AliEbyEPidRatioHelper.cxx:332 AliEbyEPidRatioHelper.cxx:333 AliEbyEPidRatioHelper.cxx:334 AliEbyEPidRatioHelper.cxx:335 AliEbyEPidRatioHelper.cxx:336 AliEbyEPidRatioHelper.cxx:337 AliEbyEPidRatioHelper.cxx:338 AliEbyEPidRatioHelper.cxx:339 AliEbyEPidRatioHelper.cxx:340 AliEbyEPidRatioHelper.cxx:341 AliEbyEPidRatioHelper.cxx:342 AliEbyEPidRatioHelper.cxx:343 AliEbyEPidRatioHelper.cxx:344 AliEbyEPidRatioHelper.cxx:345 AliEbyEPidRatioHelper.cxx:346 AliEbyEPidRatioHelper.cxx:347 AliEbyEPidRatioHelper.cxx:348 AliEbyEPidRatioHelper.cxx:349 AliEbyEPidRatioHelper.cxx:350 AliEbyEPidRatioHelper.cxx:351 AliEbyEPidRatioHelper.cxx:352 AliEbyEPidRatioHelper.cxx:353 AliEbyEPidRatioHelper.cxx:354 AliEbyEPidRatioHelper.cxx:355 AliEbyEPidRatioHelper.cxx:356 AliEbyEPidRatioHelper.cxx:357 AliEbyEPidRatioHelper.cxx:358 AliEbyEPidRatioHelper.cxx:359 AliEbyEPidRatioHelper.cxx:360 AliEbyEPidRatioHelper.cxx:361 AliEbyEPidRatioHelper.cxx:362 AliEbyEPidRatioHelper.cxx:363 AliEbyEPidRatioHelper.cxx:364 AliEbyEPidRatioHelper.cxx:365 AliEbyEPidRatioHelper.cxx:366 AliEbyEPidRatioHelper.cxx:367 AliEbyEPidRatioHelper.cxx:368 AliEbyEPidRatioHelper.cxx:369 AliEbyEPidRatioHelper.cxx:370 AliEbyEPidRatioHelper.cxx:371 AliEbyEPidRatioHelper.cxx:372 AliEbyEPidRatioHelper.cxx:373 AliEbyEPidRatioHelper.cxx:374 AliEbyEPidRatioHelper.cxx:375 AliEbyEPidRatioHelper.cxx:376 AliEbyEPidRatioHelper.cxx:377 AliEbyEPidRatioHelper.cxx:378 AliEbyEPidRatioHelper.cxx:379 AliEbyEPidRatioHelper.cxx:380 AliEbyEPidRatioHelper.cxx:381 AliEbyEPidRatioHelper.cxx:382 AliEbyEPidRatioHelper.cxx:383 AliEbyEPidRatioHelper.cxx:384 AliEbyEPidRatioHelper.cxx:385 AliEbyEPidRatioHelper.cxx:386 AliEbyEPidRatioHelper.cxx:387 AliEbyEPidRatioHelper.cxx:388 AliEbyEPidRatioHelper.cxx:389 AliEbyEPidRatioHelper.cxx:390 AliEbyEPidRatioHelper.cxx:391 AliEbyEPidRatioHelper.cxx:392 AliEbyEPidRatioHelper.cxx:393 AliEbyEPidRatioHelper.cxx:394 AliEbyEPidRatioHelper.cxx:395 AliEbyEPidRatioHelper.cxx:396 AliEbyEPidRatioHelper.cxx:397 AliEbyEPidRatioHelper.cxx:398 AliEbyEPidRatioHelper.cxx:399 AliEbyEPidRatioHelper.cxx:400 AliEbyEPidRatioHelper.cxx:401 AliEbyEPidRatioHelper.cxx:402 AliEbyEPidRatioHelper.cxx:403 AliEbyEPidRatioHelper.cxx:404 AliEbyEPidRatioHelper.cxx:405 AliEbyEPidRatioHelper.cxx:406 AliEbyEPidRatioHelper.cxx:407 AliEbyEPidRatioHelper.cxx:408 AliEbyEPidRatioHelper.cxx:409 AliEbyEPidRatioHelper.cxx:410 AliEbyEPidRatioHelper.cxx:411 AliEbyEPidRatioHelper.cxx:412 AliEbyEPidRatioHelper.cxx:413 AliEbyEPidRatioHelper.cxx:414 AliEbyEPidRatioHelper.cxx:415 AliEbyEPidRatioHelper.cxx:416 AliEbyEPidRatioHelper.cxx:417 AliEbyEPidRatioHelper.cxx:418 AliEbyEPidRatioHelper.cxx:419 AliEbyEPidRatioHelper.cxx:420 AliEbyEPidRatioHelper.cxx:421 AliEbyEPidRatioHelper.cxx:422 AliEbyEPidRatioHelper.cxx:423 AliEbyEPidRatioHelper.cxx:424 AliEbyEPidRatioHelper.cxx:425 AliEbyEPidRatioHelper.cxx:426 AliEbyEPidRatioHelper.cxx:427 AliEbyEPidRatioHelper.cxx:428 AliEbyEPidRatioHelper.cxx:429 AliEbyEPidRatioHelper.cxx:430 AliEbyEPidRatioHelper.cxx:431 AliEbyEPidRatioHelper.cxx:432 AliEbyEPidRatioHelper.cxx:433 AliEbyEPidRatioHelper.cxx:434 AliEbyEPidRatioHelper.cxx:435 AliEbyEPidRatioHelper.cxx:436 AliEbyEPidRatioHelper.cxx:437 AliEbyEPidRatioHelper.cxx:438 AliEbyEPidRatioHelper.cxx:439 AliEbyEPidRatioHelper.cxx:440 AliEbyEPidRatioHelper.cxx:441 AliEbyEPidRatioHelper.cxx:442 AliEbyEPidRatioHelper.cxx:443 AliEbyEPidRatioHelper.cxx:444 AliEbyEPidRatioHelper.cxx:445 AliEbyEPidRatioHelper.cxx:446 AliEbyEPidRatioHelper.cxx:447 AliEbyEPidRatioHelper.cxx:448 AliEbyEPidRatioHelper.cxx:449 AliEbyEPidRatioHelper.cxx:450 AliEbyEPidRatioHelper.cxx:451 AliEbyEPidRatioHelper.cxx:452 AliEbyEPidRatioHelper.cxx:453 AliEbyEPidRatioHelper.cxx:454 AliEbyEPidRatioHelper.cxx:455 AliEbyEPidRatioHelper.cxx:456 AliEbyEPidRatioHelper.cxx:457 AliEbyEPidRatioHelper.cxx:458 AliEbyEPidRatioHelper.cxx:459 AliEbyEPidRatioHelper.cxx:460 AliEbyEPidRatioHelper.cxx:461 AliEbyEPidRatioHelper.cxx:462 AliEbyEPidRatioHelper.cxx:463 AliEbyEPidRatioHelper.cxx:464 AliEbyEPidRatioHelper.cxx:465 AliEbyEPidRatioHelper.cxx:466 AliEbyEPidRatioHelper.cxx:467 AliEbyEPidRatioHelper.cxx:468 AliEbyEPidRatioHelper.cxx:469 AliEbyEPidRatioHelper.cxx:470 AliEbyEPidRatioHelper.cxx:471 AliEbyEPidRatioHelper.cxx:472 AliEbyEPidRatioHelper.cxx:473 AliEbyEPidRatioHelper.cxx:474 AliEbyEPidRatioHelper.cxx:475 AliEbyEPidRatioHelper.cxx:476 AliEbyEPidRatioHelper.cxx:477 AliEbyEPidRatioHelper.cxx:478 AliEbyEPidRatioHelper.cxx:479 AliEbyEPidRatioHelper.cxx:480 AliEbyEPidRatioHelper.cxx:481 AliEbyEPidRatioHelper.cxx:482 AliEbyEPidRatioHelper.cxx:483 AliEbyEPidRatioHelper.cxx:484 AliEbyEPidRatioHelper.cxx:485 AliEbyEPidRatioHelper.cxx:486 AliEbyEPidRatioHelper.cxx:487 AliEbyEPidRatioHelper.cxx:488 AliEbyEPidRatioHelper.cxx:489 AliEbyEPidRatioHelper.cxx:490 AliEbyEPidRatioHelper.cxx:491 AliEbyEPidRatioHelper.cxx:492 AliEbyEPidRatioHelper.cxx:493 AliEbyEPidRatioHelper.cxx:494 AliEbyEPidRatioHelper.cxx:495 AliEbyEPidRatioHelper.cxx:496 AliEbyEPidRatioHelper.cxx:497 AliEbyEPidRatioHelper.cxx:498 AliEbyEPidRatioHelper.cxx:499 AliEbyEPidRatioHelper.cxx:500 AliEbyEPidRatioHelper.cxx:501 AliEbyEPidRatioHelper.cxx:502 AliEbyEPidRatioHelper.cxx:503 AliEbyEPidRatioHelper.cxx:504 AliEbyEPidRatioHelper.cxx:505 AliEbyEPidRatioHelper.cxx:506 AliEbyEPidRatioHelper.cxx:507 AliEbyEPidRatioHelper.cxx:508 AliEbyEPidRatioHelper.cxx:509 AliEbyEPidRatioHelper.cxx:510 AliEbyEPidRatioHelper.cxx:511 AliEbyEPidRatioHelper.cxx:512 AliEbyEPidRatioHelper.cxx:513 AliEbyEPidRatioHelper.cxx:514 AliEbyEPidRatioHelper.cxx:515 AliEbyEPidRatioHelper.cxx:516 AliEbyEPidRatioHelper.cxx:517 AliEbyEPidRatioHelper.cxx:518 AliEbyEPidRatioHelper.cxx:519 AliEbyEPidRatioHelper.cxx:520 AliEbyEPidRatioHelper.cxx:521 AliEbyEPidRatioHelper.cxx:522 AliEbyEPidRatioHelper.cxx:523 AliEbyEPidRatioHelper.cxx:524 AliEbyEPidRatioHelper.cxx:525 AliEbyEPidRatioHelper.cxx:526 AliEbyEPidRatioHelper.cxx:527 AliEbyEPidRatioHelper.cxx:528 AliEbyEPidRatioHelper.cxx:529 AliEbyEPidRatioHelper.cxx:530 AliEbyEPidRatioHelper.cxx:531 AliEbyEPidRatioHelper.cxx:532 AliEbyEPidRatioHelper.cxx:533 AliEbyEPidRatioHelper.cxx:534 AliEbyEPidRatioHelper.cxx:535 AliEbyEPidRatioHelper.cxx:536 AliEbyEPidRatioHelper.cxx:537 AliEbyEPidRatioHelper.cxx:538 AliEbyEPidRatioHelper.cxx:539 AliEbyEPidRatioHelper.cxx:540 AliEbyEPidRatioHelper.cxx:541 AliEbyEPidRatioHelper.cxx:542 AliEbyEPidRatioHelper.cxx:543 AliEbyEPidRatioHelper.cxx:544 AliEbyEPidRatioHelper.cxx:545 AliEbyEPidRatioHelper.cxx:546 AliEbyEPidRatioHelper.cxx:547 AliEbyEPidRatioHelper.cxx:548 AliEbyEPidRatioHelper.cxx:549 AliEbyEPidRatioHelper.cxx:550 AliEbyEPidRatioHelper.cxx:551 AliEbyEPidRatioHelper.cxx:552 AliEbyEPidRatioHelper.cxx:553 AliEbyEPidRatioHelper.cxx:554 AliEbyEPidRatioHelper.cxx:555 AliEbyEPidRatioHelper.cxx:556 AliEbyEPidRatioHelper.cxx:557 AliEbyEPidRatioHelper.cxx:558 AliEbyEPidRatioHelper.cxx:559 AliEbyEPidRatioHelper.cxx:560 AliEbyEPidRatioHelper.cxx:561 AliEbyEPidRatioHelper.cxx:562 AliEbyEPidRatioHelper.cxx:563 AliEbyEPidRatioHelper.cxx:564 AliEbyEPidRatioHelper.cxx:565 AliEbyEPidRatioHelper.cxx:566 AliEbyEPidRatioHelper.cxx:567 AliEbyEPidRatioHelper.cxx:568 AliEbyEPidRatioHelper.cxx:569 AliEbyEPidRatioHelper.cxx:570 AliEbyEPidRatioHelper.cxx:571 AliEbyEPidRatioHelper.cxx:572 AliEbyEPidRatioHelper.cxx:573 AliEbyEPidRatioHelper.cxx:574 AliEbyEPidRatioHelper.cxx:575 AliEbyEPidRatioHelper.cxx:576 AliEbyEPidRatioHelper.cxx:577 AliEbyEPidRatioHelper.cxx:578 AliEbyEPidRatioHelper.cxx:579 AliEbyEPidRatioHelper.cxx:580 AliEbyEPidRatioHelper.cxx:581 AliEbyEPidRatioHelper.cxx:582 AliEbyEPidRatioHelper.cxx:583 AliEbyEPidRatioHelper.cxx:584 AliEbyEPidRatioHelper.cxx:585 AliEbyEPidRatioHelper.cxx:586 AliEbyEPidRatioHelper.cxx:587 AliEbyEPidRatioHelper.cxx:588 AliEbyEPidRatioHelper.cxx:589 AliEbyEPidRatioHelper.cxx:590 AliEbyEPidRatioHelper.cxx:591 AliEbyEPidRatioHelper.cxx:592 AliEbyEPidRatioHelper.cxx:593 AliEbyEPidRatioHelper.cxx:594 AliEbyEPidRatioHelper.cxx:595 AliEbyEPidRatioHelper.cxx:596 AliEbyEPidRatioHelper.cxx:597 AliEbyEPidRatioHelper.cxx:598 AliEbyEPidRatioHelper.cxx:599 AliEbyEPidRatioHelper.cxx:600 AliEbyEPidRatioHelper.cxx:601 AliEbyEPidRatioHelper.cxx:602 AliEbyEPidRatioHelper.cxx:603 AliEbyEPidRatioHelper.cxx:604 AliEbyEPidRatioHelper.cxx:605 AliEbyEPidRatioHelper.cxx:606 AliEbyEPidRatioHelper.cxx:607 AliEbyEPidRatioHelper.cxx:608 AliEbyEPidRatioHelper.cxx:609 AliEbyEPidRatioHelper.cxx:610 AliEbyEPidRatioHelper.cxx:611 AliEbyEPidRatioHelper.cxx:612 AliEbyEPidRatioHelper.cxx:613 AliEbyEPidRatioHelper.cxx:614 AliEbyEPidRatioHelper.cxx:615 AliEbyEPidRatioHelper.cxx:616 AliEbyEPidRatioHelper.cxx:617 AliEbyEPidRatioHelper.cxx:618 AliEbyEPidRatioHelper.cxx:619 AliEbyEPidRatioHelper.cxx:620 AliEbyEPidRatioHelper.cxx:621 AliEbyEPidRatioHelper.cxx:622 AliEbyEPidRatioHelper.cxx:623 AliEbyEPidRatioHelper.cxx:624 AliEbyEPidRatioHelper.cxx:625 AliEbyEPidRatioHelper.cxx:626 AliEbyEPidRatioHelper.cxx:627 AliEbyEPidRatioHelper.cxx:628 AliEbyEPidRatioHelper.cxx:629 AliEbyEPidRatioHelper.cxx:630 AliEbyEPidRatioHelper.cxx:631 AliEbyEPidRatioHelper.cxx:632 AliEbyEPidRatioHelper.cxx:633 AliEbyEPidRatioHelper.cxx:634 AliEbyEPidRatioHelper.cxx:635 AliEbyEPidRatioHelper.cxx:636 AliEbyEPidRatioHelper.cxx:637 AliEbyEPidRatioHelper.cxx:638 AliEbyEPidRatioHelper.cxx:639 AliEbyEPidRatioHelper.cxx:640 AliEbyEPidRatioHelper.cxx:641 AliEbyEPidRatioHelper.cxx:642 AliEbyEPidRatioHelper.cxx:643 AliEbyEPidRatioHelper.cxx:644 AliEbyEPidRatioHelper.cxx:645 AliEbyEPidRatioHelper.cxx:646 AliEbyEPidRatioHelper.cxx:647 AliEbyEPidRatioHelper.cxx:648 AliEbyEPidRatioHelper.cxx:649 AliEbyEPidRatioHelper.cxx:650 AliEbyEPidRatioHelper.cxx:651 AliEbyEPidRatioHelper.cxx:652 AliEbyEPidRatioHelper.cxx:653 AliEbyEPidRatioHelper.cxx:654 AliEbyEPidRatioHelper.cxx:655 AliEbyEPidRatioHelper.cxx:656 AliEbyEPidRatioHelper.cxx:657 AliEbyEPidRatioHelper.cxx:658 AliEbyEPidRatioHelper.cxx:659 AliEbyEPidRatioHelper.cxx:660 AliEbyEPidRatioHelper.cxx:661 AliEbyEPidRatioHelper.cxx:662 AliEbyEPidRatioHelper.cxx:663 AliEbyEPidRatioHelper.cxx:664 AliEbyEPidRatioHelper.cxx:665 AliEbyEPidRatioHelper.cxx:666 AliEbyEPidRatioHelper.cxx:667 AliEbyEPidRatioHelper.cxx:668 AliEbyEPidRatioHelper.cxx:669 AliEbyEPidRatioHelper.cxx:670 AliEbyEPidRatioHelper.cxx:671 AliEbyEPidRatioHelper.cxx:672 AliEbyEPidRatioHelper.cxx:673 AliEbyEPidRatioHelper.cxx:674 AliEbyEPidRatioHelper.cxx:675 AliEbyEPidRatioHelper.cxx:676 AliEbyEPidRatioHelper.cxx:677 AliEbyEPidRatioHelper.cxx:678 AliEbyEPidRatioHelper.cxx:679 AliEbyEPidRatioHelper.cxx:680 AliEbyEPidRatioHelper.cxx:681 AliEbyEPidRatioHelper.cxx:682 AliEbyEPidRatioHelper.cxx:683 AliEbyEPidRatioHelper.cxx:684 AliEbyEPidRatioHelper.cxx:685 AliEbyEPidRatioHelper.cxx:686 AliEbyEPidRatioHelper.cxx:687 AliEbyEPidRatioHelper.cxx:688 AliEbyEPidRatioHelper.cxx:689 AliEbyEPidRatioHelper.cxx:690 AliEbyEPidRatioHelper.cxx:691 AliEbyEPidRatioHelper.cxx:692 AliEbyEPidRatioHelper.cxx:693 AliEbyEPidRatioHelper.cxx:694 AliEbyEPidRatioHelper.cxx:695 AliEbyEPidRatioHelper.cxx:696 AliEbyEPidRatioHelper.cxx:697 AliEbyEPidRatioHelper.cxx:698 AliEbyEPidRatioHelper.cxx:699 AliEbyEPidRatioHelper.cxx:700 AliEbyEPidRatioHelper.cxx:701 AliEbyEPidRatioHelper.cxx:702 AliEbyEPidRatioHelper.cxx:703 AliEbyEPidRatioHelper.cxx:704 AliEbyEPidRatioHelper.cxx:705 AliEbyEPidRatioHelper.cxx:706 AliEbyEPidRatioHelper.cxx:707 AliEbyEPidRatioHelper.cxx:708 AliEbyEPidRatioHelper.cxx:709 AliEbyEPidRatioHelper.cxx:710 AliEbyEPidRatioHelper.cxx:711 AliEbyEPidRatioHelper.cxx:712 AliEbyEPidRatioHelper.cxx:713 AliEbyEPidRatioHelper.cxx:714 AliEbyEPidRatioHelper.cxx:715 AliEbyEPidRatioHelper.cxx:716 AliEbyEPidRatioHelper.cxx:717 AliEbyEPidRatioHelper.cxx:718 AliEbyEPidRatioHelper.cxx:719 AliEbyEPidRatioHelper.cxx:720 AliEbyEPidRatioHelper.cxx:721 AliEbyEPidRatioHelper.cxx:722 AliEbyEPidRatioHelper.cxx:723 AliEbyEPidRatioHelper.cxx:724 AliEbyEPidRatioHelper.cxx:725 AliEbyEPidRatioHelper.cxx:726 AliEbyEPidRatioHelper.cxx:727 AliEbyEPidRatioHelper.cxx:728 AliEbyEPidRatioHelper.cxx:729 AliEbyEPidRatioHelper.cxx:730 AliEbyEPidRatioHelper.cxx:731 AliEbyEPidRatioHelper.cxx:732 AliEbyEPidRatioHelper.cxx:733 AliEbyEPidRatioHelper.cxx:734 AliEbyEPidRatioHelper.cxx:735 AliEbyEPidRatioHelper.cxx:736 AliEbyEPidRatioHelper.cxx:737 AliEbyEPidRatioHelper.cxx:738 AliEbyEPidRatioHelper.cxx:739 AliEbyEPidRatioHelper.cxx:740 AliEbyEPidRatioHelper.cxx:741 AliEbyEPidRatioHelper.cxx:742 AliEbyEPidRatioHelper.cxx:743 AliEbyEPidRatioHelper.cxx:744 AliEbyEPidRatioHelper.cxx:745 AliEbyEPidRatioHelper.cxx:746 AliEbyEPidRatioHelper.cxx:747 AliEbyEPidRatioHelper.cxx:748 AliEbyEPidRatioHelper.cxx:749 AliEbyEPidRatioHelper.cxx:750 AliEbyEPidRatioHelper.cxx:751 AliEbyEPidRatioHelper.cxx:752 AliEbyEPidRatioHelper.cxx:753 AliEbyEPidRatioHelper.cxx:754 AliEbyEPidRatioHelper.cxx:755 AliEbyEPidRatioHelper.cxx:756 AliEbyEPidRatioHelper.cxx:757 AliEbyEPidRatioHelper.cxx:758 AliEbyEPidRatioHelper.cxx:759 AliEbyEPidRatioHelper.cxx:760 AliEbyEPidRatioHelper.cxx:761 AliEbyEPidRatioHelper.cxx:762 AliEbyEPidRatioHelper.cxx:763 AliEbyEPidRatioHelper.cxx:764 AliEbyEPidRatioHelper.cxx:765 AliEbyEPidRatioHelper.cxx:766 AliEbyEPidRatioHelper.cxx:767 AliEbyEPidRatioHelper.cxx:768 AliEbyEPidRatioHelper.cxx:769 AliEbyEPidRatioHelper.cxx:770 AliEbyEPidRatioHelper.cxx:771 AliEbyEPidRatioHelper.cxx:772 AliEbyEPidRatioHelper.cxx:773 AliEbyEPidRatioHelper.cxx:774 AliEbyEPidRatioHelper.cxx:775 AliEbyEPidRatioHelper.cxx:776 AliEbyEPidRatioHelper.cxx:777 AliEbyEPidRatioHelper.cxx:778 AliEbyEPidRatioHelper.cxx:779 AliEbyEPidRatioHelper.cxx:780 AliEbyEPidRatioHelper.cxx:781 AliEbyEPidRatioHelper.cxx:782 AliEbyEPidRatioHelper.cxx:783 AliEbyEPidRatioHelper.cxx:784 AliEbyEPidRatioHelper.cxx:785 AliEbyEPidRatioHelper.cxx:786 AliEbyEPidRatioHelper.cxx:787 AliEbyEPidRatioHelper.cxx:788 AliEbyEPidRatioHelper.cxx:789 AliEbyEPidRatioHelper.cxx:790 AliEbyEPidRatioHelper.cxx:791 AliEbyEPidRatioHelper.cxx:792 AliEbyEPidRatioHelper.cxx:793 AliEbyEPidRatioHelper.cxx:794 AliEbyEPidRatioHelper.cxx:795 AliEbyEPidRatioHelper.cxx:796 AliEbyEPidRatioHelper.cxx:797 AliEbyEPidRatioHelper.cxx:798 AliEbyEPidRatioHelper.cxx:799 AliEbyEPidRatioHelper.cxx:800 AliEbyEPidRatioHelper.cxx:801 AliEbyEPidRatioHelper.cxx:802 AliEbyEPidRatioHelper.cxx:803 AliEbyEPidRatioHelper.cxx:804 AliEbyEPidRatioHelper.cxx:805 AliEbyEPidRatioHelper.cxx:806 AliEbyEPidRatioHelper.cxx:807 AliEbyEPidRatioHelper.cxx:808 AliEbyEPidRatioHelper.cxx:809 AliEbyEPidRatioHelper.cxx:810 AliEbyEPidRatioHelper.cxx:811 AliEbyEPidRatioHelper.cxx:812 AliEbyEPidRatioHelper.cxx:813 AliEbyEPidRatioHelper.cxx:814 AliEbyEPidRatioHelper.cxx:815 AliEbyEPidRatioHelper.cxx:816 AliEbyEPidRatioHelper.cxx:817 AliEbyEPidRatioHelper.cxx:818 AliEbyEPidRatioHelper.cxx:819 AliEbyEPidRatioHelper.cxx:820 AliEbyEPidRatioHelper.cxx:821 AliEbyEPidRatioHelper.cxx:822 AliEbyEPidRatioHelper.cxx:823 AliEbyEPidRatioHelper.cxx:824 AliEbyEPidRatioHelper.cxx:825 AliEbyEPidRatioHelper.cxx:826 AliEbyEPidRatioHelper.cxx:827 AliEbyEPidRatioHelper.cxx:828 AliEbyEPidRatioHelper.cxx:829 AliEbyEPidRatioHelper.cxx:830 AliEbyEPidRatioHelper.cxx:831 AliEbyEPidRatioHelper.cxx:832 AliEbyEPidRatioHelper.cxx:833 AliEbyEPidRatioHelper.cxx:834 AliEbyEPidRatioHelper.cxx:835 AliEbyEPidRatioHelper.cxx:836 AliEbyEPidRatioHelper.cxx:837 AliEbyEPidRatioHelper.cxx:838 AliEbyEPidRatioHelper.cxx:839 AliEbyEPidRatioHelper.cxx:840 AliEbyEPidRatioHelper.cxx:841 AliEbyEPidRatioHelper.cxx:842 AliEbyEPidRatioHelper.cxx:843 AliEbyEPidRatioHelper.cxx:844 AliEbyEPidRatioHelper.cxx:845 AliEbyEPidRatioHelper.cxx:846 AliEbyEPidRatioHelper.cxx:847 AliEbyEPidRatioHelper.cxx:848 AliEbyEPidRatioHelper.cxx:849 AliEbyEPidRatioHelper.cxx:850 AliEbyEPidRatioHelper.cxx:851 AliEbyEPidRatioHelper.cxx:852 AliEbyEPidRatioHelper.cxx:853 AliEbyEPidRatioHelper.cxx:854