#include <TMath.h>
#include <TList.h>
#include "TParticle.h"
#include "TDatabasePDG.h"
#include "TVector3.h"
#include "AliMCAnalysisUtils.h"
#include "AliCaloTrackReader.h"
#include "AliStack.h"
#include "AliGenPythiaEventHeader.h"
#include "AliAODMCParticle.h"
#include "AliLog.h"
ClassImp(AliMCAnalysisUtils)
AliMCAnalysisUtils::AliMCAnalysisUtils() :
TObject(),
fCurrentEvent(-1),
fDebug(0),
fJetsList(new TList),
fMCGenerator(kPythia),
fMCGeneratorString("PYTHIA"),
fDaughMom(), fDaughMom2(),
fMotherMom(), fGMotherMom()
{
}
AliMCAnalysisUtils::~AliMCAnalysisUtils()
{
if (fJetsList)
{
fJetsList->Clear();
delete fJetsList ;
}
}
Int_t AliMCAnalysisUtils::CheckCommonAncestor(Int_t index1, Int_t index2,
const AliCaloTrackReader* reader,
Int_t & ancPDG, Int_t & ancStatus,
TLorentzVector & momentum, TVector3 & prodVertex)
{
Int_t label1[100];
Int_t label2[100];
label1[0]= index1;
label2[0]= index2;
Int_t counter1 = 0;
Int_t counter2 = 0;
if(label1[0]==label2[0])
{
counter1=1;
counter2=1;
}
else
{
if(reader->ReadAODMCParticles())
{
TClonesArray * mcparticles = reader->GetAODMCParticles();
Int_t label=label1[0];
if(label < 0) return -1;
while(label > -1 && counter1 < 99)
{
counter1++;
AliAODMCParticle * mom = (AliAODMCParticle *) mcparticles->At(label);
if(mom)
{
label = mom->GetMother() ;
label1[counter1]=label;
}
}
label=label2[0];
if(label < 0) return -1;
while(label > -1 && counter2 < 99)
{
counter2++;
AliAODMCParticle * mom = (AliAODMCParticle *) mcparticles->At(label);
if(mom)
{
label = mom->GetMother() ;
label2[counter2]=label;
}
}
}
else
{
AliStack * stack = reader->GetStack();
Int_t label=label1[0];
while(label > -1 && counter1 < 99)
{
counter1++;
TParticle * mom = stack->Particle(label);
if(mom)
{
label = mom->GetFirstMother() ;
label1[counter1]=label;
}
}
label=label2[0];
while(label > -1 && counter2 < 99)
{
counter2++;
TParticle * mom = stack->Particle(label);
if(mom)
{
label = mom->GetFirstMother() ;
label2[counter2]=label;
}
}
}
}
Int_t commonparents = 0;
Int_t ancLabel = -1;
for (Int_t c1 = 0; c1 < counter1; c1++)
{
for (Int_t c2 = 0; c2 < counter2; c2++)
{
if(label1[c1]==label2[c2] && label1[c1]>-1)
{
ancLabel = label1[c1];
commonparents++;
if(reader->ReadAODMCParticles())
{
AliAODMCParticle * mom = (AliAODMCParticle *) reader->GetAODMCParticles()->At(label1[c1]);
if (mom)
{
ancPDG = mom->GetPdgCode();
ancStatus = mom->GetStatus();
momentum.SetPxPyPzE(mom->Px(),mom->Py(),mom->Pz(),mom->E());
prodVertex.SetXYZ(mom->Xv(),mom->Yv(),mom->Zv());
}
}
else
{
TParticle * mom = (reader->GetStack())->Particle(label1[c1]);
if (mom)
{
ancPDG = mom->GetPdgCode();
ancStatus = mom->GetStatusCode();
mom->Momentum(momentum);
prodVertex.SetXYZ(mom->Vx(),mom->Vy(),mom->Vz());
}
}
counter1=0;
counter2=0;
}
}
}
if(ancLabel < 0)
{
ancPDG = -10000;
ancStatus = -10000;
momentum.SetXYZT(0,0,0,0);
prodVertex.SetXYZ(-10,-10,-10);
}
return ancLabel;
}
Int_t AliMCAnalysisUtils::CheckOrigin(const Int_t * label, Int_t nlabels,
const AliCaloTrackReader* reader, Int_t calorimeter)
{
Int_t tag = 0;
if( nlabels <= 0 )
{
AliWarning("No MC labels available, please check!!!");
return kMCBadLabel;
}
TObjArray* arrayCluster = 0;
if ( calorimeter == AliCaloTrackReader::kEMCAL ) arrayCluster = reader->GetEMCALClusters();
else if ( calorimeter == AliCaloTrackReader::kPHOS ) arrayCluster = reader->GetPHOSClusters ();
if(reader->ReadStack()){
tag = CheckOriginInStack(label, nlabels, reader->GetStack(), arrayCluster);
}
else if(reader->ReadAODMCParticles()){
tag = CheckOriginInAOD(label, nlabels, reader->GetAODMCParticles(),arrayCluster);
}
return tag ;
}
Int_t AliMCAnalysisUtils::CheckOrigin(Int_t label, const AliCaloTrackReader* reader, Int_t calorimeter)
{
Int_t tag = 0;
if( label < 0 )
{
AliWarning("No MC labels available, please check!!!");
return kMCBadLabel;
}
TObjArray* arrayCluster = 0;
if ( calorimeter == AliCaloTrackReader::kEMCAL ) arrayCluster = reader->GetEMCALClusters();
else if ( calorimeter == AliCaloTrackReader::kPHOS ) arrayCluster = reader->GetPHOSClusters();
Int_t labels[]={label};
if(reader->ReadStack()){
tag = CheckOriginInStack(labels, 1,reader->GetStack(),arrayCluster);
}
else if(reader->ReadAODMCParticles()){
tag = CheckOriginInAOD(labels, 1,reader->GetAODMCParticles(),arrayCluster);
}
return tag ;
}
Int_t AliMCAnalysisUtils::CheckOriginInStack(const Int_t *labels, Int_t nlabels,
AliStack* stack, const TObjArray* arrayCluster)
{
if(!stack)
{
AliDebug(1,"Stack is not available, check analysis settings in configuration file, STOP!!");
return -1;
}
Int_t tag = 0;
Int_t label=labels[0];
if(label >= 0 && label < stack->GetNtrack())
{
TParticle * mom = stack->Particle(label);
Int_t iMom = label;
Int_t mPdgSign = mom->GetPdgCode();
Int_t mPdg = TMath::Abs(mPdgSign);
Int_t mStatus = mom->GetStatusCode() ;
Int_t iParent = mom->GetFirstMother() ;
TParticle * parent = NULL;
Int_t pPdg = -1;
Int_t pStatus =-1;
if(iParent >= 0)
{
parent = stack->Particle(iParent);
if(parent)
{
pPdg = TMath::Abs(parent->GetPdgCode());
pStatus = parent->GetStatusCode();
}
}
else AliDebug(1,Form("Parent with label %d",iParent));
AliDebug(2,"Cluster most contributing mother and its parent:");
AliDebug(2,Form("\t Mother label %d, pdg %d, status %d",iMom, mPdg, mStatus));
AliDebug(2,Form("\t Parent label %d, pdg %d, status %d",iParent, pPdg, pStatus));
if((mPdg == 22 || mPdg == 11) && (pPdg == 22 || pPdg == 11) && mStatus == 0)
{
SetTagBit(tag,kMCConversion);
while ((pPdg == 22 || pPdg == 11) && mStatus != 1)
{
iMom = mom->GetFirstMother();
mom = stack->Particle(iMom);
mPdgSign = mom->GetPdgCode();
mPdg = TMath::Abs(mPdgSign);
mStatus = mom->GetStatusCode() ;
iParent = mom->GetFirstMother() ;
if(iParent >= 0)
{
parent = stack->Particle(iParent);
if(parent)
{
pPdg = TMath::Abs(parent->GetPdgCode());
pStatus = parent->GetStatusCode();
}
}
else {
pPdg = 0;
pStatus = 0;
break;
}
}
AliDebug(2,"Converted photon/electron:");
AliDebug(2,Form("\t Mother label %d, pdg %d, status %d",iMom, mPdg, mStatus));
AliDebug(2,Form("\t Parent label %d, pdg %d, status %d",iParent, pPdg, pStatus));
}
else if((mPdg == 22 || mPdg == 11) && mStatus == 0)
{
if(pPdg == 2112 || pPdg == 211 || pPdg == 321 ||
pPdg == 2212 || pPdg == 130 || pPdg == 13 )
{
SetTagBit(tag,kMCConversion);
iMom = mom->GetFirstMother();
mom = stack->Particle(iMom);
mPdgSign = mom->GetPdgCode();
mPdg = TMath::Abs(mPdgSign);
AliDebug(2,"Converted hadron:");
AliDebug(2,Form("\t Mother label %d, pdg %d, status %d",iMom, mPdg, mStatus));
}
}
if (mPdg == 13) SetTagBit(tag,kMCMuon);
else if(mPdg == 211) SetTagBit(tag,kMCPion);
else if(mPdg == 321) SetTagBit(tag,kMCKaon);
else if(mPdgSign == 2212) SetTagBit(tag,kMCProton);
else if(mPdgSign == -2212) SetTagBit(tag,kMCAntiProton);
else if(mPdgSign == 2112) SetTagBit(tag,kMCNeutron);
else if(mPdgSign == -2112) SetTagBit(tag,kMCAntiNeutron);
else if(mPdg == 111)
{
SetTagBit(tag,kMCPi0Decay);
AliDebug(2,"First mother is directly pi0, not decayed by generator");
CheckOverlapped2GammaDecay(labels,nlabels, iMom, stack, tag);
}
else if(mPdg == 221)
{
SetTagBit(tag,kMCEtaDecay);
AliDebug(2,"First mother is directly eta, not decayed by generator");
CheckOverlapped2GammaDecay(labels,nlabels, iMom, stack, tag);
}
else if(mPdg == 22)
{
SetTagBit(tag,kMCPhoton);
if(pPdg == 111)
{
SetTagBit(tag,kMCPi0Decay);
AliDebug(2,"PYTHIA pi0 decay photon, parent pi0 with status 11");
CheckOverlapped2GammaDecay(labels,nlabels, iParent, stack, tag);
if(!CheckTagBit(tag, kMCPi0) && !CheckTagBit(tag,kMCDecayPairInCalo))
CheckLostDecayPair(arrayCluster,iMom, iParent, stack, tag);
}
else if (pPdg == 221)
{
SetTagBit(tag, kMCEtaDecay);
AliDebug(2,"PYTHIA eta decay photon, parent pi0 with status 11");
CheckOverlapped2GammaDecay(labels,nlabels, iParent, stack, tag);
if(!CheckTagBit(tag, kMCEta) && !CheckTagBit(tag,kMCDecayPairInCalo))
CheckLostDecayPair(arrayCluster,iMom, iParent, stack, tag);
}
else if(mStatus == 1)
{
if(fMCGenerator == kPythia)
{
if(iParent < 8 && iParent > 5)
{
if(pPdg == 22) SetTagBit(tag,kMCPrompt);
else SetTagBit(tag,kMCFragmentation);
}
else if(iParent <= 5)
{
SetTagBit(tag, kMCISR);
}
else SetTagBit(tag,kMCUnknown);
}
else if(fMCGenerator == kHerwig)
{
if(pStatus < 197)
{
while(1)
{
if(parent)
{
if(parent->GetFirstMother()<=5) break;
iParent = parent->GetFirstMother();
parent=stack->Particle(iParent);
pStatus= parent->GetStatusCode();
pPdg = TMath::Abs(parent->GetPdgCode());
} else break;
}
if(iParent < 8 && iParent > 5)
{
if(pPdg == 22) SetTagBit(tag,kMCPrompt);
else SetTagBit(tag,kMCFragmentation);
}
else SetTagBit(tag,kMCISR);
}
else SetTagBit(tag,kMCUnknown);
}
}
else SetTagBit(tag,kMCOtherDecay);
}
else if(mPdg == 11){
if(pPdg == 11 && parent)
{
Int_t iGrandma = parent->GetFirstMother();
if(iGrandma >= 0)
{
TParticle* gma = (TParticle*)stack->Particle(iGrandma);
Int_t gPdg = TMath::Abs(gma->GetPdgCode());
if (gPdg == 23) { SetTagBit(tag,kMCZDecay); }
else if (gPdg == 24) { SetTagBit(tag,kMCWDecay); }
}
}
SetTagBit(tag,kMCElectron);
AliDebug(1,"Checking ancestors of electrons");
if (pPdg == 111) { SetTagBit(tag,kMCPi0Decay); SetTagBit(tag, kMCDecayDalitz) ; }
else if (pPdg == 221) { SetTagBit(tag,kMCEtaDecay); SetTagBit(tag, kMCDecayDalitz) ; }
else if((499 < pPdg && pPdg < 600)||(4999 < pPdg && pPdg < 6000)) { SetTagBit(tag,kMCEFromB); }
else if((399 < pPdg && pPdg < 500)||(3999 < pPdg && pPdg < 5000))
{
if(parent)
{
Int_t iGrandma = parent->GetFirstMother();
if(iGrandma >= 0)
{
TParticle* gma = (TParticle*)stack->Particle(iGrandma);
Int_t gPdg = TMath::Abs(gma->GetPdgCode());
if((499 < gPdg && gPdg < 600)||(4999 < gPdg && gPdg < 6000)) SetTagBit(tag,kMCEFromCFromB);
else SetTagBit(tag,kMCEFromC);
}
else SetTagBit(tag,kMCEFromC);
}
}
else
{
if(pPdg > 10000) SetTagBit(tag,kMCUnknown);
else SetTagBit(tag,kMCOtherDecay);
}
}
else
{
AliDebug(2,Form("\t Setting kMCUnknown for cluster from %s (pdg = %d, Parent pdg = %d)",
mom->GetName(),mPdg,pPdg));
SetTagBit(tag,kMCUnknown);
}
}
else
{
if(label < 0)
AliWarning(Form("*** bad label or no stack ***: label %d ", label));
if(label >= stack->GetNtrack())
AliWarning(Form("*** large label ***: label %d, n tracks %d", label, stack->GetNtrack()));
SetTagBit(tag,kMCUnknown);
}
return tag;
}
Int_t AliMCAnalysisUtils::CheckOriginInAOD(const Int_t *labels, Int_t nlabels,
const TClonesArray *mcparticles, const TObjArray* arrayCluster)
{
if(!mcparticles)
{
AliDebug(1,"AODMCParticles is not available, check analysis settings in configuration file!!");
return -1;
}
Int_t tag = 0;
Int_t label=labels[0];
Int_t nprimaries = mcparticles->GetEntriesFast();
if(label >= 0 && label < nprimaries)
{
AliAODMCParticle * mom = (AliAODMCParticle *) mcparticles->At(label);
Int_t iMom = label;
Int_t mPdgSign = mom->GetPdgCode();
Int_t mPdg = TMath::Abs(mPdgSign);
Int_t iParent = mom->GetMother() ;
AliAODMCParticle * parent = NULL ;
Int_t pPdg = -1;
if(iParent >= 0)
{
parent = (AliAODMCParticle *) mcparticles->At(iParent);
pPdg = TMath::Abs(parent->GetPdgCode());
}
else AliDebug(1,Form("Parent with label %d",iParent));
AliDebug(2,"Cluster most contributing mother and its parent:");
AliDebug(2,Form("\t Mother label %d, pdg %d, Primary? %d, Physical Primary? %d",iMom, mPdg, mom->IsPrimary(), mom->IsPhysicalPrimary()));
AliDebug(2,Form("\t Parent label %d, pdg %d, Primary? %d, Physical Primary? %d",iParent, pPdg, parent?parent->IsPrimary():-1, parent?parent->IsPhysicalPrimary():-1));
if((mPdg == 22 || mPdg == 11) && (pPdg == 22 || pPdg == 11) && !mom->IsPrimary())
{
SetTagBit(tag,kMCConversion);
while ((pPdg == 22 || pPdg == 11) && !mom->IsPhysicalPrimary())
{
iMom = mom->GetMother();
mom = (AliAODMCParticle *) mcparticles->At(iMom);
mPdgSign = mom->GetPdgCode();
mPdg = TMath::Abs(mPdgSign);
iParent = mom->GetMother() ;
if(iParent >= 0 && parent)
{
parent = (AliAODMCParticle *) mcparticles->At(iParent);
pPdg = TMath::Abs(parent->GetPdgCode());
}
}
AliDebug(2,"AliMCAnalysisUtils::CheckOriginInAOD() - Converted photon/electron:");
AliDebug(2,Form("\t Mother label %d, pdg %d, Primary? %d, Physical Primary? %d",iMom, mPdg, mom->IsPrimary(), mom->IsPhysicalPrimary()));
AliDebug(2,Form("\t Parent label %d, pdg %d, Primary? %d, Physical Primary? %d",iParent, pPdg, parent?parent->IsPrimary():-1, parent?parent->IsPhysicalPrimary():-1));
}
else if((mPdg == 22 || mPdg == 11) && !mom->IsPrimary())
{
if(pPdg == 2112 || pPdg == 211 || pPdg == 321 ||
pPdg == 2212 || pPdg == 130 || pPdg == 13 )
{
SetTagBit(tag,kMCConversion);
iMom = mom->GetMother();
mom = (AliAODMCParticle *) mcparticles->At(iMom);
mPdgSign = mom->GetPdgCode();
mPdg = TMath::Abs(mPdgSign);
AliDebug(2,"AliMCAnalysisUtils::CheckOriginInAOD() - Converted hadron:");
AliDebug(2,Form("\t Mother label %d, pdg %d, Primary? %d, Physical Primary? %d",iMom, mPdg, mom->IsPrimary(), mom->IsPhysicalPrimary()));
}
}
if (mPdg == 13) SetTagBit(tag,kMCMuon);
else if(mPdg == 211) SetTagBit(tag,kMCPion);
else if(mPdg == 321) SetTagBit(tag,kMCKaon);
else if(mPdgSign == 2212) SetTagBit(tag,kMCProton);
else if(mPdgSign == 2112) SetTagBit(tag,kMCNeutron);
else if(mPdgSign == -2212) SetTagBit(tag,kMCAntiProton);
else if(mPdgSign == -2112) SetTagBit(tag,kMCAntiNeutron);
else if(mPdg == 111)
{
SetTagBit(tag,kMCPi0Decay);
AliDebug(2,"First mother is directly pi0, not decayed by generator");
CheckOverlapped2GammaDecay(labels,nlabels, iMom, mcparticles, tag);
}
else if(mPdg == 221)
{
SetTagBit(tag,kMCEtaDecay);
AliDebug(2,"First mother is directly eta, not decayed by generator");
CheckOverlapped2GammaDecay(labels,nlabels, iMom, mcparticles, tag);
}
else if(mPdg == 22)
{
SetTagBit(tag,kMCPhoton);
if(pPdg == 111)
{
SetTagBit(tag,kMCPi0Decay);
AliDebug(2,"Generator pi0 decay photon");
CheckOverlapped2GammaDecay(labels,nlabels, iParent, mcparticles, tag);
if(!CheckTagBit(tag, kMCPi0) && !CheckTagBit(tag,kMCDecayPairInCalo) && !CheckTagBit(tag,kMCDecayPairLost))
{
CheckLostDecayPair(arrayCluster,iMom, iParent, mcparticles, tag);
}
}
else if (pPdg == 221)
{
SetTagBit(tag, kMCEtaDecay);
AliDebug(2,"Generator eta decay photon");
CheckOverlapped2GammaDecay(labels,nlabels, iParent, mcparticles, tag);
if(!CheckTagBit(tag, kMCEta) && !CheckTagBit(tag,kMCDecayPairInCalo))
CheckLostDecayPair(arrayCluster,iMom, iParent, mcparticles, tag);
}
else if( mom->IsPhysicalPrimary() && ( fMCGenerator == kPythia || fMCGenerator == kHerwig ) )
{
if(iParent < 8 && iParent > 5 )
{
if(pPdg == 22) SetTagBit(tag,kMCPrompt);
else SetTagBit(tag,kMCFragmentation);
}
else if( iParent <= 5 && ( fMCGenerator == kPythia || fMCGenerator == kHerwig ) )
{
SetTagBit(tag, kMCISR);
}
else SetTagBit(tag,kMCUnknown);
}
else SetTagBit(tag,kMCOtherDecay);
}
else if(mPdg == 11)
{
if(pPdg == 11 && parent)
{
Int_t iGrandma = parent->GetMother();
if(iGrandma >= 0)
{
AliAODMCParticle* gma = (AliAODMCParticle*)mcparticles->At(iGrandma);
Int_t gPdg = TMath::Abs(gma->GetPdgCode());
if (gPdg == 23) { SetTagBit(tag,kMCZDecay); }
else if (gPdg == 24) { SetTagBit(tag,kMCWDecay); }
}
}
SetTagBit(tag,kMCElectron);
AliDebug(1,"Checking ancestors of electrons");
if (pPdg == 111) { SetTagBit(tag,kMCPi0Decay); SetTagBit(tag,kMCDecayDalitz);}
else if (pPdg == 221) { SetTagBit(tag,kMCEtaDecay); SetTagBit(tag,kMCDecayDalitz);}
else if((499 < pPdg && pPdg < 600)||(4999 < pPdg && pPdg < 6000)) { SetTagBit(tag,kMCEFromB);}
else if((399 < pPdg && pPdg < 500)||(3999 < pPdg && pPdg < 5000))
{
if(parent)
{
Int_t iGrandma = parent->GetMother();
if(iGrandma >= 0)
{
AliAODMCParticle* gma = (AliAODMCParticle*)mcparticles->At(iGrandma);
Int_t gPdg = TMath::Abs(gma->GetPdgCode());
if((499 < gPdg && gPdg < 600)||(4999 < gPdg && gPdg < 6000)) SetTagBit(tag,kMCEFromCFromB);
else SetTagBit(tag,kMCEFromC);
}
else SetTagBit(tag,kMCEFromC);
}
} else
{
TParticlePDG* foo = TDatabasePDG::Instance()->GetParticle(pPdg);
TParticlePDG* foo1 = TDatabasePDG::Instance()->GetParticle(mPdg);
AliDebug(1,Form("Electron from other origin: %s (pPdg = %d) %s (mPdg = %d)",foo->GetName(), pPdg,foo1->GetName(),mPdg));
if(pPdg > 10000) SetTagBit(tag,kMCUnknown);
else SetTagBit(tag,kMCOtherDecay);
}
}
else
{
AliDebug(1,Form("\t Setting kMCUnknown for cluster with pdg = %d, Parent pdg = %d",mPdg,pPdg));
SetTagBit(tag,kMCUnknown);
}
}
else
{
if(label < 0)
AliWarning(Form("*** bad label or no mcparticles ***: label %d", label));
if(label >= mcparticles->GetEntriesFast())
AliWarning(Form("*** large label ***: label %d, n tracks %d", label, mcparticles->GetEntriesFast()));
SetTagBit(tag,kMCUnknown);
}
return tag;
}
void AliMCAnalysisUtils::CheckOverlapped2GammaDecay(const Int_t *labels, Int_t nlabels,
Int_t mesonIndex, AliStack *stack,
Int_t &tag)
{
if(labels[0] < 0 || labels[0] > stack->GetNtrack() || nlabels <= 1)
{
AliDebug(2,Form("Exit : label[0] %d, n primaries %d, nlabels %d",labels[0],stack->GetNtrack(), nlabels));
return;
}
TParticle * meson = stack->Particle(mesonIndex);
Int_t mesonPdg = meson->GetPdgCode();
if(mesonPdg!=111 && mesonPdg!=221)
{
AliWarning(Form("Wrong pi0/eta PDG : %d",mesonPdg));
return;
}
AliDebug(2,Form("%s, label %d",meson->GetName(), mesonIndex));
if(meson->GetNDaughters() != 2)
{
AliDebug(2,Form("Not overalapped. Number of daughters is %d, not 2",meson->GetNDaughters()));
return;
}
Int_t iPhoton0 = meson->GetDaughter(0);
Int_t iPhoton1 = meson->GetDaughter(1);
TParticle *photon0 = stack->Particle(iPhoton0);
TParticle *photon1 = stack->Particle(iPhoton1);
if(photon0->GetPdgCode() != 22 || photon1->GetPdgCode()!=22)
{
AliDebug(2,Form("Not overalapped. PDG: daughter 1 = %d, of daughter 2 = %d",photon0->GetPdgCode(),photon1->GetPdgCode()));
return;
}
AliDebug(2,Form("Daughter labels : photon0 = %d, photon1 = %d",iPhoton0,iPhoton1));
Bool_t okPhoton0 = kFALSE;
Bool_t okPhoton1 = kFALSE;
AliDebug(3,"Labels loop:");
Bool_t conversion = kFALSE;
for(Int_t i = 0; i < nlabels; i++)
{
AliDebug(3,Form("\t at begin:label %d/%d: %d, ok? photon1 %d, photon2 %d", i+1, nlabels, labels[i], okPhoton0, okPhoton1));
if(okPhoton0 && okPhoton1) break;
Int_t index = labels[i];
if (iPhoton0 == index)
{
okPhoton0 = kTRUE;
continue;
}
else if (iPhoton1 == index)
{
okPhoton1 = kTRUE;
continue;
}
if(index >= stack->GetNtrack())
{
AliWarning(Form("Particle index %d larger than size of list %d!!",index,stack->GetNtrack()));
continue;
}
TParticle * daught = stack->Particle(index);
Int_t tmpindex = daught->GetFirstMother();
AliDebug(3,Form("\t Conversion? : mother %d",tmpindex));
while(tmpindex>=0)
{
AliDebug(3,Form("\t \t parent index %d",tmpindex));
daught = stack->Particle(tmpindex);
if (iPhoton0 == tmpindex)
{
conversion = kTRUE;
okPhoton0 = kTRUE;
break;
}
else if (iPhoton1 == tmpindex)
{
conversion = kTRUE;
okPhoton1 = kTRUE;
break;
}
tmpindex = daught->GetFirstMother();
}
}
if(okPhoton0 && okPhoton1)
{
AliDebug(2,Form("%s OVERLAPPED DECAY", meson->GetName()));
if(!CheckTagBit(tag,kMCConversion) && conversion) SetTagBit(tag,kMCConversion) ;
if(mesonPdg == 111) SetTagBit(tag,kMCPi0);
else SetTagBit(tag,kMCEta);
}
}
void AliMCAnalysisUtils::CheckOverlapped2GammaDecay(const Int_t *labels, Int_t nlabels, Int_t mesonIndex,
const TClonesArray *mcparticles, Int_t & tag )
{
if(labels[0] < 0 || labels[0] > mcparticles->GetEntriesFast() || nlabels <= 1)
{
AliDebug(2,Form("Exit : label[0] %d, n primaries %d, nlabels %d",labels[0],mcparticles->GetEntriesFast(), nlabels));
return;
}
AliAODMCParticle * meson = (AliAODMCParticle *) mcparticles->At(mesonIndex);
Int_t mesonPdg = meson->GetPdgCode();
if(mesonPdg != 111 && mesonPdg != 221)
{
AliWarning(Form("Wrong pi0/eta PDG : %d",mesonPdg));
return;
}
AliDebug(2,Form("pdg %d, label %d, ndaughters %d", mesonPdg, mesonIndex, meson->GetNDaughters()));
if(meson->GetNDaughters() != 2)
{
AliDebug(2,Form("Not overalapped. Number of daughters is %d, not 2",meson->GetNDaughters()));
return;
}
Int_t iPhoton0 = meson->GetDaughter(0);
Int_t iPhoton1 = meson->GetDaughter(1);
AliAODMCParticle *photon0 = (AliAODMCParticle *) mcparticles->At(iPhoton0);
AliAODMCParticle *photon1 = (AliAODMCParticle *) mcparticles->At(iPhoton1);
if(photon0->GetPdgCode() != 22 && photon1->GetPdgCode()!=22)
{
AliWarning(Form("Not overlapped. PDG: daughter 1 = %d, of daughter 2 = %d",photon0->GetPdgCode(),photon1->GetPdgCode()));
return;
}
AliDebug(2,Form("Daughter labels : photon0 = %d, photon1 = %d",iPhoton0,iPhoton1));
Bool_t okPhoton0 = kFALSE;
Bool_t okPhoton1 = kFALSE;
AliDebug(3,"Labels loop:");
Bool_t conversion = kFALSE;
for(Int_t i = 0; i < nlabels; i++)
{
AliDebug(3, Form("\t label %d/%d: %d, ok? %d, %d", i, nlabels, labels[i], okPhoton0, okPhoton1));
if(labels[i]<0) continue;
if(okPhoton0 && okPhoton1) break;
Int_t index = labels[i];
if (iPhoton0 == index)
{
okPhoton0 = kTRUE;
continue;
}
else if (iPhoton1 == index)
{
okPhoton1 = kTRUE;
continue;
}
if(index >= mcparticles->GetEntriesFast())
{
AliWarning(Form("Particle index %d larger than size of list %d!!",index,mcparticles->GetEntriesFast()));
continue;
}
AliAODMCParticle * daught = (AliAODMCParticle*) mcparticles->At(index);
Int_t tmpindex = daught->GetMother();
AliDebug(3,Form("Conversion? : mother %d",tmpindex));
while(tmpindex>=0){
AliDebug(3,Form("\t parent index %d",tmpindex));
daught = (AliAODMCParticle*) mcparticles->At(tmpindex);
if (iPhoton0 == tmpindex)
{
conversion = kTRUE;
okPhoton0 = kTRUE;
break;
}
else if (iPhoton1 == tmpindex)
{
conversion = kTRUE;
okPhoton1 = kTRUE;
break;
}
tmpindex = daught->GetMother();
}
}
if(okPhoton0 && okPhoton1)
{
AliDebug(2,Form("%s OVERLAPPED DECAY",(TDatabasePDG::Instance()->GetParticle(mesonPdg))->GetName()));
if(!CheckTagBit(tag,kMCConversion) && conversion)
{
AliDebug(2,"Second decay photon produced a conversion");
SetTagBit(tag,kMCConversion) ;
}
if(mesonPdg == 111) SetTagBit(tag,kMCPi0);
else SetTagBit(tag,kMCEta);
}
}
void AliMCAnalysisUtils::CheckLostDecayPair(const TObjArray* arrayCluster, Int_t iMom, Int_t iParent,
AliStack * stack, Int_t & tag)
{
if(!arrayCluster || iMom < 0 || iParent < 0|| !stack) return;
TParticle * parent= stack->Particle(iParent);
if(parent->GetNDaughters()!=2)
{
SetTagBit(tag, kMCDecayPairLost);
return ;
}
Int_t pairLabel = -1;
if ( iMom != parent->GetDaughter(0) ) pairLabel = parent->GetDaughter(0);
else if( iMom != parent->GetDaughter(1) ) pairLabel = parent->GetDaughter(1);
if(pairLabel<0)
{
SetTagBit(tag, kMCDecayPairLost);
return ;
}
for(Int_t iclus = 0; iclus < arrayCluster->GetEntriesFast(); iclus++)
{
AliVCluster * cluster = (AliVCluster*) arrayCluster->At(iclus);
for(UInt_t ilab = 0; ilab< cluster->GetNLabels(); ilab++)
{
Int_t label = cluster->GetLabels()[ilab];
if(label==pairLabel)
{
SetTagBit(tag, kMCDecayPairInCalo);
return ;
}
else if(label== iParent || label== iMom)
{
continue;
}
else
{
TParticle * mother = stack->Particle(label);
Int_t momPDG = TMath::Abs(mother->GetPdgCode());
if(momPDG!=11 && momPDG!=22) continue;
Int_t iParentClus = mother->GetFirstMother();
if(iParentClus < 0) continue;
TParticle * parentClus = stack->Particle(iParentClus);
if(!parentClus) continue;
Int_t parentClusPDG = TMath::Abs(parentClus->GetPdgCode());
Int_t parentClusStatus = parentClus->GetStatusCode();
if( parentClusPDG != 22 && parentClusPDG != 11 && parentClusStatus != 0) continue;
while ((parentClusPDG == 22 || parentClusPDG == 11) && parentClusStatus != 1)
{
label = iParentClus;
momPDG = parentClusPDG;
iParentClus = parentClus->GetFirstMother();
if(iParentClus < 0) break;
parentClus = stack->Particle(iParentClus);
if(!parentClus) break;
parentClusPDG = TMath::Abs(parentClus->GetPdgCode());
parentClusStatus = parentClus->GetStatusCode() ;
}
if((momPDG == 22 || parentClusPDG ==22) && (label==pairLabel || iParentClus == pairLabel))
{
SetTagBit(tag, kMCDecayPairInCalo);
return ;
}
else continue;
}
}
}
SetTagBit(tag, kMCDecayPairLost);
}
void AliMCAnalysisUtils::CheckLostDecayPair(const TObjArray * arrayCluster,Int_t iMom, Int_t iParent,
const TClonesArray* mcparticles, Int_t & tag)
{
if(!arrayCluster || iMom < 0 || iParent < 0|| !mcparticles) return;
AliAODMCParticle * parent = (AliAODMCParticle*) mcparticles->At(iParent);
if(parent->GetNDaughters()!=2)
{
SetTagBit(tag, kMCDecayPairLost);
return ;
}
Int_t pairLabel = -1;
if ( iMom != parent->GetDaughter(0) ) pairLabel = parent->GetDaughter(0);
else if( iMom != parent->GetDaughter(1) ) pairLabel = parent->GetDaughter(1);
if(pairLabel<0)
{
SetTagBit(tag, kMCDecayPairLost);
return ;
}
for(Int_t iclus = 0; iclus < arrayCluster->GetEntriesFast(); iclus++)
{
AliVCluster * cluster = (AliVCluster*) arrayCluster->At(iclus);
for(UInt_t ilab = 0; ilab< cluster->GetNLabels(); ilab++)
{
Int_t label = cluster->GetLabels()[ilab];
if(label==pairLabel)
{
SetTagBit(tag, kMCDecayPairInCalo);
return ;
}
else if(label== iParent || label== iMom)
{
continue;
}
else
{
AliAODMCParticle * mother = (AliAODMCParticle*) mcparticles->At(label);
Int_t momPDG = TMath::Abs(mother->GetPdgCode());
if(momPDG!=11 && momPDG!=22)
{
continue;
}
Int_t iParentClus = mother->GetMother();
if(iParentClus < 0) continue;
AliAODMCParticle * parentClus = (AliAODMCParticle*) mcparticles->At(iParentClus);
if(!parentClus) continue;
Int_t parentClusPDG = TMath::Abs(parentClus->GetPdgCode());
Int_t parentClusStatus = parentClus->GetStatus();
if( parentClusPDG != 22 && parentClusPDG != 11 && parentClusStatus != 0)
{
continue;
}
while ((parentClusPDG == 22 || parentClusPDG == 11) && parentClusStatus != 1)
{
label = iParentClus;
momPDG = parentClusPDG;
iParentClus = parentClus->GetMother();
if(iParentClus < 0) break;
parentClus = (AliAODMCParticle*) mcparticles->At(iParentClus);
if(!parentClus) break;
parentClusPDG = TMath::Abs(parentClus->GetPdgCode());
parentClusStatus = parentClus->GetStatus() ;
}
if((momPDG == 22 || parentClusPDG ==22) && (label==pairLabel || iParentClus == pairLabel))
{
SetTagBit(tag, kMCDecayPairInCalo);
return ;
}
else
{
continue;
}
}
}
}
SetTagBit(tag, kMCDecayPairLost);
}
TList * AliMCAnalysisUtils::GetJets(const AliCaloTrackReader * reader)
{
AliStack * stack = reader->GetStack();
Int_t iEvent = reader->GetEventNumber();
AliGenEventHeader * geh = reader->GetGenEventHeader();
if(fCurrentEvent!=iEvent){
fCurrentEvent = iEvent;
fJetsList = new TList;
Int_t nTriggerJets = 0;
Float_t tmpjet[]={0,0,0,0};
if(stack->GetNtrack() < 8) return fJetsList;
TParticle * parton1 = stack->Particle(6);
TParticle * parton2 = stack->Particle(7);
AliDebug(2,Form("Parton 6 : %s, pt %2.2f,E %2.2f, phi %2.2f, eta %2.2f",
parton1->GetName(),parton1->Pt(),parton1->Energy(),parton1->Phi()*TMath::RadToDeg(),parton1->Eta()));
AliDebug(2,Form("Parton 7 : %s, pt %2.2f,E %2.2f, phi %2.2f, eta %2.2f",
parton2->GetName(),parton2->Pt(),parton2->Energy(),parton2->Phi()*TMath::RadToDeg(),parton2->Eta()));
if(fMCGenerator == kPythia)
{
TParticle * jet = 0x0;
AliGenPythiaEventHeader* pygeh= (AliGenPythiaEventHeader*) geh;
nTriggerJets = pygeh->NTriggerJets();
AliDebug(2,Form("PythiaEventHeader: Njets: %d",nTriggerJets));
for(Int_t i = 0; i< nTriggerJets; i++)
{
pygeh->TriggerJet(i, tmpjet);
jet = new TParticle(94, 21, -1, -1, -1, -1, tmpjet[0],tmpjet[1],tmpjet[2],tmpjet[3], 0,0,0,0);
Float_t phidiff1 = TMath::Abs(jet->Phi()-parton1->Phi());
Float_t phidiff2 = TMath::Abs(jet->Phi()-parton2->Phi());
if(phidiff1 > phidiff2) jet->SetFirstMother(7);
else jet->SetFirstMother(6);
AliDebug(1,Form("PYTHIA Jet %d: mother %d, pt %2.2f,E %2.2f, phi %2.2f, eta %2.2f",
i, jet->GetFirstMother(),jet->Pt(),jet->Energy(),jet->Phi()*TMath::RadToDeg(),jet->Eta()));
fJetsList->Add(jet);
}
}
else if (fMCGenerator == kHerwig)
{
Int_t pdg = -1;
TParticle * tmp = parton1;
if(parton1->GetPdgCode()!=22)
{
while(pdg != 94){
if(tmp->GetFirstDaughter()==-1) return fJetsList;
tmp = stack->Particle(tmp->GetFirstDaughter());
pdg = tmp->GetPdgCode();
}
TParticle *jet1 = new TParticle(*tmp);
jet1->SetFirstMother(6);
fJetsList->Add(jet1);
AliDebug(1,Form("HERWIG Jet 1: mother %d, status %d, pt %2.2f,E %2.2f, phi %2.2f, eta %2.2f",
jet1->GetFirstMother(),jet1->GetStatusCode(),jet1->Pt(),jet1->Energy(),jet1->Phi()*TMath::RadToDeg(),jet1->Eta()));
}
pdg = -1;
tmp = parton2;
if(parton2->GetPdgCode()!=22)
{
while(pdg != 94)
{
if(tmp->GetFirstDaughter()==-1) return fJetsList;
tmp = stack->Particle(tmp->GetFirstDaughter());
pdg = tmp->GetPdgCode();
}
TParticle *jet2 = new TParticle(*tmp);
jet2->SetFirstMother(7);
fJetsList->Add(jet2);
AliDebug(2,Form("HERWIG Jet 2: mother %d, status %d, pt %2.2f,E %2.2f, phi %2.2f, eta %2.2f",
jet2->GetFirstMother(),jet2->GetStatusCode(),jet2->Pt(),jet2->Energy(),jet2->Phi()*TMath::RadToDeg(),jet2->Eta()));
}
}
}
return fJetsList;
}
TLorentzVector AliMCAnalysisUtils::GetDaughter(Int_t idaugh, Int_t label,
const AliCaloTrackReader* reader,
Int_t & pdg, Int_t & status, Bool_t & ok, Int_t & daughlabel)
{
fDaughMom.SetPxPyPzE(0,0,0,0);
if(reader->ReadStack())
{
if(!reader->GetStack())
{
AliWarning("Stack is not available, check analysis settings in configuration file!!");
ok=kFALSE;
return fDaughMom;
}
Int_t nprimaries = reader->GetStack()->GetNtrack();
if(label >= 0 && label < nprimaries)
{
TParticle * momP = reader->GetStack()->Particle(label);
daughlabel = momP->GetDaughter(idaugh);
if(daughlabel < 0 || daughlabel >= nprimaries)
{
ok = kFALSE;
return fDaughMom;
}
TParticle * daughP = reader->GetStack()->Particle(daughlabel);
daughP->Momentum(fDaughMom);
pdg = daughP->GetPdgCode();
status = daughP->GetStatusCode();
}
else
{
ok = kFALSE;
return fDaughMom;
}
}
else if(reader->ReadAODMCParticles())
{
TClonesArray* mcparticles = reader->GetAODMCParticles();
if(!mcparticles)
{
AliWarning("AODMCParticles is not available, check analysis settings in configuration file!!");
ok=kFALSE;
return fDaughMom;
}
Int_t nprimaries = mcparticles->GetEntriesFast();
if(label >= 0 && label < nprimaries)
{
AliAODMCParticle * momP = (AliAODMCParticle *) mcparticles->At(label);
daughlabel = momP->GetDaughter(idaugh);
if(daughlabel < 0 || daughlabel >= nprimaries)
{
ok = kFALSE;
return fDaughMom;
}
AliAODMCParticle * daughP = (AliAODMCParticle *) mcparticles->At(daughlabel);
fDaughMom.SetPxPyPzE(daughP->Px(),daughP->Py(),daughP->Pz(),daughP->E());
pdg = daughP->GetPdgCode();
status = daughP->GetStatus();
}
else
{
ok = kFALSE;
return fDaughMom;
}
}
ok = kTRUE;
return fDaughMom;
}
TLorentzVector AliMCAnalysisUtils::GetMother(Int_t label, const AliCaloTrackReader* reader, Bool_t & ok)
{
Int_t pdg = -1; Int_t status = -1; Int_t momlabel = -1;
return GetMother(label,reader,pdg,status, ok,momlabel);
}
TLorentzVector AliMCAnalysisUtils::GetMother(Int_t label, const AliCaloTrackReader* reader,
Int_t & pdg, Int_t & status, Bool_t & ok)
{
Int_t momlabel = -1;
return GetMother(label,reader,pdg,status, ok,momlabel);
}
TLorentzVector AliMCAnalysisUtils::GetMother(Int_t label, const AliCaloTrackReader* reader,
Int_t & pdg, Int_t & status, Bool_t & ok, Int_t & momlabel)
{
fMotherMom.SetPxPyPzE(0,0,0,0);
if(reader->ReadStack())
{
if(!reader->GetStack())
{
AliWarning("Stack is not available, check analysis settings in configuration file, STOP!!");
ok=kFALSE;
return fMotherMom;
}
if(label >= 0 && label < reader->GetStack()->GetNtrack())
{
TParticle * momP = reader->GetStack()->Particle(label);
momP->Momentum(fMotherMom);
pdg = momP->GetPdgCode();
status = momP->GetStatusCode();
momlabel = momP->GetFirstMother();
}
else
{
ok = kFALSE;
return fMotherMom;
}
}
else if(reader->ReadAODMCParticles())
{
TClonesArray* mcparticles = reader->GetAODMCParticles();
if(!mcparticles)
{
AliWarning("AODMCParticles is not available, check analysis settings in configuration file!!");
ok=kFALSE;
return fMotherMom;
}
Int_t nprimaries = mcparticles->GetEntriesFast();
if(label >= 0 && label < nprimaries)
{
AliAODMCParticle * momP = (AliAODMCParticle *) mcparticles->At(label);
fMotherMom.SetPxPyPzE(momP->Px(),momP->Py(),momP->Pz(),momP->E());
pdg = momP->GetPdgCode();
status = momP->GetStatus();
momlabel = momP->GetMother();
}
else
{
ok = kFALSE;
return fMotherMom;
}
}
ok = kTRUE;
return fMotherMom;
}
TLorentzVector AliMCAnalysisUtils::GetMotherWithPDG(Int_t label, Int_t pdg,
const AliCaloTrackReader* reader,
Bool_t & ok, Int_t & momlabel)
{
fGMotherMom.SetPxPyPzE(0,0,0,0);
if(reader->ReadStack())
{
if(!reader->GetStack())
{
AliWarning("Stack is not available, check analysis settings in configuration file!!");
ok = kFALSE;
return fGMotherMom;
}
if(label >= 0 && label < reader->GetStack()->GetNtrack())
{
TParticle * momP = reader->GetStack()->Particle(label);
Int_t grandmomLabel = momP->GetFirstMother();
Int_t grandmomPDG = -1;
TParticle * grandmomP = 0x0;
while (grandmomLabel >=0 )
{
grandmomP = reader->GetStack()->Particle(grandmomLabel);
grandmomPDG = grandmomP->GetPdgCode();
if(grandmomPDG==pdg)
{
momlabel = grandmomLabel;
fGMotherMom.SetPxPyPzE(grandmomP->Px(),grandmomP->Py(),grandmomP->Pz(),grandmomP->Energy());
break;
}
grandmomLabel = grandmomP->GetFirstMother();
}
if(grandmomPDG!=pdg) AliInfo(Form("Mother with PDG %d, not found! \n",pdg));
}
}
else if(reader->ReadAODMCParticles())
{
TClonesArray* mcparticles = reader->GetAODMCParticles();
if(!mcparticles)
{
AliWarning("AODMCParticles is not available, check analysis settings in configuration file!!");
ok=kFALSE;
return fGMotherMom;
}
Int_t nprimaries = mcparticles->GetEntriesFast();
if(label >= 0 && label < nprimaries)
{
AliAODMCParticle * momP = (AliAODMCParticle *) mcparticles->At(label);
Int_t grandmomLabel = momP->GetMother();
Int_t grandmomPDG = -1;
AliAODMCParticle * grandmomP = 0x0;
while (grandmomLabel >=0 )
{
grandmomP = (AliAODMCParticle *) mcparticles->At(grandmomLabel);
grandmomPDG = grandmomP->GetPdgCode();
if(grandmomPDG==pdg)
{
momlabel = grandmomLabel;
fGMotherMom.SetPxPyPzE(grandmomP->Px(),grandmomP->Py(),grandmomP->Pz(),grandmomP->E());
break;
}
grandmomLabel = grandmomP->GetMother();
}
if(grandmomPDG!=pdg) AliInfo(Form("Mother with PDG %d, NOT found!",pdg));
}
}
ok = kTRUE;
return fGMotherMom;
}
TLorentzVector AliMCAnalysisUtils::GetGrandMother(Int_t label, const AliCaloTrackReader* reader,
Int_t & pdg, Int_t & status, Bool_t & ok,
Int_t & grandMomLabel, Int_t & greatMomLabel)
{
fGMotherMom.SetPxPyPzE(0,0,0,0);
if(reader->ReadStack())
{
if(!reader->GetStack())
{
AliWarning("Stack is not available, check analysis settings in configuration file, STOP!!");
ok = kFALSE;
return fGMotherMom;
}
if(label >= 0 && label < reader->GetStack()->GetNtrack())
{
TParticle * momP = reader->GetStack()->Particle(label);
grandMomLabel = momP->GetFirstMother();
TParticle * grandmomP = 0x0;
if (grandMomLabel >=0 )
{
grandmomP = reader->GetStack()->Particle(grandMomLabel);
pdg = grandmomP->GetPdgCode();
status = grandmomP->GetStatusCode();
fGMotherMom.SetPxPyPzE(grandmomP->Px(),grandmomP->Py(),grandmomP->Pz(),grandmomP->Energy());
greatMomLabel = grandmomP->GetFirstMother();
}
}
}
else if(reader->ReadAODMCParticles())
{
TClonesArray* mcparticles = reader->GetAODMCParticles();
if(!mcparticles)
{
AliWarning("AODMCParticles is not available, check analysis settings in configuration file!!");
ok=kFALSE;
return fGMotherMom;
}
Int_t nprimaries = mcparticles->GetEntriesFast();
if(label >= 0 && label < nprimaries)
{
AliAODMCParticle * momP = (AliAODMCParticle *) mcparticles->At(label);
grandMomLabel = momP->GetMother();
AliAODMCParticle * grandmomP = 0x0;
if(grandMomLabel >=0 )
{
grandmomP = (AliAODMCParticle *) mcparticles->At(grandMomLabel);
pdg = grandmomP->GetPdgCode();
status = grandmomP->GetStatus();
fGMotherMom.SetPxPyPzE(grandmomP->Px(),grandmomP->Py(),grandmomP->Pz(),grandmomP->E());
greatMomLabel = grandmomP->GetMother();
}
}
}
ok = kTRUE;
return fGMotherMom;
}
void AliMCAnalysisUtils::GetMCDecayAsymmetryAngleForPDG(Int_t label, Int_t pdg, const AliCaloTrackReader* reader,
Float_t & asym, Float_t & angle, Bool_t & ok)
{
if(reader->ReadStack())
{
if(!reader->GetStack())
{
AliWarning("Stack is not available, check analysis settings in configuration file, STOP!!");
ok = kFALSE;
}
if(label >= 0 && label < reader->GetStack()->GetNtrack())
{
TParticle * momP = reader->GetStack()->Particle(label);
Int_t grandmomLabel = momP->GetFirstMother();
Int_t grandmomPDG = -1;
TParticle * grandmomP = 0x0;
while (grandmomLabel >=0 )
{
grandmomP = reader->GetStack()->Particle(grandmomLabel);
grandmomPDG = grandmomP->GetPdgCode();
if(grandmomPDG==pdg) break;
grandmomLabel = grandmomP->GetFirstMother();
}
if(grandmomPDG==pdg && grandmomP->GetNDaughters()==2)
{
TParticle * d1 = reader->GetStack()->Particle(grandmomP->GetDaughter(0));
TParticle * d2 = reader->GetStack()->Particle(grandmomP->GetDaughter(1));
if(d1->GetPdgCode() == 22 && d1->GetPdgCode() == 22)
{
asym = (d1->Energy()-d2->Energy())/grandmomP->Energy();
d1->Momentum(fDaughMom );
d2->Momentum(fDaughMom2);
angle = fDaughMom.Angle(fDaughMom2.Vect());
}
}
else
{
ok=kFALSE;
AliInfo(Form("Mother with PDG %d, not found!",pdg));
}
}
}
else if(reader->ReadAODMCParticles())
{
TClonesArray* mcparticles = reader->GetAODMCParticles();
if(!mcparticles)
{
AliWarning("AODMCParticles is not available, check analysis settings in configuration file!!");
ok=kFALSE;
return;
}
Int_t nprimaries = mcparticles->GetEntriesFast();
if(label >= 0 && label < nprimaries)
{
AliAODMCParticle * momP = (AliAODMCParticle *) mcparticles->At(label);
Int_t grandmomLabel = momP->GetMother();
Int_t grandmomPDG = -1;
AliAODMCParticle * grandmomP = 0x0;
while (grandmomLabel >=0 )
{
grandmomP = (AliAODMCParticle *) mcparticles->At(grandmomLabel);
grandmomPDG = grandmomP->GetPdgCode();
if(grandmomPDG==pdg) break;
grandmomLabel = grandmomP->GetMother();
}
if(grandmomPDG==pdg && grandmomP->GetNDaughters()==2)
{
AliAODMCParticle * d1 = (AliAODMCParticle *) mcparticles->At(grandmomP->GetDaughter(0));
AliAODMCParticle * d2 = (AliAODMCParticle *) mcparticles->At(grandmomP->GetDaughter(1));
if(d1->GetPdgCode() == 22 && d1->GetPdgCode() == 22)
{
asym = (d1->E()-d2->E())/grandmomP->E();
fDaughMom .SetPxPyPzE(d1->Px(),d1->Py(),d1->Pz(),d1->E());
fDaughMom2.SetPxPyPzE(d2->Px(),d2->Py(),d2->Pz(),d2->E());
angle = fDaughMom.Angle(fDaughMom2.Vect());
}
}
else
{
ok=kFALSE;
AliInfo(Form("Mother with PDG %d, not found! \n",pdg));
}
}
}
ok = kTRUE;
}
Int_t AliMCAnalysisUtils::GetNDaughters(Int_t label, const AliCaloTrackReader* reader, Bool_t & ok)
{
if(reader->ReadStack())
{
if(!reader->GetStack())
{
AliWarning("Stack is not available, check analysis settings in configuration file, STOP!!");
ok=kFALSE;
return -1;
}
if(label >= 0 && label < reader->GetStack()->GetNtrack())
{
TParticle * momP = reader->GetStack()->Particle(label);
ok=kTRUE;
return momP->GetNDaughters();
}
else
{
ok = kFALSE;
return -1;
}
}
else if(reader->ReadAODMCParticles())
{
TClonesArray* mcparticles = reader->GetAODMCParticles();
if(!mcparticles)
{
AliWarning("AODMCParticles is not available, check analysis settings in configuration file!!");
ok=kFALSE;
return -1;
}
Int_t nprimaries = mcparticles->GetEntriesFast();
if(label >= 0 && label < nprimaries)
{
AliAODMCParticle * momP = (AliAODMCParticle *) mcparticles->At(label);
ok = kTRUE;
return momP->GetNDaughters();
}
else
{
ok = kFALSE;
return -1;
}
}
ok = kFALSE;
return -1;
}
Int_t AliMCAnalysisUtils::GetNOverlaps(const Int_t * label, UInt_t nlabels,
Int_t mctag, Int_t mesonLabel,
AliCaloTrackReader * reader, Int_t *overpdg)
{
Int_t ancPDG = 0, ancStatus = -1;
TVector3 prodVertex;
Int_t ancLabel = 0;
Int_t noverlaps = 0;
Bool_t ok = kFALSE;
for (UInt_t ilab = 1; ilab < nlabels; ilab++ )
{
ancLabel = CheckCommonAncestor(label[0],label[ilab],reader,ancPDG,ancStatus,fMotherMom,prodVertex);
Bool_t overlap = kFALSE;
if ( ancLabel < 0 )
{
overlap = kTRUE;
}
else if( ( ancPDG==111 || ancPDG==221 ) && ( CheckTagBit(mctag,kMCPi0) || CheckTagBit(mctag,kMCEta)) && mesonLabel != ancLabel)
{
overlap = kTRUE;
}
else if( ancPDG!=22 && TMath::Abs(ancPDG)!=11 && ancPDG != 111 && ancPDG != 221 )
{
overlap = kTRUE ;
}
if( !overlap ) continue ;
noverlaps++;
Bool_t mOK = 0, gOK = 0;
Int_t mpdg = -999999, gpdg = -1;
Int_t mstatus = -1, gstatus = -1;
Int_t gLabel = -1, ggLabel = -1;
GetMother (label[ilab],reader,mpdg,mstatus,mOK);
fGMotherMom =
GetGrandMother(label[ilab],reader,gpdg,gstatus,gOK, gLabel,ggLabel);
if( ( mpdg == 22 || TMath::Abs(mpdg==11) ) &&
( gpdg == 22 || TMath::Abs(gpdg==11) ) &&
gLabel >=0 )
{
Int_t labeltmp = gLabel;
while( ( gpdg == 22 || TMath::Abs(gpdg==11) ) && gLabel >=0 )
{
mpdg=gpdg;
fGMotherMom = GetGrandMother(labeltmp,reader,gpdg,gstatus,ok, gLabel,ggLabel);
labeltmp=gLabel;
}
}
overpdg[noverlaps-1] = mpdg;
}
return noverlaps ;
}
void AliMCAnalysisUtils::Print(const Option_t * opt) const
{
if(! opt)
return;
printf("***** Print: %s %s ******\n", GetName(), GetTitle() ) ;
printf("Debug level = %d\n",fDebug);
printf("MC Generator = %s\n",fMCGeneratorString.Data());
printf(" \n");
}
void AliMCAnalysisUtils::PrintMCTag(Int_t tag) const
{
printf("AliMCAnalysisUtils::PrintMCTag() - tag %d \n photon %d, conv %d, prompt %d, frag %d, isr %d, \n pi0 decay %d, eta decay %d, other decay %d pi0 %d, eta %d \n electron %d, muon %d,pion %d, proton %d, neutron %d, \n kaon %d, a-proton %d, a-neutron %d, unk %d, bad %d\n",
tag,
CheckTagBit(tag,kMCPhoton),
CheckTagBit(tag,kMCConversion),
CheckTagBit(tag,kMCPrompt),
CheckTagBit(tag,kMCFragmentation),
CheckTagBit(tag,kMCISR),
CheckTagBit(tag,kMCPi0Decay),
CheckTagBit(tag,kMCEtaDecay),
CheckTagBit(tag,kMCOtherDecay),
CheckTagBit(tag,kMCPi0),
CheckTagBit(tag,kMCEta),
CheckTagBit(tag,kMCElectron),
CheckTagBit(tag,kMCMuon),
CheckTagBit(tag,kMCPion),
CheckTagBit(tag,kMCProton),
CheckTagBit(tag,kMCAntiNeutron),
CheckTagBit(tag,kMCKaon),
CheckTagBit(tag,kMCAntiProton),
CheckTagBit(tag,kMCAntiNeutron),
CheckTagBit(tag,kMCUnknown),
CheckTagBit(tag,kMCBadLabel)
);
}
void AliMCAnalysisUtils::SetMCGenerator(Int_t mcgen)
{
fMCGenerator = mcgen ;
if (mcgen == kPythia) fMCGeneratorString = "PYTHIA";
else if(mcgen == kHerwig) fMCGeneratorString = "HERWIG";
else if(mcgen == kHijing) fMCGeneratorString = "HIJING";
else
{
fMCGeneratorString = "";
fMCGenerator = kBoxLike ;
}
}
void AliMCAnalysisUtils::SetMCGenerator(TString mcgen)
{
fMCGeneratorString = mcgen ;
if (mcgen == "PYTHIA") fMCGenerator = kPythia;
else if(mcgen == "HERWIG") fMCGenerator = kHerwig;
else if(mcgen == "HIJING") fMCGenerator = kHijing;
else
{
fMCGenerator = kBoxLike;
fMCGeneratorString = "" ;
}
}
AliMCAnalysisUtils.cxx:10 AliMCAnalysisUtils.cxx:11 AliMCAnalysisUtils.cxx:12 AliMCAnalysisUtils.cxx:13 AliMCAnalysisUtils.cxx:14 AliMCAnalysisUtils.cxx:15 AliMCAnalysisUtils.cxx:16 AliMCAnalysisUtils.cxx:17 AliMCAnalysisUtils.cxx:18 AliMCAnalysisUtils.cxx:19 AliMCAnalysisUtils.cxx:20 AliMCAnalysisUtils.cxx:21 AliMCAnalysisUtils.cxx:22 AliMCAnalysisUtils.cxx:23 AliMCAnalysisUtils.cxx:24 AliMCAnalysisUtils.cxx:25 AliMCAnalysisUtils.cxx:26 AliMCAnalysisUtils.cxx:27 AliMCAnalysisUtils.cxx:28 AliMCAnalysisUtils.cxx:29 AliMCAnalysisUtils.cxx:30 AliMCAnalysisUtils.cxx:31 AliMCAnalysisUtils.cxx:32 AliMCAnalysisUtils.cxx:33 AliMCAnalysisUtils.cxx:34 AliMCAnalysisUtils.cxx:35 AliMCAnalysisUtils.cxx:36 AliMCAnalysisUtils.cxx:37 AliMCAnalysisUtils.cxx:38 AliMCAnalysisUtils.cxx:39 AliMCAnalysisUtils.cxx:40 AliMCAnalysisUtils.cxx:41 AliMCAnalysisUtils.cxx:42 AliMCAnalysisUtils.cxx:43 AliMCAnalysisUtils.cxx:44 AliMCAnalysisUtils.cxx:45 AliMCAnalysisUtils.cxx:46 AliMCAnalysisUtils.cxx:47 AliMCAnalysisUtils.cxx:48 AliMCAnalysisUtils.cxx:49 AliMCAnalysisUtils.cxx:50 AliMCAnalysisUtils.cxx:51 AliMCAnalysisUtils.cxx:52 AliMCAnalysisUtils.cxx:53 AliMCAnalysisUtils.cxx:54 AliMCAnalysisUtils.cxx:55 AliMCAnalysisUtils.cxx:56 AliMCAnalysisUtils.cxx:57 AliMCAnalysisUtils.cxx:58 AliMCAnalysisUtils.cxx:59 AliMCAnalysisUtils.cxx:60 AliMCAnalysisUtils.cxx:61 AliMCAnalysisUtils.cxx:62 AliMCAnalysisUtils.cxx:63 AliMCAnalysisUtils.cxx:64 AliMCAnalysisUtils.cxx:65 AliMCAnalysisUtils.cxx:66 AliMCAnalysisUtils.cxx:67 AliMCAnalysisUtils.cxx:68 AliMCAnalysisUtils.cxx:69 AliMCAnalysisUtils.cxx:70 AliMCAnalysisUtils.cxx:71 AliMCAnalysisUtils.cxx:72 AliMCAnalysisUtils.cxx:73 AliMCAnalysisUtils.cxx:74 AliMCAnalysisUtils.cxx:75 AliMCAnalysisUtils.cxx:76 AliMCAnalysisUtils.cxx:77 AliMCAnalysisUtils.cxx:78 AliMCAnalysisUtils.cxx:79 AliMCAnalysisUtils.cxx:80 AliMCAnalysisUtils.cxx:81 AliMCAnalysisUtils.cxx:82 AliMCAnalysisUtils.cxx:83 AliMCAnalysisUtils.cxx:84 AliMCAnalysisUtils.cxx:85 AliMCAnalysisUtils.cxx:86 AliMCAnalysisUtils.cxx:87 AliMCAnalysisUtils.cxx:88 AliMCAnalysisUtils.cxx:89 AliMCAnalysisUtils.cxx:90 AliMCAnalysisUtils.cxx:91 AliMCAnalysisUtils.cxx:92 AliMCAnalysisUtils.cxx:93 AliMCAnalysisUtils.cxx:94 AliMCAnalysisUtils.cxx:95 AliMCAnalysisUtils.cxx:96 AliMCAnalysisUtils.cxx:97 AliMCAnalysisUtils.cxx:98 AliMCAnalysisUtils.cxx:99 AliMCAnalysisUtils.cxx:100 AliMCAnalysisUtils.cxx:101 AliMCAnalysisUtils.cxx:102 AliMCAnalysisUtils.cxx:103 AliMCAnalysisUtils.cxx:104 AliMCAnalysisUtils.cxx:105 AliMCAnalysisUtils.cxx:106 AliMCAnalysisUtils.cxx:107 AliMCAnalysisUtils.cxx:108 AliMCAnalysisUtils.cxx:109 AliMCAnalysisUtils.cxx:110 AliMCAnalysisUtils.cxx:111 AliMCAnalysisUtils.cxx:112 AliMCAnalysisUtils.cxx:113 AliMCAnalysisUtils.cxx:114 AliMCAnalysisUtils.cxx:115 AliMCAnalysisUtils.cxx:116 AliMCAnalysisUtils.cxx:117 AliMCAnalysisUtils.cxx:118 AliMCAnalysisUtils.cxx:119 AliMCAnalysisUtils.cxx:120 AliMCAnalysisUtils.cxx:121 AliMCAnalysisUtils.cxx:122 AliMCAnalysisUtils.cxx:123 AliMCAnalysisUtils.cxx:124 AliMCAnalysisUtils.cxx:125 AliMCAnalysisUtils.cxx:126 AliMCAnalysisUtils.cxx:127 AliMCAnalysisUtils.cxx:128 AliMCAnalysisUtils.cxx:129 AliMCAnalysisUtils.cxx:130 AliMCAnalysisUtils.cxx:131 AliMCAnalysisUtils.cxx:132 AliMCAnalysisUtils.cxx:133 AliMCAnalysisUtils.cxx:134 AliMCAnalysisUtils.cxx:135 AliMCAnalysisUtils.cxx:136 AliMCAnalysisUtils.cxx:137 AliMCAnalysisUtils.cxx:138 AliMCAnalysisUtils.cxx:139 AliMCAnalysisUtils.cxx:140 AliMCAnalysisUtils.cxx:141 AliMCAnalysisUtils.cxx:142 AliMCAnalysisUtils.cxx:143 AliMCAnalysisUtils.cxx:144 AliMCAnalysisUtils.cxx:145 AliMCAnalysisUtils.cxx:146 AliMCAnalysisUtils.cxx:147 AliMCAnalysisUtils.cxx:148 AliMCAnalysisUtils.cxx:149 AliMCAnalysisUtils.cxx:150 AliMCAnalysisUtils.cxx:151 AliMCAnalysisUtils.cxx:152 AliMCAnalysisUtils.cxx:153 AliMCAnalysisUtils.cxx:154 AliMCAnalysisUtils.cxx:155 AliMCAnalysisUtils.cxx:156 AliMCAnalysisUtils.cxx:157 AliMCAnalysisUtils.cxx:158 AliMCAnalysisUtils.cxx:159 AliMCAnalysisUtils.cxx:160 AliMCAnalysisUtils.cxx:161 AliMCAnalysisUtils.cxx:162 AliMCAnalysisUtils.cxx:163 AliMCAnalysisUtils.cxx:164 AliMCAnalysisUtils.cxx:165 AliMCAnalysisUtils.cxx:166 AliMCAnalysisUtils.cxx:167 AliMCAnalysisUtils.cxx:168 AliMCAnalysisUtils.cxx:169 AliMCAnalysisUtils.cxx:170 AliMCAnalysisUtils.cxx:171 AliMCAnalysisUtils.cxx:172 AliMCAnalysisUtils.cxx:173 AliMCAnalysisUtils.cxx:174 AliMCAnalysisUtils.cxx:175 AliMCAnalysisUtils.cxx:176 AliMCAnalysisUtils.cxx:177 AliMCAnalysisUtils.cxx:178 AliMCAnalysisUtils.cxx:179 AliMCAnalysisUtils.cxx:180 AliMCAnalysisUtils.cxx:181 AliMCAnalysisUtils.cxx:182 AliMCAnalysisUtils.cxx:183 AliMCAnalysisUtils.cxx:184 AliMCAnalysisUtils.cxx:185 AliMCAnalysisUtils.cxx:186 AliMCAnalysisUtils.cxx:187 AliMCAnalysisUtils.cxx:188 AliMCAnalysisUtils.cxx:189 AliMCAnalysisUtils.cxx:190 AliMCAnalysisUtils.cxx:191 AliMCAnalysisUtils.cxx:192 AliMCAnalysisUtils.cxx:193 AliMCAnalysisUtils.cxx:194 AliMCAnalysisUtils.cxx:195 AliMCAnalysisUtils.cxx:196 AliMCAnalysisUtils.cxx:197 AliMCAnalysisUtils.cxx:198 AliMCAnalysisUtils.cxx:199 AliMCAnalysisUtils.cxx:200 AliMCAnalysisUtils.cxx:201 AliMCAnalysisUtils.cxx:202 AliMCAnalysisUtils.cxx:203 AliMCAnalysisUtils.cxx:204 AliMCAnalysisUtils.cxx:205 AliMCAnalysisUtils.cxx:206 AliMCAnalysisUtils.cxx:207 AliMCAnalysisUtils.cxx:208 AliMCAnalysisUtils.cxx:209 AliMCAnalysisUtils.cxx:210 AliMCAnalysisUtils.cxx:211 AliMCAnalysisUtils.cxx:212 AliMCAnalysisUtils.cxx:213 AliMCAnalysisUtils.cxx:214 AliMCAnalysisUtils.cxx:215 AliMCAnalysisUtils.cxx:216 AliMCAnalysisUtils.cxx:217 AliMCAnalysisUtils.cxx:218 AliMCAnalysisUtils.cxx:219 AliMCAnalysisUtils.cxx:220 AliMCAnalysisUtils.cxx:221 AliMCAnalysisUtils.cxx:222 AliMCAnalysisUtils.cxx:223 AliMCAnalysisUtils.cxx:224 AliMCAnalysisUtils.cxx:225 AliMCAnalysisUtils.cxx:226 AliMCAnalysisUtils.cxx:227 AliMCAnalysisUtils.cxx:228 AliMCAnalysisUtils.cxx:229 AliMCAnalysisUtils.cxx:230 AliMCAnalysisUtils.cxx:231 AliMCAnalysisUtils.cxx:232 AliMCAnalysisUtils.cxx:233 AliMCAnalysisUtils.cxx:234 AliMCAnalysisUtils.cxx:235 AliMCAnalysisUtils.cxx:236 AliMCAnalysisUtils.cxx:237 AliMCAnalysisUtils.cxx:238 AliMCAnalysisUtils.cxx:239 AliMCAnalysisUtils.cxx:240 AliMCAnalysisUtils.cxx:241 AliMCAnalysisUtils.cxx:242 AliMCAnalysisUtils.cxx:243 AliMCAnalysisUtils.cxx:244 AliMCAnalysisUtils.cxx:245 AliMCAnalysisUtils.cxx:246 AliMCAnalysisUtils.cxx:247 AliMCAnalysisUtils.cxx:248 AliMCAnalysisUtils.cxx:249 AliMCAnalysisUtils.cxx:250 AliMCAnalysisUtils.cxx:251 AliMCAnalysisUtils.cxx:252 AliMCAnalysisUtils.cxx:253 AliMCAnalysisUtils.cxx:254 AliMCAnalysisUtils.cxx:255 AliMCAnalysisUtils.cxx:256 AliMCAnalysisUtils.cxx:257 AliMCAnalysisUtils.cxx:258 AliMCAnalysisUtils.cxx:259 AliMCAnalysisUtils.cxx:260 AliMCAnalysisUtils.cxx:261 AliMCAnalysisUtils.cxx:262 AliMCAnalysisUtils.cxx:263 AliMCAnalysisUtils.cxx:264 AliMCAnalysisUtils.cxx:265 AliMCAnalysisUtils.cxx:266 AliMCAnalysisUtils.cxx:267 AliMCAnalysisUtils.cxx:268 AliMCAnalysisUtils.cxx:269 AliMCAnalysisUtils.cxx:270 AliMCAnalysisUtils.cxx:271 AliMCAnalysisUtils.cxx:272 AliMCAnalysisUtils.cxx:273 AliMCAnalysisUtils.cxx:274 AliMCAnalysisUtils.cxx:275 AliMCAnalysisUtils.cxx:276 AliMCAnalysisUtils.cxx:277 AliMCAnalysisUtils.cxx:278 AliMCAnalysisUtils.cxx:279 AliMCAnalysisUtils.cxx:280 AliMCAnalysisUtils.cxx:281 AliMCAnalysisUtils.cxx:282 AliMCAnalysisUtils.cxx:283 AliMCAnalysisUtils.cxx:284 AliMCAnalysisUtils.cxx:285 AliMCAnalysisUtils.cxx:286 AliMCAnalysisUtils.cxx:287 AliMCAnalysisUtils.cxx:288 AliMCAnalysisUtils.cxx:289 AliMCAnalysisUtils.cxx:290 AliMCAnalysisUtils.cxx:291 AliMCAnalysisUtils.cxx:292 AliMCAnalysisUtils.cxx:293 AliMCAnalysisUtils.cxx:294 AliMCAnalysisUtils.cxx:295 AliMCAnalysisUtils.cxx:296 AliMCAnalysisUtils.cxx:297 AliMCAnalysisUtils.cxx:298 AliMCAnalysisUtils.cxx:299 AliMCAnalysisUtils.cxx:300 AliMCAnalysisUtils.cxx:301 AliMCAnalysisUtils.cxx:302 AliMCAnalysisUtils.cxx:303 AliMCAnalysisUtils.cxx:304 AliMCAnalysisUtils.cxx:305 AliMCAnalysisUtils.cxx:306 AliMCAnalysisUtils.cxx:307 AliMCAnalysisUtils.cxx:308 AliMCAnalysisUtils.cxx:309 AliMCAnalysisUtils.cxx:310 AliMCAnalysisUtils.cxx:311 AliMCAnalysisUtils.cxx:312 AliMCAnalysisUtils.cxx:313 AliMCAnalysisUtils.cxx:314 AliMCAnalysisUtils.cxx:315 AliMCAnalysisUtils.cxx:316 AliMCAnalysisUtils.cxx:317 AliMCAnalysisUtils.cxx:318 AliMCAnalysisUtils.cxx:319 AliMCAnalysisUtils.cxx:320 AliMCAnalysisUtils.cxx:321 AliMCAnalysisUtils.cxx:322 AliMCAnalysisUtils.cxx:323 AliMCAnalysisUtils.cxx:324 AliMCAnalysisUtils.cxx:325 AliMCAnalysisUtils.cxx:326 AliMCAnalysisUtils.cxx:327 AliMCAnalysisUtils.cxx:328 AliMCAnalysisUtils.cxx:329 AliMCAnalysisUtils.cxx:330 AliMCAnalysisUtils.cxx:331 AliMCAnalysisUtils.cxx:332 AliMCAnalysisUtils.cxx:333 AliMCAnalysisUtils.cxx:334 AliMCAnalysisUtils.cxx:335 AliMCAnalysisUtils.cxx:336 AliMCAnalysisUtils.cxx:337 AliMCAnalysisUtils.cxx:338 AliMCAnalysisUtils.cxx:339 AliMCAnalysisUtils.cxx:340 AliMCAnalysisUtils.cxx:341 AliMCAnalysisUtils.cxx:342 AliMCAnalysisUtils.cxx:343 AliMCAnalysisUtils.cxx:344 AliMCAnalysisUtils.cxx:345 AliMCAnalysisUtils.cxx:346 AliMCAnalysisUtils.cxx:347 AliMCAnalysisUtils.cxx:348 AliMCAnalysisUtils.cxx:349 AliMCAnalysisUtils.cxx:350 AliMCAnalysisUtils.cxx:351 AliMCAnalysisUtils.cxx:352 AliMCAnalysisUtils.cxx:353 AliMCAnalysisUtils.cxx:354 AliMCAnalysisUtils.cxx:355 AliMCAnalysisUtils.cxx:356 AliMCAnalysisUtils.cxx:357 AliMCAnalysisUtils.cxx:358 AliMCAnalysisUtils.cxx:359 AliMCAnalysisUtils.cxx:360 AliMCAnalysisUtils.cxx:361 AliMCAnalysisUtils.cxx:362 AliMCAnalysisUtils.cxx:363 AliMCAnalysisUtils.cxx:364 AliMCAnalysisUtils.cxx:365 AliMCAnalysisUtils.cxx:366 AliMCAnalysisUtils.cxx:367 AliMCAnalysisUtils.cxx:368 AliMCAnalysisUtils.cxx:369 AliMCAnalysisUtils.cxx:370 AliMCAnalysisUtils.cxx:371 AliMCAnalysisUtils.cxx:372 AliMCAnalysisUtils.cxx:373 AliMCAnalysisUtils.cxx:374 AliMCAnalysisUtils.cxx:375 AliMCAnalysisUtils.cxx:376 AliMCAnalysisUtils.cxx:377 AliMCAnalysisUtils.cxx:378 AliMCAnalysisUtils.cxx:379 AliMCAnalysisUtils.cxx:380 AliMCAnalysisUtils.cxx:381 AliMCAnalysisUtils.cxx:382 AliMCAnalysisUtils.cxx:383 AliMCAnalysisUtils.cxx:384 AliMCAnalysisUtils.cxx:385 AliMCAnalysisUtils.cxx:386 AliMCAnalysisUtils.cxx:387 AliMCAnalysisUtils.cxx:388 AliMCAnalysisUtils.cxx:389 AliMCAnalysisUtils.cxx:390 AliMCAnalysisUtils.cxx:391 AliMCAnalysisUtils.cxx:392 AliMCAnalysisUtils.cxx:393 AliMCAnalysisUtils.cxx:394 AliMCAnalysisUtils.cxx:395 AliMCAnalysisUtils.cxx:396 AliMCAnalysisUtils.cxx:397 AliMCAnalysisUtils.cxx:398 AliMCAnalysisUtils.cxx:399 AliMCAnalysisUtils.cxx:400 AliMCAnalysisUtils.cxx:401 AliMCAnalysisUtils.cxx:402 AliMCAnalysisUtils.cxx:403 AliMCAnalysisUtils.cxx:404 AliMCAnalysisUtils.cxx:405 AliMCAnalysisUtils.cxx:406 AliMCAnalysisUtils.cxx:407 AliMCAnalysisUtils.cxx:408 AliMCAnalysisUtils.cxx:409 AliMCAnalysisUtils.cxx:410 AliMCAnalysisUtils.cxx:411 AliMCAnalysisUtils.cxx:412 AliMCAnalysisUtils.cxx:413 AliMCAnalysisUtils.cxx:414 AliMCAnalysisUtils.cxx:415 AliMCAnalysisUtils.cxx:416 AliMCAnalysisUtils.cxx:417 AliMCAnalysisUtils.cxx:418 AliMCAnalysisUtils.cxx:419 AliMCAnalysisUtils.cxx:420 AliMCAnalysisUtils.cxx:421 AliMCAnalysisUtils.cxx:422 AliMCAnalysisUtils.cxx:423 AliMCAnalysisUtils.cxx:424 AliMCAnalysisUtils.cxx:425 AliMCAnalysisUtils.cxx:426 AliMCAnalysisUtils.cxx:427 AliMCAnalysisUtils.cxx:428 AliMCAnalysisUtils.cxx:429 AliMCAnalysisUtils.cxx:430 AliMCAnalysisUtils.cxx:431 AliMCAnalysisUtils.cxx:432 AliMCAnalysisUtils.cxx:433 AliMCAnalysisUtils.cxx:434 AliMCAnalysisUtils.cxx:435 AliMCAnalysisUtils.cxx:436 AliMCAnalysisUtils.cxx:437 AliMCAnalysisUtils.cxx:438 AliMCAnalysisUtils.cxx:439 AliMCAnalysisUtils.cxx:440 AliMCAnalysisUtils.cxx:441 AliMCAnalysisUtils.cxx:442 AliMCAnalysisUtils.cxx:443 AliMCAnalysisUtils.cxx:444 AliMCAnalysisUtils.cxx:445 AliMCAnalysisUtils.cxx:446 AliMCAnalysisUtils.cxx:447 AliMCAnalysisUtils.cxx:448 AliMCAnalysisUtils.cxx:449 AliMCAnalysisUtils.cxx:450 AliMCAnalysisUtils.cxx:451 AliMCAnalysisUtils.cxx:452 AliMCAnalysisUtils.cxx:453 AliMCAnalysisUtils.cxx:454 AliMCAnalysisUtils.cxx:455 AliMCAnalysisUtils.cxx:456 AliMCAnalysisUtils.cxx:457 AliMCAnalysisUtils.cxx:458 AliMCAnalysisUtils.cxx:459 AliMCAnalysisUtils.cxx:460 AliMCAnalysisUtils.cxx:461 AliMCAnalysisUtils.cxx:462 AliMCAnalysisUtils.cxx:463 AliMCAnalysisUtils.cxx:464 AliMCAnalysisUtils.cxx:465 AliMCAnalysisUtils.cxx:466 AliMCAnalysisUtils.cxx:467 AliMCAnalysisUtils.cxx:468 AliMCAnalysisUtils.cxx:469 AliMCAnalysisUtils.cxx:470 AliMCAnalysisUtils.cxx:471 AliMCAnalysisUtils.cxx:472 AliMCAnalysisUtils.cxx:473 AliMCAnalysisUtils.cxx:474 AliMCAnalysisUtils.cxx:475 AliMCAnalysisUtils.cxx:476 AliMCAnalysisUtils.cxx:477 AliMCAnalysisUtils.cxx:478 AliMCAnalysisUtils.cxx:479 AliMCAnalysisUtils.cxx:480 AliMCAnalysisUtils.cxx:481 AliMCAnalysisUtils.cxx:482 AliMCAnalysisUtils.cxx:483 AliMCAnalysisUtils.cxx:484 AliMCAnalysisUtils.cxx:485 AliMCAnalysisUtils.cxx:486 AliMCAnalysisUtils.cxx:487 AliMCAnalysisUtils.cxx:488 AliMCAnalysisUtils.cxx:489 AliMCAnalysisUtils.cxx:490 AliMCAnalysisUtils.cxx:491 AliMCAnalysisUtils.cxx:492 AliMCAnalysisUtils.cxx:493 AliMCAnalysisUtils.cxx:494 AliMCAnalysisUtils.cxx:495 AliMCAnalysisUtils.cxx:496 AliMCAnalysisUtils.cxx:497 AliMCAnalysisUtils.cxx:498 AliMCAnalysisUtils.cxx:499 AliMCAnalysisUtils.cxx:500 AliMCAnalysisUtils.cxx:501 AliMCAnalysisUtils.cxx:502 AliMCAnalysisUtils.cxx:503 AliMCAnalysisUtils.cxx:504 AliMCAnalysisUtils.cxx:505 AliMCAnalysisUtils.cxx:506 AliMCAnalysisUtils.cxx:507 AliMCAnalysisUtils.cxx:508 AliMCAnalysisUtils.cxx:509 AliMCAnalysisUtils.cxx:510 AliMCAnalysisUtils.cxx:511 AliMCAnalysisUtils.cxx:512 AliMCAnalysisUtils.cxx:513 AliMCAnalysisUtils.cxx:514 AliMCAnalysisUtils.cxx:515 AliMCAnalysisUtils.cxx:516 AliMCAnalysisUtils.cxx:517 AliMCAnalysisUtils.cxx:518 AliMCAnalysisUtils.cxx:519 AliMCAnalysisUtils.cxx:520 AliMCAnalysisUtils.cxx:521 AliMCAnalysisUtils.cxx:522 AliMCAnalysisUtils.cxx:523 AliMCAnalysisUtils.cxx:524 AliMCAnalysisUtils.cxx:525 AliMCAnalysisUtils.cxx:526 AliMCAnalysisUtils.cxx:527 AliMCAnalysisUtils.cxx:528 AliMCAnalysisUtils.cxx:529 AliMCAnalysisUtils.cxx:530 AliMCAnalysisUtils.cxx:531 AliMCAnalysisUtils.cxx:532 AliMCAnalysisUtils.cxx:533 AliMCAnalysisUtils.cxx:534 AliMCAnalysisUtils.cxx:535 AliMCAnalysisUtils.cxx:536 AliMCAnalysisUtils.cxx:537 AliMCAnalysisUtils.cxx:538 AliMCAnalysisUtils.cxx:539 AliMCAnalysisUtils.cxx:540 AliMCAnalysisUtils.cxx:541 AliMCAnalysisUtils.cxx:542 AliMCAnalysisUtils.cxx:543 AliMCAnalysisUtils.cxx:544 AliMCAnalysisUtils.cxx:545 AliMCAnalysisUtils.cxx:546 AliMCAnalysisUtils.cxx:547 AliMCAnalysisUtils.cxx:548 AliMCAnalysisUtils.cxx:549 AliMCAnalysisUtils.cxx:550 AliMCAnalysisUtils.cxx:551 AliMCAnalysisUtils.cxx:552 AliMCAnalysisUtils.cxx:553 AliMCAnalysisUtils.cxx:554 AliMCAnalysisUtils.cxx:555 AliMCAnalysisUtils.cxx:556 AliMCAnalysisUtils.cxx:557 AliMCAnalysisUtils.cxx:558 AliMCAnalysisUtils.cxx:559 AliMCAnalysisUtils.cxx:560 AliMCAnalysisUtils.cxx:561 AliMCAnalysisUtils.cxx:562 AliMCAnalysisUtils.cxx:563 AliMCAnalysisUtils.cxx:564 AliMCAnalysisUtils.cxx:565 AliMCAnalysisUtils.cxx:566 AliMCAnalysisUtils.cxx:567 AliMCAnalysisUtils.cxx:568 AliMCAnalysisUtils.cxx:569 AliMCAnalysisUtils.cxx:570 AliMCAnalysisUtils.cxx:571 AliMCAnalysisUtils.cxx:572 AliMCAnalysisUtils.cxx:573 AliMCAnalysisUtils.cxx:574 AliMCAnalysisUtils.cxx:575 AliMCAnalysisUtils.cxx:576 AliMCAnalysisUtils.cxx:577 AliMCAnalysisUtils.cxx:578 AliMCAnalysisUtils.cxx:579 AliMCAnalysisUtils.cxx:580 AliMCAnalysisUtils.cxx:581 AliMCAnalysisUtils.cxx:582 AliMCAnalysisUtils.cxx:583 AliMCAnalysisUtils.cxx:584 AliMCAnalysisUtils.cxx:585 AliMCAnalysisUtils.cxx:586 AliMCAnalysisUtils.cxx:587 AliMCAnalysisUtils.cxx:588 AliMCAnalysisUtils.cxx:589 AliMCAnalysisUtils.cxx:590 AliMCAnalysisUtils.cxx:591 AliMCAnalysisUtils.cxx:592 AliMCAnalysisUtils.cxx:593 AliMCAnalysisUtils.cxx:594 AliMCAnalysisUtils.cxx:595 AliMCAnalysisUtils.cxx:596 AliMCAnalysisUtils.cxx:597 AliMCAnalysisUtils.cxx:598 AliMCAnalysisUtils.cxx:599 AliMCAnalysisUtils.cxx:600 AliMCAnalysisUtils.cxx:601 AliMCAnalysisUtils.cxx:602 AliMCAnalysisUtils.cxx:603 AliMCAnalysisUtils.cxx:604 AliMCAnalysisUtils.cxx:605 AliMCAnalysisUtils.cxx:606 AliMCAnalysisUtils.cxx:607 AliMCAnalysisUtils.cxx:608 AliMCAnalysisUtils.cxx:609 AliMCAnalysisUtils.cxx:610 AliMCAnalysisUtils.cxx:611 AliMCAnalysisUtils.cxx:612 AliMCAnalysisUtils.cxx:613 AliMCAnalysisUtils.cxx:614 AliMCAnalysisUtils.cxx:615 AliMCAnalysisUtils.cxx:616 AliMCAnalysisUtils.cxx:617 AliMCAnalysisUtils.cxx:618 AliMCAnalysisUtils.cxx:619 AliMCAnalysisUtils.cxx:620 AliMCAnalysisUtils.cxx:621 AliMCAnalysisUtils.cxx:622 AliMCAnalysisUtils.cxx:623 AliMCAnalysisUtils.cxx:624 AliMCAnalysisUtils.cxx:625 AliMCAnalysisUtils.cxx:626 AliMCAnalysisUtils.cxx:627 AliMCAnalysisUtils.cxx:628 AliMCAnalysisUtils.cxx:629 AliMCAnalysisUtils.cxx:630 AliMCAnalysisUtils.cxx:631 AliMCAnalysisUtils.cxx:632 AliMCAnalysisUtils.cxx:633 AliMCAnalysisUtils.cxx:634 AliMCAnalysisUtils.cxx:635 AliMCAnalysisUtils.cxx:636 AliMCAnalysisUtils.cxx:637 AliMCAnalysisUtils.cxx:638 AliMCAnalysisUtils.cxx:639 AliMCAnalysisUtils.cxx:640 AliMCAnalysisUtils.cxx:641 AliMCAnalysisUtils.cxx:642 AliMCAnalysisUtils.cxx:643 AliMCAnalysisUtils.cxx:644 AliMCAnalysisUtils.cxx:645 AliMCAnalysisUtils.cxx:646 AliMCAnalysisUtils.cxx:647 AliMCAnalysisUtils.cxx:648 AliMCAnalysisUtils.cxx:649 AliMCAnalysisUtils.cxx:650 AliMCAnalysisUtils.cxx:651 AliMCAnalysisUtils.cxx:652 AliMCAnalysisUtils.cxx:653 AliMCAnalysisUtils.cxx:654 AliMCAnalysisUtils.cxx:655 AliMCAnalysisUtils.cxx:656 AliMCAnalysisUtils.cxx:657 AliMCAnalysisUtils.cxx:658 AliMCAnalysisUtils.cxx:659 AliMCAnalysisUtils.cxx:660 AliMCAnalysisUtils.cxx:661 AliMCAnalysisUtils.cxx:662 AliMCAnalysisUtils.cxx:663 AliMCAnalysisUtils.cxx:664 AliMCAnalysisUtils.cxx:665 AliMCAnalysisUtils.cxx:666 AliMCAnalysisUtils.cxx:667 AliMCAnalysisUtils.cxx:668 AliMCAnalysisUtils.cxx:669 AliMCAnalysisUtils.cxx:670 AliMCAnalysisUtils.cxx:671 AliMCAnalysisUtils.cxx:672 AliMCAnalysisUtils.cxx:673 AliMCAnalysisUtils.cxx:674 AliMCAnalysisUtils.cxx:675 AliMCAnalysisUtils.cxx:676 AliMCAnalysisUtils.cxx:677 AliMCAnalysisUtils.cxx:678 AliMCAnalysisUtils.cxx:679 AliMCAnalysisUtils.cxx:680 AliMCAnalysisUtils.cxx:681 AliMCAnalysisUtils.cxx:682 AliMCAnalysisUtils.cxx:683 AliMCAnalysisUtils.cxx:684 AliMCAnalysisUtils.cxx:685 AliMCAnalysisUtils.cxx:686 AliMCAnalysisUtils.cxx:687 AliMCAnalysisUtils.cxx:688 AliMCAnalysisUtils.cxx:689 AliMCAnalysisUtils.cxx:690 AliMCAnalysisUtils.cxx:691 AliMCAnalysisUtils.cxx:692 AliMCAnalysisUtils.cxx:693 AliMCAnalysisUtils.cxx:694 AliMCAnalysisUtils.cxx:695 AliMCAnalysisUtils.cxx:696 AliMCAnalysisUtils.cxx:697 AliMCAnalysisUtils.cxx:698 AliMCAnalysisUtils.cxx:699 AliMCAnalysisUtils.cxx:700 AliMCAnalysisUtils.cxx:701 AliMCAnalysisUtils.cxx:702 AliMCAnalysisUtils.cxx:703 AliMCAnalysisUtils.cxx:704 AliMCAnalysisUtils.cxx:705 AliMCAnalysisUtils.cxx:706 AliMCAnalysisUtils.cxx:707 AliMCAnalysisUtils.cxx:708 AliMCAnalysisUtils.cxx:709 AliMCAnalysisUtils.cxx:710 AliMCAnalysisUtils.cxx:711 AliMCAnalysisUtils.cxx:712 AliMCAnalysisUtils.cxx:713 AliMCAnalysisUtils.cxx:714 AliMCAnalysisUtils.cxx:715 AliMCAnalysisUtils.cxx:716 AliMCAnalysisUtils.cxx:717 AliMCAnalysisUtils.cxx:718 AliMCAnalysisUtils.cxx:719 AliMCAnalysisUtils.cxx:720 AliMCAnalysisUtils.cxx:721 AliMCAnalysisUtils.cxx:722 AliMCAnalysisUtils.cxx:723 AliMCAnalysisUtils.cxx:724 AliMCAnalysisUtils.cxx:725 AliMCAnalysisUtils.cxx:726 AliMCAnalysisUtils.cxx:727 AliMCAnalysisUtils.cxx:728 AliMCAnalysisUtils.cxx:729 AliMCAnalysisUtils.cxx:730 AliMCAnalysisUtils.cxx:731 AliMCAnalysisUtils.cxx:732 AliMCAnalysisUtils.cxx:733 AliMCAnalysisUtils.cxx:734 AliMCAnalysisUtils.cxx:735 AliMCAnalysisUtils.cxx:736 AliMCAnalysisUtils.cxx:737 AliMCAnalysisUtils.cxx:738 AliMCAnalysisUtils.cxx:739 AliMCAnalysisUtils.cxx:740 AliMCAnalysisUtils.cxx:741 AliMCAnalysisUtils.cxx:742 AliMCAnalysisUtils.cxx:743 AliMCAnalysisUtils.cxx:744 AliMCAnalysisUtils.cxx:745 AliMCAnalysisUtils.cxx:746 AliMCAnalysisUtils.cxx:747 AliMCAnalysisUtils.cxx:748 AliMCAnalysisUtils.cxx:749 AliMCAnalysisUtils.cxx:750 AliMCAnalysisUtils.cxx:751 AliMCAnalysisUtils.cxx:752 AliMCAnalysisUtils.cxx:753 AliMCAnalysisUtils.cxx:754 AliMCAnalysisUtils.cxx:755 AliMCAnalysisUtils.cxx:756 AliMCAnalysisUtils.cxx:757 AliMCAnalysisUtils.cxx:758 AliMCAnalysisUtils.cxx:759 AliMCAnalysisUtils.cxx:760 AliMCAnalysisUtils.cxx:761 AliMCAnalysisUtils.cxx:762 AliMCAnalysisUtils.cxx:763 AliMCAnalysisUtils.cxx:764 AliMCAnalysisUtils.cxx:765 AliMCAnalysisUtils.cxx:766 AliMCAnalysisUtils.cxx:767 AliMCAnalysisUtils.cxx:768 AliMCAnalysisUtils.cxx:769 AliMCAnalysisUtils.cxx:770 AliMCAnalysisUtils.cxx:771 AliMCAnalysisUtils.cxx:772 AliMCAnalysisUtils.cxx:773 AliMCAnalysisUtils.cxx:774 AliMCAnalysisUtils.cxx:775 AliMCAnalysisUtils.cxx:776 AliMCAnalysisUtils.cxx:777 AliMCAnalysisUtils.cxx:778 AliMCAnalysisUtils.cxx:779 AliMCAnalysisUtils.cxx:780 AliMCAnalysisUtils.cxx:781 AliMCAnalysisUtils.cxx:782 AliMCAnalysisUtils.cxx:783 AliMCAnalysisUtils.cxx:784 AliMCAnalysisUtils.cxx:785 AliMCAnalysisUtils.cxx:786 AliMCAnalysisUtils.cxx:787 AliMCAnalysisUtils.cxx:788 AliMCAnalysisUtils.cxx:789 AliMCAnalysisUtils.cxx:790 AliMCAnalysisUtils.cxx:791 AliMCAnalysisUtils.cxx:792 AliMCAnalysisUtils.cxx:793 AliMCAnalysisUtils.cxx:794 AliMCAnalysisUtils.cxx:795 AliMCAnalysisUtils.cxx:796 AliMCAnalysisUtils.cxx:797 AliMCAnalysisUtils.cxx:798 AliMCAnalysisUtils.cxx:799 AliMCAnalysisUtils.cxx:800 AliMCAnalysisUtils.cxx:801 AliMCAnalysisUtils.cxx:802 AliMCAnalysisUtils.cxx:803 AliMCAnalysisUtils.cxx:804 AliMCAnalysisUtils.cxx:805 AliMCAnalysisUtils.cxx:806 AliMCAnalysisUtils.cxx:807 AliMCAnalysisUtils.cxx:808 AliMCAnalysisUtils.cxx:809 AliMCAnalysisUtils.cxx:810 AliMCAnalysisUtils.cxx:811 AliMCAnalysisUtils.cxx:812 AliMCAnalysisUtils.cxx:813 AliMCAnalysisUtils.cxx:814 AliMCAnalysisUtils.cxx:815 AliMCAnalysisUtils.cxx:816 AliMCAnalysisUtils.cxx:817 AliMCAnalysisUtils.cxx:818 AliMCAnalysisUtils.cxx:819 AliMCAnalysisUtils.cxx:820 AliMCAnalysisUtils.cxx:821 AliMCAnalysisUtils.cxx:822 AliMCAnalysisUtils.cxx:823 AliMCAnalysisUtils.cxx:824 AliMCAnalysisUtils.cxx:825 AliMCAnalysisUtils.cxx:826 AliMCAnalysisUtils.cxx:827 AliMCAnalysisUtils.cxx:828 AliMCAnalysisUtils.cxx:829 AliMCAnalysisUtils.cxx:830 AliMCAnalysisUtils.cxx:831 AliMCAnalysisUtils.cxx:832 AliMCAnalysisUtils.cxx:833 AliMCAnalysisUtils.cxx:834 AliMCAnalysisUtils.cxx:835 AliMCAnalysisUtils.cxx:836 AliMCAnalysisUtils.cxx:837 AliMCAnalysisUtils.cxx:838 AliMCAnalysisUtils.cxx:839 AliMCAnalysisUtils.cxx:840 AliMCAnalysisUtils.cxx:841 AliMCAnalysisUtils.cxx:842 AliMCAnalysisUtils.cxx:843 AliMCAnalysisUtils.cxx:844 AliMCAnalysisUtils.cxx:845 AliMCAnalysisUtils.cxx:846 AliMCAnalysisUtils.cxx:847 AliMCAnalysisUtils.cxx:848 AliMCAnalysisUtils.cxx:849 AliMCAnalysisUtils.cxx:850 AliMCAnalysisUtils.cxx:851 AliMCAnalysisUtils.cxx:852 AliMCAnalysisUtils.cxx:853 AliMCAnalysisUtils.cxx:854 AliMCAnalysisUtils.cxx:855 AliMCAnalysisUtils.cxx:856 AliMCAnalysisUtils.cxx:857 AliMCAnalysisUtils.cxx:858 AliMCAnalysisUtils.cxx:859 AliMCAnalysisUtils.cxx:860 AliMCAnalysisUtils.cxx:861 AliMCAnalysisUtils.cxx:862 AliMCAnalysisUtils.cxx:863 AliMCAnalysisUtils.cxx:864 AliMCAnalysisUtils.cxx:865 AliMCAnalysisUtils.cxx:866 AliMCAnalysisUtils.cxx:867 AliMCAnalysisUtils.cxx:868 AliMCAnalysisUtils.cxx:869 AliMCAnalysisUtils.cxx:870 AliMCAnalysisUtils.cxx:871 AliMCAnalysisUtils.cxx:872 AliMCAnalysisUtils.cxx:873 AliMCAnalysisUtils.cxx:874 AliMCAnalysisUtils.cxx:875 AliMCAnalysisUtils.cxx:876 AliMCAnalysisUtils.cxx:877 AliMCAnalysisUtils.cxx:878 AliMCAnalysisUtils.cxx:879 AliMCAnalysisUtils.cxx:880 AliMCAnalysisUtils.cxx:881 AliMCAnalysisUtils.cxx:882 AliMCAnalysisUtils.cxx:883 AliMCAnalysisUtils.cxx:884 AliMCAnalysisUtils.cxx:885 AliMCAnalysisUtils.cxx:886 AliMCAnalysisUtils.cxx:887 AliMCAnalysisUtils.cxx:888 AliMCAnalysisUtils.cxx:889 AliMCAnalysisUtils.cxx:890 AliMCAnalysisUtils.cxx:891 AliMCAnalysisUtils.cxx:892 AliMCAnalysisUtils.cxx:893 AliMCAnalysisUtils.cxx:894 AliMCAnalysisUtils.cxx:895 AliMCAnalysisUtils.cxx:896 AliMCAnalysisUtils.cxx:897 AliMCAnalysisUtils.cxx:898 AliMCAnalysisUtils.cxx:899 AliMCAnalysisUtils.cxx:900 AliMCAnalysisUtils.cxx:901 AliMCAnalysisUtils.cxx:902 AliMCAnalysisUtils.cxx:903 AliMCAnalysisUtils.cxx:904 AliMCAnalysisUtils.cxx:905 AliMCAnalysisUtils.cxx:906 AliMCAnalysisUtils.cxx:907 AliMCAnalysisUtils.cxx:908 AliMCAnalysisUtils.cxx:909 AliMCAnalysisUtils.cxx:910 AliMCAnalysisUtils.cxx:911 AliMCAnalysisUtils.cxx:912 AliMCAnalysisUtils.cxx:913 AliMCAnalysisUtils.cxx:914 AliMCAnalysisUtils.cxx:915 AliMCAnalysisUtils.cxx:916 AliMCAnalysisUtils.cxx:917 AliMCAnalysisUtils.cxx:918 AliMCAnalysisUtils.cxx:919 AliMCAnalysisUtils.cxx:920 AliMCAnalysisUtils.cxx:921 AliMCAnalysisUtils.cxx:922 AliMCAnalysisUtils.cxx:923 AliMCAnalysisUtils.cxx:924 AliMCAnalysisUtils.cxx:925 AliMCAnalysisUtils.cxx:926 AliMCAnalysisUtils.cxx:927 AliMCAnalysisUtils.cxx:928 AliMCAnalysisUtils.cxx:929 AliMCAnalysisUtils.cxx:930 AliMCAnalysisUtils.cxx:931 AliMCAnalysisUtils.cxx:932 AliMCAnalysisUtils.cxx:933 AliMCAnalysisUtils.cxx:934 AliMCAnalysisUtils.cxx:935 AliMCAnalysisUtils.cxx:936 AliMCAnalysisUtils.cxx:937 AliMCAnalysisUtils.cxx:938 AliMCAnalysisUtils.cxx:939 AliMCAnalysisUtils.cxx:940 AliMCAnalysisUtils.cxx:941 AliMCAnalysisUtils.cxx:942 AliMCAnalysisUtils.cxx:943 AliMCAnalysisUtils.cxx:944 AliMCAnalysisUtils.cxx:945 AliMCAnalysisUtils.cxx:946 AliMCAnalysisUtils.cxx:947 AliMCAnalysisUtils.cxx:948 AliMCAnalysisUtils.cxx:949 AliMCAnalysisUtils.cxx:950 AliMCAnalysisUtils.cxx:951 AliMCAnalysisUtils.cxx:952 AliMCAnalysisUtils.cxx:953 AliMCAnalysisUtils.cxx:954 AliMCAnalysisUtils.cxx:955 AliMCAnalysisUtils.cxx:956 AliMCAnalysisUtils.cxx:957 AliMCAnalysisUtils.cxx:958 AliMCAnalysisUtils.cxx:959 AliMCAnalysisUtils.cxx:960 AliMCAnalysisUtils.cxx:961 AliMCAnalysisUtils.cxx:962 AliMCAnalysisUtils.cxx:963 AliMCAnalysisUtils.cxx:964 AliMCAnalysisUtils.cxx:965 AliMCAnalysisUtils.cxx:966 AliMCAnalysisUtils.cxx:967 AliMCAnalysisUtils.cxx:968 AliMCAnalysisUtils.cxx:969 AliMCAnalysisUtils.cxx:970 AliMCAnalysisUtils.cxx:971 AliMCAnalysisUtils.cxx:972 AliMCAnalysisUtils.cxx:973 AliMCAnalysisUtils.cxx:974 AliMCAnalysisUtils.cxx:975 AliMCAnalysisUtils.cxx:976 AliMCAnalysisUtils.cxx:977 AliMCAnalysisUtils.cxx:978 AliMCAnalysisUtils.cxx:979 AliMCAnalysisUtils.cxx:980 AliMCAnalysisUtils.cxx:981 AliMCAnalysisUtils.cxx:982 AliMCAnalysisUtils.cxx:983 AliMCAnalysisUtils.cxx:984 AliMCAnalysisUtils.cxx:985 AliMCAnalysisUtils.cxx:986 AliMCAnalysisUtils.cxx:987 AliMCAnalysisUtils.cxx:988 AliMCAnalysisUtils.cxx:989 AliMCAnalysisUtils.cxx:990 AliMCAnalysisUtils.cxx:991 AliMCAnalysisUtils.cxx:992 AliMCAnalysisUtils.cxx:993 AliMCAnalysisUtils.cxx:994 AliMCAnalysisUtils.cxx:995 AliMCAnalysisUtils.cxx:996 AliMCAnalysisUtils.cxx:997 AliMCAnalysisUtils.cxx:998 AliMCAnalysisUtils.cxx:999 AliMCAnalysisUtils.cxx:1000 AliMCAnalysisUtils.cxx:1001 AliMCAnalysisUtils.cxx:1002 AliMCAnalysisUtils.cxx:1003 AliMCAnalysisUtils.cxx:1004 AliMCAnalysisUtils.cxx:1005 AliMCAnalysisUtils.cxx:1006 AliMCAnalysisUtils.cxx:1007 AliMCAnalysisUtils.cxx:1008 AliMCAnalysisUtils.cxx:1009 AliMCAnalysisUtils.cxx:1010 AliMCAnalysisUtils.cxx:1011 AliMCAnalysisUtils.cxx:1012 AliMCAnalysisUtils.cxx:1013 AliMCAnalysisUtils.cxx:1014 AliMCAnalysisUtils.cxx:1015 AliMCAnalysisUtils.cxx:1016 AliMCAnalysisUtils.cxx:1017 AliMCAnalysisUtils.cxx:1018 AliMCAnalysisUtils.cxx:1019 AliMCAnalysisUtils.cxx:1020 AliMCAnalysisUtils.cxx:1021 AliMCAnalysisUtils.cxx:1022 AliMCAnalysisUtils.cxx:1023 AliMCAnalysisUtils.cxx:1024 AliMCAnalysisUtils.cxx:1025 AliMCAnalysisUtils.cxx:1026 AliMCAnalysisUtils.cxx:1027 AliMCAnalysisUtils.cxx:1028 AliMCAnalysisUtils.cxx:1029 AliMCAnalysisUtils.cxx:1030 AliMCAnalysisUtils.cxx:1031 AliMCAnalysisUtils.cxx:1032 AliMCAnalysisUtils.cxx:1033 AliMCAnalysisUtils.cxx:1034 AliMCAnalysisUtils.cxx:1035 AliMCAnalysisUtils.cxx:1036 AliMCAnalysisUtils.cxx:1037 AliMCAnalysisUtils.cxx:1038 AliMCAnalysisUtils.cxx:1039 AliMCAnalysisUtils.cxx:1040 AliMCAnalysisUtils.cxx:1041 AliMCAnalysisUtils.cxx:1042 AliMCAnalysisUtils.cxx:1043 AliMCAnalysisUtils.cxx:1044 AliMCAnalysisUtils.cxx:1045 AliMCAnalysisUtils.cxx:1046 AliMCAnalysisUtils.cxx:1047 AliMCAnalysisUtils.cxx:1048 AliMCAnalysisUtils.cxx:1049 AliMCAnalysisUtils.cxx:1050 AliMCAnalysisUtils.cxx:1051 AliMCAnalysisUtils.cxx:1052 AliMCAnalysisUtils.cxx:1053 AliMCAnalysisUtils.cxx:1054 AliMCAnalysisUtils.cxx:1055 AliMCAnalysisUtils.cxx:1056 AliMCAnalysisUtils.cxx:1057 AliMCAnalysisUtils.cxx:1058 AliMCAnalysisUtils.cxx:1059 AliMCAnalysisUtils.cxx:1060 AliMCAnalysisUtils.cxx:1061 AliMCAnalysisUtils.cxx:1062 AliMCAnalysisUtils.cxx:1063 AliMCAnalysisUtils.cxx:1064 AliMCAnalysisUtils.cxx:1065 AliMCAnalysisUtils.cxx:1066 AliMCAnalysisUtils.cxx:1067 AliMCAnalysisUtils.cxx:1068 AliMCAnalysisUtils.cxx:1069 AliMCAnalysisUtils.cxx:1070 AliMCAnalysisUtils.cxx:1071 AliMCAnalysisUtils.cxx:1072 AliMCAnalysisUtils.cxx:1073 AliMCAnalysisUtils.cxx:1074 AliMCAnalysisUtils.cxx:1075 AliMCAnalysisUtils.cxx:1076 AliMCAnalysisUtils.cxx:1077 AliMCAnalysisUtils.cxx:1078 AliMCAnalysisUtils.cxx:1079 AliMCAnalysisUtils.cxx:1080 AliMCAnalysisUtils.cxx:1081 AliMCAnalysisUtils.cxx:1082 AliMCAnalysisUtils.cxx:1083 AliMCAnalysisUtils.cxx:1084 AliMCAnalysisUtils.cxx:1085 AliMCAnalysisUtils.cxx:1086 AliMCAnalysisUtils.cxx:1087 AliMCAnalysisUtils.cxx:1088 AliMCAnalysisUtils.cxx:1089 AliMCAnalysisUtils.cxx:1090 AliMCAnalysisUtils.cxx:1091 AliMCAnalysisUtils.cxx:1092 AliMCAnalysisUtils.cxx:1093 AliMCAnalysisUtils.cxx:1094 AliMCAnalysisUtils.cxx:1095 AliMCAnalysisUtils.cxx:1096 AliMCAnalysisUtils.cxx:1097 AliMCAnalysisUtils.cxx:1098 AliMCAnalysisUtils.cxx:1099 AliMCAnalysisUtils.cxx:1100 AliMCAnalysisUtils.cxx:1101 AliMCAnalysisUtils.cxx:1102 AliMCAnalysisUtils.cxx:1103 AliMCAnalysisUtils.cxx:1104 AliMCAnalysisUtils.cxx:1105 AliMCAnalysisUtils.cxx:1106 AliMCAnalysisUtils.cxx:1107 AliMCAnalysisUtils.cxx:1108 AliMCAnalysisUtils.cxx:1109 AliMCAnalysisUtils.cxx:1110 AliMCAnalysisUtils.cxx:1111 AliMCAnalysisUtils.cxx:1112 AliMCAnalysisUtils.cxx:1113 AliMCAnalysisUtils.cxx:1114 AliMCAnalysisUtils.cxx:1115 AliMCAnalysisUtils.cxx:1116 AliMCAnalysisUtils.cxx:1117 AliMCAnalysisUtils.cxx:1118 AliMCAnalysisUtils.cxx:1119 AliMCAnalysisUtils.cxx:1120 AliMCAnalysisUtils.cxx:1121 AliMCAnalysisUtils.cxx:1122 AliMCAnalysisUtils.cxx:1123 AliMCAnalysisUtils.cxx:1124 AliMCAnalysisUtils.cxx:1125 AliMCAnalysisUtils.cxx:1126 AliMCAnalysisUtils.cxx:1127 AliMCAnalysisUtils.cxx:1128 AliMCAnalysisUtils.cxx:1129 AliMCAnalysisUtils.cxx:1130 AliMCAnalysisUtils.cxx:1131 AliMCAnalysisUtils.cxx:1132 AliMCAnalysisUtils.cxx:1133 AliMCAnalysisUtils.cxx:1134 AliMCAnalysisUtils.cxx:1135 AliMCAnalysisUtils.cxx:1136 AliMCAnalysisUtils.cxx:1137 AliMCAnalysisUtils.cxx:1138 AliMCAnalysisUtils.cxx:1139 AliMCAnalysisUtils.cxx:1140 AliMCAnalysisUtils.cxx:1141 AliMCAnalysisUtils.cxx:1142 AliMCAnalysisUtils.cxx:1143 AliMCAnalysisUtils.cxx:1144 AliMCAnalysisUtils.cxx:1145 AliMCAnalysisUtils.cxx:1146 AliMCAnalysisUtils.cxx:1147 AliMCAnalysisUtils.cxx:1148 AliMCAnalysisUtils.cxx:1149 AliMCAnalysisUtils.cxx:1150 AliMCAnalysisUtils.cxx:1151 AliMCAnalysisUtils.cxx:1152 AliMCAnalysisUtils.cxx:1153 AliMCAnalysisUtils.cxx:1154 AliMCAnalysisUtils.cxx:1155 AliMCAnalysisUtils.cxx:1156 AliMCAnalysisUtils.cxx:1157 AliMCAnalysisUtils.cxx:1158 AliMCAnalysisUtils.cxx:1159 AliMCAnalysisUtils.cxx:1160 AliMCAnalysisUtils.cxx:1161 AliMCAnalysisUtils.cxx:1162 AliMCAnalysisUtils.cxx:1163 AliMCAnalysisUtils.cxx:1164 AliMCAnalysisUtils.cxx:1165 AliMCAnalysisUtils.cxx:1166 AliMCAnalysisUtils.cxx:1167 AliMCAnalysisUtils.cxx:1168 AliMCAnalysisUtils.cxx:1169 AliMCAnalysisUtils.cxx:1170 AliMCAnalysisUtils.cxx:1171 AliMCAnalysisUtils.cxx:1172 AliMCAnalysisUtils.cxx:1173 AliMCAnalysisUtils.cxx:1174 AliMCAnalysisUtils.cxx:1175 AliMCAnalysisUtils.cxx:1176 AliMCAnalysisUtils.cxx:1177 AliMCAnalysisUtils.cxx:1178 AliMCAnalysisUtils.cxx:1179 AliMCAnalysisUtils.cxx:1180 AliMCAnalysisUtils.cxx:1181 AliMCAnalysisUtils.cxx:1182 AliMCAnalysisUtils.cxx:1183 AliMCAnalysisUtils.cxx:1184 AliMCAnalysisUtils.cxx:1185 AliMCAnalysisUtils.cxx:1186 AliMCAnalysisUtils.cxx:1187 AliMCAnalysisUtils.cxx:1188 AliMCAnalysisUtils.cxx:1189 AliMCAnalysisUtils.cxx:1190 AliMCAnalysisUtils.cxx:1191 AliMCAnalysisUtils.cxx:1192 AliMCAnalysisUtils.cxx:1193 AliMCAnalysisUtils.cxx:1194 AliMCAnalysisUtils.cxx:1195 AliMCAnalysisUtils.cxx:1196 AliMCAnalysisUtils.cxx:1197 AliMCAnalysisUtils.cxx:1198 AliMCAnalysisUtils.cxx:1199 AliMCAnalysisUtils.cxx:1200 AliMCAnalysisUtils.cxx:1201 AliMCAnalysisUtils.cxx:1202 AliMCAnalysisUtils.cxx:1203 AliMCAnalysisUtils.cxx:1204 AliMCAnalysisUtils.cxx:1205 AliMCAnalysisUtils.cxx:1206 AliMCAnalysisUtils.cxx:1207 AliMCAnalysisUtils.cxx:1208 AliMCAnalysisUtils.cxx:1209 AliMCAnalysisUtils.cxx:1210 AliMCAnalysisUtils.cxx:1211 AliMCAnalysisUtils.cxx:1212 AliMCAnalysisUtils.cxx:1213 AliMCAnalysisUtils.cxx:1214 AliMCAnalysisUtils.cxx:1215 AliMCAnalysisUtils.cxx:1216 AliMCAnalysisUtils.cxx:1217 AliMCAnalysisUtils.cxx:1218 AliMCAnalysisUtils.cxx:1219 AliMCAnalysisUtils.cxx:1220 AliMCAnalysisUtils.cxx:1221 AliMCAnalysisUtils.cxx:1222 AliMCAnalysisUtils.cxx:1223 AliMCAnalysisUtils.cxx:1224 AliMCAnalysisUtils.cxx:1225 AliMCAnalysisUtils.cxx:1226 AliMCAnalysisUtils.cxx:1227 AliMCAnalysisUtils.cxx:1228 AliMCAnalysisUtils.cxx:1229 AliMCAnalysisUtils.cxx:1230 AliMCAnalysisUtils.cxx:1231 AliMCAnalysisUtils.cxx:1232 AliMCAnalysisUtils.cxx:1233 AliMCAnalysisUtils.cxx:1234 AliMCAnalysisUtils.cxx:1235 AliMCAnalysisUtils.cxx:1236 AliMCAnalysisUtils.cxx:1237 AliMCAnalysisUtils.cxx:1238 AliMCAnalysisUtils.cxx:1239 AliMCAnalysisUtils.cxx:1240 AliMCAnalysisUtils.cxx:1241 AliMCAnalysisUtils.cxx:1242 AliMCAnalysisUtils.cxx:1243 AliMCAnalysisUtils.cxx:1244 AliMCAnalysisUtils.cxx:1245 AliMCAnalysisUtils.cxx:1246 AliMCAnalysisUtils.cxx:1247 AliMCAnalysisUtils.cxx:1248 AliMCAnalysisUtils.cxx:1249 AliMCAnalysisUtils.cxx:1250 AliMCAnalysisUtils.cxx:1251 AliMCAnalysisUtils.cxx:1252 AliMCAnalysisUtils.cxx:1253 AliMCAnalysisUtils.cxx:1254 AliMCAnalysisUtils.cxx:1255 AliMCAnalysisUtils.cxx:1256 AliMCAnalysisUtils.cxx:1257 AliMCAnalysisUtils.cxx:1258 AliMCAnalysisUtils.cxx:1259 AliMCAnalysisUtils.cxx:1260 AliMCAnalysisUtils.cxx:1261 AliMCAnalysisUtils.cxx:1262 AliMCAnalysisUtils.cxx:1263 AliMCAnalysisUtils.cxx:1264 AliMCAnalysisUtils.cxx:1265 AliMCAnalysisUtils.cxx:1266 AliMCAnalysisUtils.cxx:1267 AliMCAnalysisUtils.cxx:1268 AliMCAnalysisUtils.cxx:1269 AliMCAnalysisUtils.cxx:1270 AliMCAnalysisUtils.cxx:1271 AliMCAnalysisUtils.cxx:1272 AliMCAnalysisUtils.cxx:1273 AliMCAnalysisUtils.cxx:1274 AliMCAnalysisUtils.cxx:1275 AliMCAnalysisUtils.cxx:1276 AliMCAnalysisUtils.cxx:1277 AliMCAnalysisUtils.cxx:1278 AliMCAnalysisUtils.cxx:1279 AliMCAnalysisUtils.cxx:1280 AliMCAnalysisUtils.cxx:1281 AliMCAnalysisUtils.cxx:1282 AliMCAnalysisUtils.cxx:1283 AliMCAnalysisUtils.cxx:1284 AliMCAnalysisUtils.cxx:1285 AliMCAnalysisUtils.cxx:1286 AliMCAnalysisUtils.cxx:1287 AliMCAnalysisUtils.cxx:1288 AliMCAnalysisUtils.cxx:1289 AliMCAnalysisUtils.cxx:1290 AliMCAnalysisUtils.cxx:1291 AliMCAnalysisUtils.cxx:1292 AliMCAnalysisUtils.cxx:1293 AliMCAnalysisUtils.cxx:1294 AliMCAnalysisUtils.cxx:1295 AliMCAnalysisUtils.cxx:1296 AliMCAnalysisUtils.cxx:1297 AliMCAnalysisUtils.cxx:1298 AliMCAnalysisUtils.cxx:1299 AliMCAnalysisUtils.cxx:1300 AliMCAnalysisUtils.cxx:1301 AliMCAnalysisUtils.cxx:1302 AliMCAnalysisUtils.cxx:1303 AliMCAnalysisUtils.cxx:1304 AliMCAnalysisUtils.cxx:1305 AliMCAnalysisUtils.cxx:1306 AliMCAnalysisUtils.cxx:1307 AliMCAnalysisUtils.cxx:1308 AliMCAnalysisUtils.cxx:1309 AliMCAnalysisUtils.cxx:1310 AliMCAnalysisUtils.cxx:1311 AliMCAnalysisUtils.cxx:1312 AliMCAnalysisUtils.cxx:1313 AliMCAnalysisUtils.cxx:1314 AliMCAnalysisUtils.cxx:1315 AliMCAnalysisUtils.cxx:1316 AliMCAnalysisUtils.cxx:1317 AliMCAnalysisUtils.cxx:1318 AliMCAnalysisUtils.cxx:1319 AliMCAnalysisUtils.cxx:1320 AliMCAnalysisUtils.cxx:1321 AliMCAnalysisUtils.cxx:1322 AliMCAnalysisUtils.cxx:1323 AliMCAnalysisUtils.cxx:1324 AliMCAnalysisUtils.cxx:1325 AliMCAnalysisUtils.cxx:1326 AliMCAnalysisUtils.cxx:1327 AliMCAnalysisUtils.cxx:1328 AliMCAnalysisUtils.cxx:1329 AliMCAnalysisUtils.cxx:1330 AliMCAnalysisUtils.cxx:1331 AliMCAnalysisUtils.cxx:1332 AliMCAnalysisUtils.cxx:1333 AliMCAnalysisUtils.cxx:1334 AliMCAnalysisUtils.cxx:1335 AliMCAnalysisUtils.cxx:1336 AliMCAnalysisUtils.cxx:1337 AliMCAnalysisUtils.cxx:1338 AliMCAnalysisUtils.cxx:1339 AliMCAnalysisUtils.cxx:1340 AliMCAnalysisUtils.cxx:1341 AliMCAnalysisUtils.cxx:1342 AliMCAnalysisUtils.cxx:1343 AliMCAnalysisUtils.cxx:1344 AliMCAnalysisUtils.cxx:1345 AliMCAnalysisUtils.cxx:1346 AliMCAnalysisUtils.cxx:1347 AliMCAnalysisUtils.cxx:1348 AliMCAnalysisUtils.cxx:1349 AliMCAnalysisUtils.cxx:1350 AliMCAnalysisUtils.cxx:1351 AliMCAnalysisUtils.cxx:1352 AliMCAnalysisUtils.cxx:1353 AliMCAnalysisUtils.cxx:1354 AliMCAnalysisUtils.cxx:1355 AliMCAnalysisUtils.cxx:1356 AliMCAnalysisUtils.cxx:1357 AliMCAnalysisUtils.cxx:1358 AliMCAnalysisUtils.cxx:1359 AliMCAnalysisUtils.cxx:1360 AliMCAnalysisUtils.cxx:1361 AliMCAnalysisUtils.cxx:1362 AliMCAnalysisUtils.cxx:1363 AliMCAnalysisUtils.cxx:1364 AliMCAnalysisUtils.cxx:1365 AliMCAnalysisUtils.cxx:1366 AliMCAnalysisUtils.cxx:1367 AliMCAnalysisUtils.cxx:1368 AliMCAnalysisUtils.cxx:1369 AliMCAnalysisUtils.cxx:1370 AliMCAnalysisUtils.cxx:1371 AliMCAnalysisUtils.cxx:1372 AliMCAnalysisUtils.cxx:1373 AliMCAnalysisUtils.cxx:1374 AliMCAnalysisUtils.cxx:1375 AliMCAnalysisUtils.cxx:1376 AliMCAnalysisUtils.cxx:1377 AliMCAnalysisUtils.cxx:1378 AliMCAnalysisUtils.cxx:1379 AliMCAnalysisUtils.cxx:1380 AliMCAnalysisUtils.cxx:1381 AliMCAnalysisUtils.cxx:1382 AliMCAnalysisUtils.cxx:1383 AliMCAnalysisUtils.cxx:1384 AliMCAnalysisUtils.cxx:1385 AliMCAnalysisUtils.cxx:1386 AliMCAnalysisUtils.cxx:1387 AliMCAnalysisUtils.cxx:1388 AliMCAnalysisUtils.cxx:1389 AliMCAnalysisUtils.cxx:1390 AliMCAnalysisUtils.cxx:1391 AliMCAnalysisUtils.cxx:1392 AliMCAnalysisUtils.cxx:1393 AliMCAnalysisUtils.cxx:1394 AliMCAnalysisUtils.cxx:1395 AliMCAnalysisUtils.cxx:1396 AliMCAnalysisUtils.cxx:1397 AliMCAnalysisUtils.cxx:1398 AliMCAnalysisUtils.cxx:1399 AliMCAnalysisUtils.cxx:1400 AliMCAnalysisUtils.cxx:1401 AliMCAnalysisUtils.cxx:1402 AliMCAnalysisUtils.cxx:1403 AliMCAnalysisUtils.cxx:1404 AliMCAnalysisUtils.cxx:1405 AliMCAnalysisUtils.cxx:1406 AliMCAnalysisUtils.cxx:1407 AliMCAnalysisUtils.cxx:1408 AliMCAnalysisUtils.cxx:1409 AliMCAnalysisUtils.cxx:1410 AliMCAnalysisUtils.cxx:1411 AliMCAnalysisUtils.cxx:1412 AliMCAnalysisUtils.cxx:1413 AliMCAnalysisUtils.cxx:1414 AliMCAnalysisUtils.cxx:1415 AliMCAnalysisUtils.cxx:1416 AliMCAnalysisUtils.cxx:1417 AliMCAnalysisUtils.cxx:1418 AliMCAnalysisUtils.cxx:1419 AliMCAnalysisUtils.cxx:1420 AliMCAnalysisUtils.cxx:1421 AliMCAnalysisUtils.cxx:1422 AliMCAnalysisUtils.cxx:1423 AliMCAnalysisUtils.cxx:1424 AliMCAnalysisUtils.cxx:1425 AliMCAnalysisUtils.cxx:1426 AliMCAnalysisUtils.cxx:1427 AliMCAnalysisUtils.cxx:1428 AliMCAnalysisUtils.cxx:1429 AliMCAnalysisUtils.cxx:1430 AliMCAnalysisUtils.cxx:1431 AliMCAnalysisUtils.cxx:1432 AliMCAnalysisUtils.cxx:1433 AliMCAnalysisUtils.cxx:1434 AliMCAnalysisUtils.cxx:1435 AliMCAnalysisUtils.cxx:1436 AliMCAnalysisUtils.cxx:1437 AliMCAnalysisUtils.cxx:1438 AliMCAnalysisUtils.cxx:1439 AliMCAnalysisUtils.cxx:1440 AliMCAnalysisUtils.cxx:1441 AliMCAnalysisUtils.cxx:1442 AliMCAnalysisUtils.cxx:1443 AliMCAnalysisUtils.cxx:1444 AliMCAnalysisUtils.cxx:1445 AliMCAnalysisUtils.cxx:1446 AliMCAnalysisUtils.cxx:1447 AliMCAnalysisUtils.cxx:1448 AliMCAnalysisUtils.cxx:1449 AliMCAnalysisUtils.cxx:1450 AliMCAnalysisUtils.cxx:1451 AliMCAnalysisUtils.cxx:1452 AliMCAnalysisUtils.cxx:1453 AliMCAnalysisUtils.cxx:1454 AliMCAnalysisUtils.cxx:1455 AliMCAnalysisUtils.cxx:1456 AliMCAnalysisUtils.cxx:1457 AliMCAnalysisUtils.cxx:1458 AliMCAnalysisUtils.cxx:1459 AliMCAnalysisUtils.cxx:1460 AliMCAnalysisUtils.cxx:1461 AliMCAnalysisUtils.cxx:1462 AliMCAnalysisUtils.cxx:1463 AliMCAnalysisUtils.cxx:1464 AliMCAnalysisUtils.cxx:1465 AliMCAnalysisUtils.cxx:1466 AliMCAnalysisUtils.cxx:1467 AliMCAnalysisUtils.cxx:1468 AliMCAnalysisUtils.cxx:1469 AliMCAnalysisUtils.cxx:1470 AliMCAnalysisUtils.cxx:1471 AliMCAnalysisUtils.cxx:1472 AliMCAnalysisUtils.cxx:1473 AliMCAnalysisUtils.cxx:1474 AliMCAnalysisUtils.cxx:1475 AliMCAnalysisUtils.cxx:1476 AliMCAnalysisUtils.cxx:1477 AliMCAnalysisUtils.cxx:1478 AliMCAnalysisUtils.cxx:1479 AliMCAnalysisUtils.cxx:1480 AliMCAnalysisUtils.cxx:1481 AliMCAnalysisUtils.cxx:1482 AliMCAnalysisUtils.cxx:1483 AliMCAnalysisUtils.cxx:1484 AliMCAnalysisUtils.cxx:1485 AliMCAnalysisUtils.cxx:1486 AliMCAnalysisUtils.cxx:1487 AliMCAnalysisUtils.cxx:1488 AliMCAnalysisUtils.cxx:1489 AliMCAnalysisUtils.cxx:1490 AliMCAnalysisUtils.cxx:1491 AliMCAnalysisUtils.cxx:1492 AliMCAnalysisUtils.cxx:1493 AliMCAnalysisUtils.cxx:1494 AliMCAnalysisUtils.cxx:1495 AliMCAnalysisUtils.cxx:1496 AliMCAnalysisUtils.cxx:1497 AliMCAnalysisUtils.cxx:1498 AliMCAnalysisUtils.cxx:1499 AliMCAnalysisUtils.cxx:1500 AliMCAnalysisUtils.cxx:1501 AliMCAnalysisUtils.cxx:1502 AliMCAnalysisUtils.cxx:1503 AliMCAnalysisUtils.cxx:1504 AliMCAnalysisUtils.cxx:1505 AliMCAnalysisUtils.cxx:1506 AliMCAnalysisUtils.cxx:1507 AliMCAnalysisUtils.cxx:1508 AliMCAnalysisUtils.cxx:1509 AliMCAnalysisUtils.cxx:1510 AliMCAnalysisUtils.cxx:1511 AliMCAnalysisUtils.cxx:1512 AliMCAnalysisUtils.cxx:1513 AliMCAnalysisUtils.cxx:1514 AliMCAnalysisUtils.cxx:1515 AliMCAnalysisUtils.cxx:1516 AliMCAnalysisUtils.cxx:1517 AliMCAnalysisUtils.cxx:1518 AliMCAnalysisUtils.cxx:1519 AliMCAnalysisUtils.cxx:1520 AliMCAnalysisUtils.cxx:1521 AliMCAnalysisUtils.cxx:1522 AliMCAnalysisUtils.cxx:1523 AliMCAnalysisUtils.cxx:1524 AliMCAnalysisUtils.cxx:1525 AliMCAnalysisUtils.cxx:1526 AliMCAnalysisUtils.cxx:1527 AliMCAnalysisUtils.cxx:1528 AliMCAnalysisUtils.cxx:1529 AliMCAnalysisUtils.cxx:1530 AliMCAnalysisUtils.cxx:1531 AliMCAnalysisUtils.cxx:1532 AliMCAnalysisUtils.cxx:1533 AliMCAnalysisUtils.cxx:1534 AliMCAnalysisUtils.cxx:1535 AliMCAnalysisUtils.cxx:1536 AliMCAnalysisUtils.cxx:1537 AliMCAnalysisUtils.cxx:1538 AliMCAnalysisUtils.cxx:1539 AliMCAnalysisUtils.cxx:1540 AliMCAnalysisUtils.cxx:1541 AliMCAnalysisUtils.cxx:1542 AliMCAnalysisUtils.cxx:1543 AliMCAnalysisUtils.cxx:1544 AliMCAnalysisUtils.cxx:1545 AliMCAnalysisUtils.cxx:1546 AliMCAnalysisUtils.cxx:1547 AliMCAnalysisUtils.cxx:1548 AliMCAnalysisUtils.cxx:1549 AliMCAnalysisUtils.cxx:1550 AliMCAnalysisUtils.cxx:1551 AliMCAnalysisUtils.cxx:1552 AliMCAnalysisUtils.cxx:1553 AliMCAnalysisUtils.cxx:1554 AliMCAnalysisUtils.cxx:1555 AliMCAnalysisUtils.cxx:1556 AliMCAnalysisUtils.cxx:1557 AliMCAnalysisUtils.cxx:1558 AliMCAnalysisUtils.cxx:1559 AliMCAnalysisUtils.cxx:1560 AliMCAnalysisUtils.cxx:1561 AliMCAnalysisUtils.cxx:1562 AliMCAnalysisUtils.cxx:1563 AliMCAnalysisUtils.cxx:1564 AliMCAnalysisUtils.cxx:1565 AliMCAnalysisUtils.cxx:1566 AliMCAnalysisUtils.cxx:1567 AliMCAnalysisUtils.cxx:1568 AliMCAnalysisUtils.cxx:1569 AliMCAnalysisUtils.cxx:1570 AliMCAnalysisUtils.cxx:1571 AliMCAnalysisUtils.cxx:1572 AliMCAnalysisUtils.cxx:1573 AliMCAnalysisUtils.cxx:1574 AliMCAnalysisUtils.cxx:1575 AliMCAnalysisUtils.cxx:1576 AliMCAnalysisUtils.cxx:1577 AliMCAnalysisUtils.cxx:1578 AliMCAnalysisUtils.cxx:1579 AliMCAnalysisUtils.cxx:1580 AliMCAnalysisUtils.cxx:1581 AliMCAnalysisUtils.cxx:1582 AliMCAnalysisUtils.cxx:1583 AliMCAnalysisUtils.cxx:1584 AliMCAnalysisUtils.cxx:1585 AliMCAnalysisUtils.cxx:1586 AliMCAnalysisUtils.cxx:1587 AliMCAnalysisUtils.cxx:1588 AliMCAnalysisUtils.cxx:1589 AliMCAnalysisUtils.cxx:1590 AliMCAnalysisUtils.cxx:1591 AliMCAnalysisUtils.cxx:1592 AliMCAnalysisUtils.cxx:1593 AliMCAnalysisUtils.cxx:1594 AliMCAnalysisUtils.cxx:1595 AliMCAnalysisUtils.cxx:1596 AliMCAnalysisUtils.cxx:1597 AliMCAnalysisUtils.cxx:1598 AliMCAnalysisUtils.cxx:1599 AliMCAnalysisUtils.cxx:1600 AliMCAnalysisUtils.cxx:1601 AliMCAnalysisUtils.cxx:1602 AliMCAnalysisUtils.cxx:1603 AliMCAnalysisUtils.cxx:1604 AliMCAnalysisUtils.cxx:1605 AliMCAnalysisUtils.cxx:1606 AliMCAnalysisUtils.cxx:1607 AliMCAnalysisUtils.cxx:1608 AliMCAnalysisUtils.cxx:1609 AliMCAnalysisUtils.cxx:1610 AliMCAnalysisUtils.cxx:1611 AliMCAnalysisUtils.cxx:1612 AliMCAnalysisUtils.cxx:1613 AliMCAnalysisUtils.cxx:1614 AliMCAnalysisUtils.cxx:1615 AliMCAnalysisUtils.cxx:1616 AliMCAnalysisUtils.cxx:1617 AliMCAnalysisUtils.cxx:1618 AliMCAnalysisUtils.cxx:1619 AliMCAnalysisUtils.cxx:1620 AliMCAnalysisUtils.cxx:1621 AliMCAnalysisUtils.cxx:1622 AliMCAnalysisUtils.cxx:1623 AliMCAnalysisUtils.cxx:1624 AliMCAnalysisUtils.cxx:1625 AliMCAnalysisUtils.cxx:1626 AliMCAnalysisUtils.cxx:1627 AliMCAnalysisUtils.cxx:1628 AliMCAnalysisUtils.cxx:1629 AliMCAnalysisUtils.cxx:1630 AliMCAnalysisUtils.cxx:1631 AliMCAnalysisUtils.cxx:1632 AliMCAnalysisUtils.cxx:1633 AliMCAnalysisUtils.cxx:1634 AliMCAnalysisUtils.cxx:1635 AliMCAnalysisUtils.cxx:1636 AliMCAnalysisUtils.cxx:1637 AliMCAnalysisUtils.cxx:1638 AliMCAnalysisUtils.cxx:1639 AliMCAnalysisUtils.cxx:1640 AliMCAnalysisUtils.cxx:1641 AliMCAnalysisUtils.cxx:1642 AliMCAnalysisUtils.cxx:1643 AliMCAnalysisUtils.cxx:1644 AliMCAnalysisUtils.cxx:1645 AliMCAnalysisUtils.cxx:1646 AliMCAnalysisUtils.cxx:1647 AliMCAnalysisUtils.cxx:1648 AliMCAnalysisUtils.cxx:1649 AliMCAnalysisUtils.cxx:1650 AliMCAnalysisUtils.cxx:1651 AliMCAnalysisUtils.cxx:1652 AliMCAnalysisUtils.cxx:1653 AliMCAnalysisUtils.cxx:1654 AliMCAnalysisUtils.cxx:1655 AliMCAnalysisUtils.cxx:1656 AliMCAnalysisUtils.cxx:1657 AliMCAnalysisUtils.cxx:1658 AliMCAnalysisUtils.cxx:1659 AliMCAnalysisUtils.cxx:1660 AliMCAnalysisUtils.cxx:1661 AliMCAnalysisUtils.cxx:1662 AliMCAnalysisUtils.cxx:1663 AliMCAnalysisUtils.cxx:1664 AliMCAnalysisUtils.cxx:1665 AliMCAnalysisUtils.cxx:1666 AliMCAnalysisUtils.cxx:1667 AliMCAnalysisUtils.cxx:1668 AliMCAnalysisUtils.cxx:1669 AliMCAnalysisUtils.cxx:1670 AliMCAnalysisUtils.cxx:1671 AliMCAnalysisUtils.cxx:1672 AliMCAnalysisUtils.cxx:1673 AliMCAnalysisUtils.cxx:1674 AliMCAnalysisUtils.cxx:1675 AliMCAnalysisUtils.cxx:1676 AliMCAnalysisUtils.cxx:1677 AliMCAnalysisUtils.cxx:1678 AliMCAnalysisUtils.cxx:1679 AliMCAnalysisUtils.cxx:1680 AliMCAnalysisUtils.cxx:1681 AliMCAnalysisUtils.cxx:1682 AliMCAnalysisUtils.cxx:1683 AliMCAnalysisUtils.cxx:1684 AliMCAnalysisUtils.cxx:1685 AliMCAnalysisUtils.cxx:1686 AliMCAnalysisUtils.cxx:1687 AliMCAnalysisUtils.cxx:1688 AliMCAnalysisUtils.cxx:1689 AliMCAnalysisUtils.cxx:1690 AliMCAnalysisUtils.cxx:1691 AliMCAnalysisUtils.cxx:1692 AliMCAnalysisUtils.cxx:1693 AliMCAnalysisUtils.cxx:1694 AliMCAnalysisUtils.cxx:1695 AliMCAnalysisUtils.cxx:1696 AliMCAnalysisUtils.cxx:1697 AliMCAnalysisUtils.cxx:1698 AliMCAnalysisUtils.cxx:1699 AliMCAnalysisUtils.cxx:1700 AliMCAnalysisUtils.cxx:1701 AliMCAnalysisUtils.cxx:1702 AliMCAnalysisUtils.cxx:1703 AliMCAnalysisUtils.cxx:1704 AliMCAnalysisUtils.cxx:1705 AliMCAnalysisUtils.cxx:1706 AliMCAnalysisUtils.cxx:1707 AliMCAnalysisUtils.cxx:1708 AliMCAnalysisUtils.cxx:1709 AliMCAnalysisUtils.cxx:1710 AliMCAnalysisUtils.cxx:1711 AliMCAnalysisUtils.cxx:1712 AliMCAnalysisUtils.cxx:1713 AliMCAnalysisUtils.cxx:1714 AliMCAnalysisUtils.cxx:1715 AliMCAnalysisUtils.cxx:1716 AliMCAnalysisUtils.cxx:1717 AliMCAnalysisUtils.cxx:1718 AliMCAnalysisUtils.cxx:1719 AliMCAnalysisUtils.cxx:1720 AliMCAnalysisUtils.cxx:1721 AliMCAnalysisUtils.cxx:1722 AliMCAnalysisUtils.cxx:1723 AliMCAnalysisUtils.cxx:1724 AliMCAnalysisUtils.cxx:1725 AliMCAnalysisUtils.cxx:1726 AliMCAnalysisUtils.cxx:1727 AliMCAnalysisUtils.cxx:1728 AliMCAnalysisUtils.cxx:1729 AliMCAnalysisUtils.cxx:1730 AliMCAnalysisUtils.cxx:1731 AliMCAnalysisUtils.cxx:1732 AliMCAnalysisUtils.cxx:1733 AliMCAnalysisUtils.cxx:1734 AliMCAnalysisUtils.cxx:1735 AliMCAnalysisUtils.cxx:1736 AliMCAnalysisUtils.cxx:1737 AliMCAnalysisUtils.cxx:1738 AliMCAnalysisUtils.cxx:1739 AliMCAnalysisUtils.cxx:1740 AliMCAnalysisUtils.cxx:1741 AliMCAnalysisUtils.cxx:1742 AliMCAnalysisUtils.cxx:1743 AliMCAnalysisUtils.cxx:1744 AliMCAnalysisUtils.cxx:1745 AliMCAnalysisUtils.cxx:1746 AliMCAnalysisUtils.cxx:1747 AliMCAnalysisUtils.cxx:1748 AliMCAnalysisUtils.cxx:1749 AliMCAnalysisUtils.cxx:1750 AliMCAnalysisUtils.cxx:1751 AliMCAnalysisUtils.cxx:1752 AliMCAnalysisUtils.cxx:1753 AliMCAnalysisUtils.cxx:1754 AliMCAnalysisUtils.cxx:1755 AliMCAnalysisUtils.cxx:1756 AliMCAnalysisUtils.cxx:1757 AliMCAnalysisUtils.cxx:1758 AliMCAnalysisUtils.cxx:1759 AliMCAnalysisUtils.cxx:1760 AliMCAnalysisUtils.cxx:1761 AliMCAnalysisUtils.cxx:1762 AliMCAnalysisUtils.cxx:1763 AliMCAnalysisUtils.cxx:1764 AliMCAnalysisUtils.cxx:1765 AliMCAnalysisUtils.cxx:1766 AliMCAnalysisUtils.cxx:1767 AliMCAnalysisUtils.cxx:1768 AliMCAnalysisUtils.cxx:1769 AliMCAnalysisUtils.cxx:1770 AliMCAnalysisUtils.cxx:1771 AliMCAnalysisUtils.cxx:1772 AliMCAnalysisUtils.cxx:1773 AliMCAnalysisUtils.cxx:1774 AliMCAnalysisUtils.cxx:1775 AliMCAnalysisUtils.cxx:1776 AliMCAnalysisUtils.cxx:1777 AliMCAnalysisUtils.cxx:1778 AliMCAnalysisUtils.cxx:1779 AliMCAnalysisUtils.cxx:1780 AliMCAnalysisUtils.cxx:1781 AliMCAnalysisUtils.cxx:1782 AliMCAnalysisUtils.cxx:1783 AliMCAnalysisUtils.cxx:1784 AliMCAnalysisUtils.cxx:1785 AliMCAnalysisUtils.cxx:1786 AliMCAnalysisUtils.cxx:1787 AliMCAnalysisUtils.cxx:1788 AliMCAnalysisUtils.cxx:1789 AliMCAnalysisUtils.cxx:1790 AliMCAnalysisUtils.cxx:1791 AliMCAnalysisUtils.cxx:1792 AliMCAnalysisUtils.cxx:1793 AliMCAnalysisUtils.cxx:1794 AliMCAnalysisUtils.cxx:1795 AliMCAnalysisUtils.cxx:1796 AliMCAnalysisUtils.cxx:1797 AliMCAnalysisUtils.cxx:1798 AliMCAnalysisUtils.cxx:1799 AliMCAnalysisUtils.cxx:1800 AliMCAnalysisUtils.cxx:1801 AliMCAnalysisUtils.cxx:1802 AliMCAnalysisUtils.cxx:1803 AliMCAnalysisUtils.cxx:1804 AliMCAnalysisUtils.cxx:1805 AliMCAnalysisUtils.cxx:1806 AliMCAnalysisUtils.cxx:1807 AliMCAnalysisUtils.cxx:1808 AliMCAnalysisUtils.cxx:1809 AliMCAnalysisUtils.cxx:1810 AliMCAnalysisUtils.cxx:1811 AliMCAnalysisUtils.cxx:1812 AliMCAnalysisUtils.cxx:1813 AliMCAnalysisUtils.cxx:1814 AliMCAnalysisUtils.cxx:1815 AliMCAnalysisUtils.cxx:1816 AliMCAnalysisUtils.cxx:1817 AliMCAnalysisUtils.cxx:1818 AliMCAnalysisUtils.cxx:1819 AliMCAnalysisUtils.cxx:1820 AliMCAnalysisUtils.cxx:1821 AliMCAnalysisUtils.cxx:1822 AliMCAnalysisUtils.cxx:1823 AliMCAnalysisUtils.cxx:1824 AliMCAnalysisUtils.cxx:1825 AliMCAnalysisUtils.cxx:1826 AliMCAnalysisUtils.cxx:1827 AliMCAnalysisUtils.cxx:1828 AliMCAnalysisUtils.cxx:1829 AliMCAnalysisUtils.cxx:1830 AliMCAnalysisUtils.cxx:1831 AliMCAnalysisUtils.cxx:1832 AliMCAnalysisUtils.cxx:1833 AliMCAnalysisUtils.cxx:1834 AliMCAnalysisUtils.cxx:1835 AliMCAnalysisUtils.cxx:1836 AliMCAnalysisUtils.cxx:1837 AliMCAnalysisUtils.cxx:1838 AliMCAnalysisUtils.cxx:1839 AliMCAnalysisUtils.cxx:1840 AliMCAnalysisUtils.cxx:1841 AliMCAnalysisUtils.cxx:1842 AliMCAnalysisUtils.cxx:1843 AliMCAnalysisUtils.cxx:1844 AliMCAnalysisUtils.cxx:1845 AliMCAnalysisUtils.cxx:1846 AliMCAnalysisUtils.cxx:1847 AliMCAnalysisUtils.cxx:1848 AliMCAnalysisUtils.cxx:1849 AliMCAnalysisUtils.cxx:1850 AliMCAnalysisUtils.cxx:1851 AliMCAnalysisUtils.cxx:1852 AliMCAnalysisUtils.cxx:1853 AliMCAnalysisUtils.cxx:1854 AliMCAnalysisUtils.cxx:1855 AliMCAnalysisUtils.cxx:1856 AliMCAnalysisUtils.cxx:1857 AliMCAnalysisUtils.cxx:1858 AliMCAnalysisUtils.cxx:1859 AliMCAnalysisUtils.cxx:1860 AliMCAnalysisUtils.cxx:1861 AliMCAnalysisUtils.cxx:1862 AliMCAnalysisUtils.cxx:1863 AliMCAnalysisUtils.cxx:1864 AliMCAnalysisUtils.cxx:1865 AliMCAnalysisUtils.cxx:1866 AliMCAnalysisUtils.cxx:1867 AliMCAnalysisUtils.cxx:1868 AliMCAnalysisUtils.cxx:1869 AliMCAnalysisUtils.cxx:1870 AliMCAnalysisUtils.cxx:1871 AliMCAnalysisUtils.cxx:1872 AliMCAnalysisUtils.cxx:1873 AliMCAnalysisUtils.cxx:1874 AliMCAnalysisUtils.cxx:1875 AliMCAnalysisUtils.cxx:1876 AliMCAnalysisUtils.cxx:1877 AliMCAnalysisUtils.cxx:1878 AliMCAnalysisUtils.cxx:1879 AliMCAnalysisUtils.cxx:1880 AliMCAnalysisUtils.cxx:1881 AliMCAnalysisUtils.cxx:1882 AliMCAnalysisUtils.cxx:1883 AliMCAnalysisUtils.cxx:1884 AliMCAnalysisUtils.cxx:1885 AliMCAnalysisUtils.cxx:1886 AliMCAnalysisUtils.cxx:1887 AliMCAnalysisUtils.cxx:1888 AliMCAnalysisUtils.cxx:1889 AliMCAnalysisUtils.cxx:1890 AliMCAnalysisUtils.cxx:1891 AliMCAnalysisUtils.cxx:1892 AliMCAnalysisUtils.cxx:1893 AliMCAnalysisUtils.cxx:1894 AliMCAnalysisUtils.cxx:1895 AliMCAnalysisUtils.cxx:1896 AliMCAnalysisUtils.cxx:1897 AliMCAnalysisUtils.cxx:1898 AliMCAnalysisUtils.cxx:1899 AliMCAnalysisUtils.cxx:1900 AliMCAnalysisUtils.cxx:1901 AliMCAnalysisUtils.cxx:1902 AliMCAnalysisUtils.cxx:1903 AliMCAnalysisUtils.cxx:1904 AliMCAnalysisUtils.cxx:1905 AliMCAnalysisUtils.cxx:1906 AliMCAnalysisUtils.cxx:1907 AliMCAnalysisUtils.cxx:1908 AliMCAnalysisUtils.cxx:1909 AliMCAnalysisUtils.cxx:1910 AliMCAnalysisUtils.cxx:1911 AliMCAnalysisUtils.cxx:1912 AliMCAnalysisUtils.cxx:1913 AliMCAnalysisUtils.cxx:1914 AliMCAnalysisUtils.cxx:1915 AliMCAnalysisUtils.cxx:1916 AliMCAnalysisUtils.cxx:1917 AliMCAnalysisUtils.cxx:1918 AliMCAnalysisUtils.cxx:1919 AliMCAnalysisUtils.cxx:1920 AliMCAnalysisUtils.cxx:1921 AliMCAnalysisUtils.cxx:1922 AliMCAnalysisUtils.cxx:1923 AliMCAnalysisUtils.cxx:1924 AliMCAnalysisUtils.cxx:1925 AliMCAnalysisUtils.cxx:1926 AliMCAnalysisUtils.cxx:1927 AliMCAnalysisUtils.cxx:1928 AliMCAnalysisUtils.cxx:1929 AliMCAnalysisUtils.cxx:1930 AliMCAnalysisUtils.cxx:1931 AliMCAnalysisUtils.cxx:1932 AliMCAnalysisUtils.cxx:1933 AliMCAnalysisUtils.cxx:1934 AliMCAnalysisUtils.cxx:1935 AliMCAnalysisUtils.cxx:1936 AliMCAnalysisUtils.cxx:1937 AliMCAnalysisUtils.cxx:1938 AliMCAnalysisUtils.cxx:1939 AliMCAnalysisUtils.cxx:1940 AliMCAnalysisUtils.cxx:1941 AliMCAnalysisUtils.cxx:1942 AliMCAnalysisUtils.cxx:1943 AliMCAnalysisUtils.cxx:1944 AliMCAnalysisUtils.cxx:1945 AliMCAnalysisUtils.cxx:1946 AliMCAnalysisUtils.cxx:1947 AliMCAnalysisUtils.cxx:1948 AliMCAnalysisUtils.cxx:1949 AliMCAnalysisUtils.cxx:1950 AliMCAnalysisUtils.cxx:1951 AliMCAnalysisUtils.cxx:1952 AliMCAnalysisUtils.cxx:1953 AliMCAnalysisUtils.cxx:1954 AliMCAnalysisUtils.cxx:1955 AliMCAnalysisUtils.cxx:1956 AliMCAnalysisUtils.cxx:1957 AliMCAnalysisUtils.cxx:1958 AliMCAnalysisUtils.cxx:1959 AliMCAnalysisUtils.cxx:1960 AliMCAnalysisUtils.cxx:1961 AliMCAnalysisUtils.cxx:1962 AliMCAnalysisUtils.cxx:1963 AliMCAnalysisUtils.cxx:1964 AliMCAnalysisUtils.cxx:1965 AliMCAnalysisUtils.cxx:1966 AliMCAnalysisUtils.cxx:1967 AliMCAnalysisUtils.cxx:1968 AliMCAnalysisUtils.cxx:1969 AliMCAnalysisUtils.cxx:1970 AliMCAnalysisUtils.cxx:1971 AliMCAnalysisUtils.cxx:1972 AliMCAnalysisUtils.cxx:1973 AliMCAnalysisUtils.cxx:1974 AliMCAnalysisUtils.cxx:1975 AliMCAnalysisUtils.cxx:1976 AliMCAnalysisUtils.cxx:1977 AliMCAnalysisUtils.cxx:1978 AliMCAnalysisUtils.cxx:1979 AliMCAnalysisUtils.cxx:1980 AliMCAnalysisUtils.cxx:1981 AliMCAnalysisUtils.cxx:1982 AliMCAnalysisUtils.cxx:1983 AliMCAnalysisUtils.cxx:1984 AliMCAnalysisUtils.cxx:1985 AliMCAnalysisUtils.cxx:1986 AliMCAnalysisUtils.cxx:1987 AliMCAnalysisUtils.cxx:1988 AliMCAnalysisUtils.cxx:1989 AliMCAnalysisUtils.cxx:1990 AliMCAnalysisUtils.cxx:1991 AliMCAnalysisUtils.cxx:1992 AliMCAnalysisUtils.cxx:1993 AliMCAnalysisUtils.cxx:1994 AliMCAnalysisUtils.cxx:1995 AliMCAnalysisUtils.cxx:1996 AliMCAnalysisUtils.cxx:1997 AliMCAnalysisUtils.cxx:1998 AliMCAnalysisUtils.cxx:1999 AliMCAnalysisUtils.cxx:2000 AliMCAnalysisUtils.cxx:2001 AliMCAnalysisUtils.cxx:2002 AliMCAnalysisUtils.cxx:2003 AliMCAnalysisUtils.cxx:2004 AliMCAnalysisUtils.cxx:2005 AliMCAnalysisUtils.cxx:2006 AliMCAnalysisUtils.cxx:2007 AliMCAnalysisUtils.cxx:2008 AliMCAnalysisUtils.cxx:2009 AliMCAnalysisUtils.cxx:2010 AliMCAnalysisUtils.cxx:2011 AliMCAnalysisUtils.cxx:2012 AliMCAnalysisUtils.cxx:2013 AliMCAnalysisUtils.cxx:2014 AliMCAnalysisUtils.cxx:2015 AliMCAnalysisUtils.cxx:2016 AliMCAnalysisUtils.cxx:2017 AliMCAnalysisUtils.cxx:2018 AliMCAnalysisUtils.cxx:2019 AliMCAnalysisUtils.cxx:2020 AliMCAnalysisUtils.cxx:2021 AliMCAnalysisUtils.cxx:2022 AliMCAnalysisUtils.cxx:2023 AliMCAnalysisUtils.cxx:2024 AliMCAnalysisUtils.cxx:2025 AliMCAnalysisUtils.cxx:2026 AliMCAnalysisUtils.cxx:2027 AliMCAnalysisUtils.cxx:2028 AliMCAnalysisUtils.cxx:2029 AliMCAnalysisUtils.cxx:2030 AliMCAnalysisUtils.cxx:2031 AliMCAnalysisUtils.cxx:2032 AliMCAnalysisUtils.cxx:2033 AliMCAnalysisUtils.cxx:2034 AliMCAnalysisUtils.cxx:2035 AliMCAnalysisUtils.cxx:2036 AliMCAnalysisUtils.cxx:2037 AliMCAnalysisUtils.cxx:2038 AliMCAnalysisUtils.cxx:2039 AliMCAnalysisUtils.cxx:2040 AliMCAnalysisUtils.cxx:2041 AliMCAnalysisUtils.cxx:2042 AliMCAnalysisUtils.cxx:2043 AliMCAnalysisUtils.cxx:2044 AliMCAnalysisUtils.cxx:2045 AliMCAnalysisUtils.cxx:2046 AliMCAnalysisUtils.cxx:2047 AliMCAnalysisUtils.cxx:2048 AliMCAnalysisUtils.cxx:2049 AliMCAnalysisUtils.cxx:2050 AliMCAnalysisUtils.cxx:2051 AliMCAnalysisUtils.cxx:2052 AliMCAnalysisUtils.cxx:2053 AliMCAnalysisUtils.cxx:2054 AliMCAnalysisUtils.cxx:2055 AliMCAnalysisUtils.cxx:2056 AliMCAnalysisUtils.cxx:2057 AliMCAnalysisUtils.cxx:2058 AliMCAnalysisUtils.cxx:2059 AliMCAnalysisUtils.cxx:2060 AliMCAnalysisUtils.cxx:2061 AliMCAnalysisUtils.cxx:2062 AliMCAnalysisUtils.cxx:2063 AliMCAnalysisUtils.cxx:2064 AliMCAnalysisUtils.cxx:2065 AliMCAnalysisUtils.cxx:2066 AliMCAnalysisUtils.cxx:2067 AliMCAnalysisUtils.cxx:2068 AliMCAnalysisUtils.cxx:2069 AliMCAnalysisUtils.cxx:2070 AliMCAnalysisUtils.cxx:2071 AliMCAnalysisUtils.cxx:2072 AliMCAnalysisUtils.cxx:2073 AliMCAnalysisUtils.cxx:2074 AliMCAnalysisUtils.cxx:2075 AliMCAnalysisUtils.cxx:2076 AliMCAnalysisUtils.cxx:2077 AliMCAnalysisUtils.cxx:2078 AliMCAnalysisUtils.cxx:2079 AliMCAnalysisUtils.cxx:2080 AliMCAnalysisUtils.cxx:2081 AliMCAnalysisUtils.cxx:2082 AliMCAnalysisUtils.cxx:2083 AliMCAnalysisUtils.cxx:2084 AliMCAnalysisUtils.cxx:2085 AliMCAnalysisUtils.cxx:2086 AliMCAnalysisUtils.cxx:2087 AliMCAnalysisUtils.cxx:2088 AliMCAnalysisUtils.cxx:2089 AliMCAnalysisUtils.cxx:2090 AliMCAnalysisUtils.cxx:2091 AliMCAnalysisUtils.cxx:2092 AliMCAnalysisUtils.cxx:2093 AliMCAnalysisUtils.cxx:2094 AliMCAnalysisUtils.cxx:2095 AliMCAnalysisUtils.cxx:2096 AliMCAnalysisUtils.cxx:2097 AliMCAnalysisUtils.cxx:2098 AliMCAnalysisUtils.cxx:2099 AliMCAnalysisUtils.cxx:2100 AliMCAnalysisUtils.cxx:2101