![]() |
AliPhysics
b1f9b5e (b1f9b5e)
|
Class with analysis utils for simulations. More...
#include <AliMCAnalysisUtils.h>
Public Types | |
enum | mcTypes { kMCPhoton, kMCPrompt, kMCFragmentation, kMCISR, kMCPi0Decay, kMCEtaDecay, kMCOtherDecay, kMCDecayPairLost, kMCDecayPairInCalo, kMCDecayDalitz, kMCConversion, kMCElectron, kMCEFromCFromB, kMCEFromC, kMCEFromB, kMCZDecay, kMCWDecay, kMCMuon, kMCPion, kMCPi0, kMCKaon, kMCEta, kMCProton, kMCAntiProton, kMCNeutron, kMCAntiNeutron, kMCUnknown, kMCBadLabel } |
enum | generator { kPythia = 0, kHerwig = 1, kHijing = 2, kBoxLike = 3 } |
Public Member Functions | |
AliMCAnalysisUtils () | |
Constructor. More... | |
virtual | ~AliMCAnalysisUtils () |
Destructor. More... | |
Int_t | CheckCommonAncestor (Int_t index1, Int_t index2, const AliCaloTrackReader *reader, Int_t &ancPDG, Int_t &ancStatus, TLorentzVector &momentum, TVector3 &prodVertex) |
Int_t | CheckOrigin (Int_t label, const AliCaloTrackReader *reader, Int_t calorimeter) |
Int_t | CheckOrigin (const Int_t *label, Int_t nlabels, const AliCaloTrackReader *reader, Int_t calorimeter) |
Int_t | CheckOriginInStack (const Int_t *labels, Int_t nlabels, AliStack *stack, const TObjArray *arrayCluster) |
Int_t | CheckOriginInAOD (const Int_t *labels, Int_t nlabels, const TClonesArray *mcparticles, const TObjArray *arrayCluster) |
void | CheckOverlapped2GammaDecay (const Int_t *labels, Int_t nlabels, Int_t mesonIndex, AliStack *stack, Int_t &tag) |
void | CheckOverlapped2GammaDecay (const Int_t *labels, Int_t nlabels, Int_t mesonIndex, const TClonesArray *mcparticles, Int_t &tag) |
void | CheckLostDecayPair (const TObjArray *arrayCluster, Int_t iMom, Int_t iParent, AliStack *stack, Int_t &tag) |
Check on ESDs if the current decay photon has the second photon companion lost. More... | |
void | CheckLostDecayPair (const TObjArray *arrayCluster, Int_t iMom, Int_t iParent, const TClonesArray *mcparticles, Int_t &tag) |
Check on AODs if the current decay photon has the second photon companion lost. More... | |
TLorentzVector | GetMother (Int_t label, const AliCaloTrackReader *reader, Bool_t &ok) |
TLorentzVector | GetMother (Int_t label, const AliCaloTrackReader *reader, Int_t &pdg, Int_t &status, Bool_t &ok) |
TLorentzVector | GetMother (Int_t label, const AliCaloTrackReader *reader, Int_t &pdg, Int_t &status, Bool_t &ok, Int_t &momLabel) |
TLorentzVector | GetGrandMother (Int_t label, const AliCaloTrackReader *reader, Int_t &pdg, Int_t &status, Bool_t &ok, Int_t &grandMomLabel, Int_t &greatMomLabel) |
TLorentzVector | GetMotherWithPDG (Int_t label, Int_t pdg, const AliCaloTrackReader *reader, Bool_t &ok, Int_t &momLabel) |
void | GetMCDecayAsymmetryAngleForPDG (Int_t label, Int_t pdg, const AliCaloTrackReader *reader, Float_t &asy, Float_t &angle, Bool_t &ok) |
In case of an eta or pi0 decay into 2 photons, get the asymmetry in the energy of the photons. More... | |
Int_t | GetNDaughters (Int_t label, const AliCaloTrackReader *reader, Bool_t &ok) |
TLorentzVector | GetDaughter (Int_t daughter, Int_t label, const AliCaloTrackReader *reader, Int_t &pdg, Int_t &status, Bool_t &ok, Int_t &daugLabel, TVector3 &prodVertex) |
Int_t | GetNOverlaps (const Int_t *label, UInt_t nlabels, Int_t mctag, Int_t mesonLabel, AliCaloTrackReader *reader, Int_t *overpdg, Int_t *overlabel) |
void | SetTagBit (Int_t &tag, UInt_t set) const |
Bool_t | CheckTagBit (Int_t tag, UInt_t test) const |
TList * | GetJets (const AliCaloTrackReader *reader) |
void | SetDebug (Int_t deb) |
Int_t | GetDebug () const |
void | SetMCGenerator (Int_t mcgen) |
Set the generator type. More... | |
void | SetMCGenerator (TString mcgen) |
Set the generator type. More... | |
Int_t | GetMCGenerator () const |
TString | GetMCGeneratorString () const |
void | Print (const Option_t *opt) const |
Print some relevant parameters set for the analysis. More... | |
void | PrintMCTag (Int_t tag) const |
Print the assigned origins to this particle. More... | |
Private Member Functions | |
AliMCAnalysisUtils & | operator= (const AliMCAnalysisUtils &mcu) |
Copy constructor not implemented. More... | |
AliMCAnalysisUtils (const AliMCAnalysisUtils &mcu) | |
Assignment operator not implemented. More... | |
Private Attributes | |
Int_t | fCurrentEvent |
Current Event number. More... | |
Int_t | fDebug |
Debug level. More... | |
TList * | fJetsList |
List of jets. More... | |
Int_t | fMCGenerator |
MC generator used to generate data in simulation. More... | |
TString | fMCGeneratorString |
MC generator used to generate data in simulation. More... | |
TLorentzVector | fDaughMom |
! particle momentum More... | |
TLorentzVector | fDaughMom2 |
! particle momentum More... | |
TLorentzVector | fMotherMom |
! particle momentum More... | |
TLorentzVector | fGMotherMom |
! particle momentum More... | |
Class with analysis utils for simulations.
Class containing utility methods for analysis of simulations, ESD or AOD format. Contains:
More information can be found in this twiki.
Definition at line 33 of file AliMCAnalysisUtils.h.
Enumerator | |
---|---|
kPythia | |
kHerwig | |
kHijing | |
kBoxLike |
Definition at line 122 of file AliMCAnalysisUtils.h.
"Mostly" photon parent types on line 1,
then "mostly" electron parent types on line 3, (e.g. electrons can come from pi0 decay) then charged particles on line 4, followed by other and unknown on line 5
Definition at line 51 of file AliMCAnalysisUtils.h.
AliMCAnalysisUtils::AliMCAnalysisUtils | ( | ) |
Constructor.
Definition at line 38 of file AliMCAnalysisUtils.cxx.
|
virtual |
Destructor.
Definition at line 52 of file AliMCAnalysisUtils.cxx.
|
private |
Assignment operator not implemented.
Int_t AliMCAnalysisUtils::CheckCommonAncestor | ( | Int_t | index1, |
Int_t | index2, | ||
const AliCaloTrackReader * | reader, | ||
Int_t & | ancPDG, | ||
Int_t & | ancStatus, | ||
TLorentzVector & | momentum, | ||
TVector3 & | prodVertex | ||
) |
Check the first common ancestor of 2 clusters, given the most likely labels of the primaries generating such clusters.
Definition at line 65 of file AliMCAnalysisUtils.cxx.
Referenced by AliAnaInsideClusterInvariantMass::CheckLocalMaximaMCOrigin(), AliAnaPi0::FillMCVersusRecDataHistograms(), AliAnaElectron::FillShowerShapeHistograms(), GetNOverlaps(), and AliAnaPhotonConvInCalo::MakeAnalysisFillHistograms().
void AliMCAnalysisUtils::CheckLostDecayPair | ( | const TObjArray * | arrayCluster, |
Int_t | iMom, | ||
Int_t | iParent, | ||
AliStack * | stack, | ||
Int_t & | tag | ||
) |
Check on ESDs if the current decay photon has the second photon companion lost.
Definition at line 1121 of file AliMCAnalysisUtils.cxx.
Referenced by CheckOriginInAOD(), and CheckOriginInStack().
void AliMCAnalysisUtils::CheckLostDecayPair | ( | const TObjArray * | arrayCluster, |
Int_t | iMom, | ||
Int_t | iParent, | ||
const TClonesArray * | mcparticles, | ||
Int_t & | tag | ||
) |
Check on AODs if the current decay photon has the second photon companion lost.
Definition at line 1221 of file AliMCAnalysisUtils.cxx.
Int_t AliMCAnalysisUtils::CheckOrigin | ( | Int_t | label, |
const AliCaloTrackReader * | reader, | ||
Int_t | calorimeter | ||
) |
Definition at line 252 of file AliMCAnalysisUtils.cxx.
Referenced by AliAnaCalorimeterQA::ClusterAsymmetryHistograms(), AliAnaCalorimeterQA::ClusterMCHistograms(), AliAnaPhoton::FillAcceptanceHistograms(), AliAnaParticleIsolation::FillAcceptanceHistograms(), AliAnaPhoton::FillTrackMatchingResidualHistograms(), AliAnaInsideClusterInvariantMass::GetMCIndex(), AliAnaPhoton::MakeAnalysisFillAOD(), AliAnaElectron::MakeAnalysisFillAOD(), AliAnaPi0EbE::MakeShowerShapeIdentification(), and AliAnaCalorimeterQA::WeightHistograms().
Int_t AliMCAnalysisUtils::CheckOrigin | ( | const Int_t * | label, |
Int_t | nlabels, | ||
const AliCaloTrackReader * | reader, | ||
Int_t | calorimeter | ||
) |
Definition at line 217 of file AliMCAnalysisUtils.cxx.
Int_t AliMCAnalysisUtils::CheckOriginInAOD | ( | const Int_t * | labels, |
Int_t | nlabels, | ||
const TClonesArray * | mcparticles, | ||
const TObjArray * | arrayCluster | ||
) |
Generally speaking, label is the MC label of a reconstructed entity (track, cluster, etc) for which we want to know something about its heritage, but one can also use it directly with stack particles not connected to reconstructed entities.
Definition at line 599 of file AliMCAnalysisUtils.cxx.
Referenced by CheckOrigin().
Int_t AliMCAnalysisUtils::CheckOriginInStack | ( | const Int_t * | labels, |
Int_t | nlabels, | ||
AliStack * | stack, | ||
const TObjArray * | arrayCluster | ||
) |
Generally speaking, label is the MC label of a reconstructed entity (track, cluster, etc) for which we want to know something about its heritage, but one can also use it directly with stack particles not connected to reconstructed entities.
Definition at line 288 of file AliMCAnalysisUtils.cxx.
Referenced by CheckOrigin().
void AliMCAnalysisUtils::CheckOverlapped2GammaDecay | ( | const Int_t * | labels, |
Int_t | nlabels, | ||
Int_t | mesonIndex, | ||
AliStack * | stack, | ||
Int_t & | tag | ||
) |
Check if cluster is formed from the contribution of 2 decay photons from pi0 or eta. Input in stack.
Definition at line 864 of file AliMCAnalysisUtils.cxx.
Referenced by CheckOriginInAOD(), and CheckOriginInStack().
void AliMCAnalysisUtils::CheckOverlapped2GammaDecay | ( | const Int_t * | labels, |
Int_t | nlabels, | ||
Int_t | mesonIndex, | ||
const TClonesArray * | mcparticles, | ||
Int_t & | tag | ||
) |
Check if cluster is formed from the contribution of 2 decay photons from pi0 or eta. Input are AliAODMCParticles.
Definition at line 989 of file AliMCAnalysisUtils.cxx.
Definition at line 106 of file AliMCAnalysisUtils.h.
Referenced by CheckOriginInAOD(), CheckOriginInStack(), CheckOverlapped2GammaDecay(), AliAnaCalorimeterQA::ClusterAsymmetryHistograms(), AliAnaParticleIsolation::FillAcceptanceHistograms(), AliAnaPhoton::FillTrackMatchingResidualHistograms(), AliAnaParticleIsolation::FillTrackMatchingShowerShapeControlHistograms(), AliAnaInsideClusterInvariantMass::GetMCIndex(), GetNOverlaps(), AliAnaElectron::MakeAnalysisFillAOD(), AliAnaParticleHadronCorrelation::MakeAnalysisFillHistograms(), AliAnaPi0::MakeAnalysisFillHistograms(), AliAnaPi0EbE::MakeInvMassInCalorimeter(), AliAnaPi0EbE::MakeInvMassInCalorimeterAndCTS(), PrintMCTag(), and AliAnaCalorimeterQA::WeightHistograms().
TLorentzVector AliMCAnalysisUtils::GetDaughter | ( | Int_t | idaugh, |
Int_t | label, | ||
const AliCaloTrackReader * | reader, | ||
Int_t & | pdg, | ||
Int_t & | status, | ||
Bool_t & | ok, | ||
Int_t & | daughlabel, | ||
TVector3 & | prodVertex | ||
) |
Definition at line 1489 of file AliMCAnalysisUtils.cxx.
Referenced by AliAnaInsideClusterInvariantMass::CheckLocalMaximaMCOrigin(), AliAnaParticleIsolation::FillAcceptanceHistograms(), AliAnaPhoton::MakeAnalysisFillHistograms(), and AliAnaParticleIsolation::MakeAnalysisFillHistograms().
|
inline |
Definition at line 120 of file AliMCAnalysisUtils.h.
Referenced by AliAnaCaloTrackCorrBaseClass::InitDebug().
TLorentzVector AliMCAnalysisUtils::GetGrandMother | ( | Int_t | label, |
const AliCaloTrackReader * | reader, | ||
Int_t & | pdg, | ||
Int_t & | status, | ||
Bool_t & | ok, | ||
Int_t & | grandMomLabel, | ||
Int_t & | greatMomLabel | ||
) |
Definition at line 1763 of file AliMCAnalysisUtils.cxx.
Referenced by AliAnaInsideClusterInvariantMass::CheckLocalMaximaMCOrigin(), and GetNOverlaps().
TList * AliMCAnalysisUtils::GetJets | ( | const AliCaloTrackReader * | reader | ) |
Definition at line 1341 of file AliMCAnalysisUtils.cxx.
void AliMCAnalysisUtils::GetMCDecayAsymmetryAngleForPDG | ( | Int_t | label, |
Int_t | pdg, | ||
const AliCaloTrackReader * | reader, | ||
Float_t & | asy, | ||
Float_t & | angle, | ||
Bool_t & | ok | ||
) |
In case of an eta or pi0 decay into 2 photons, get the asymmetry in the energy of the photons.
Definition at line 1840 of file AliMCAnalysisUtils.cxx.
Referenced by AliAnaInsideClusterInvariantMass::GetMCPrimaryKine().
|
inline |
Definition at line 125 of file AliMCAnalysisUtils.h.
Referenced by AliAnaParticleIsolation::FillAcceptanceHistograms().
|
inline |
Definition at line 126 of file AliMCAnalysisUtils.h.
TLorentzVector AliMCAnalysisUtils::GetMother | ( | Int_t | label, |
const AliCaloTrackReader * | reader, | ||
Bool_t & | ok | ||
) |
Definition at line 1574 of file AliMCAnalysisUtils.cxx.
Referenced by AliAnaInsideClusterInvariantMass::CheckLocalMaximaMCOrigin(), AliAnaInsideClusterInvariantMass::GetMCPrimaryKine(), GetMother(), GetNOverlaps(), AliAnaPi0EbE::MakeAnalysisFillHistograms(), AliAnaPhoton::MakeAnalysisFillHistograms(), AliAnaParticleIsolation::MakeAnalysisFillHistograms(), and AliAnaPi0EbE::MakeShowerShapeIdentification().
TLorentzVector AliMCAnalysisUtils::GetMother | ( | Int_t | label, |
const AliCaloTrackReader * | reader, | ||
Int_t & | pdg, | ||
Int_t & | status, | ||
Bool_t & | ok | ||
) |
Definition at line 1584 of file AliMCAnalysisUtils.cxx.
TLorentzVector AliMCAnalysisUtils::GetMother | ( | Int_t | label, |
const AliCaloTrackReader * | reader, | ||
Int_t & | pdg, | ||
Int_t & | status, | ||
Bool_t & | ok, | ||
Int_t & | momlabel | ||
) |
Definition at line 1595 of file AliMCAnalysisUtils.cxx.
TLorentzVector AliMCAnalysisUtils::GetMotherWithPDG | ( | Int_t | label, |
Int_t | pdg, | ||
const AliCaloTrackReader * | reader, | ||
Bool_t & | ok, | ||
Int_t & | momlabel | ||
) |
Definition at line 1658 of file AliMCAnalysisUtils.cxx.
Referenced by AliAnaParticleIsolation::FillAcceptanceHistograms(), AliAnaInsideClusterInvariantMass::GetMCPrimaryKine(), AliAnaPi0EbE::MakeAnalysisFillHistograms(), and AliAnaPi0EbE::MakeShowerShapeIdentification().
Int_t AliMCAnalysisUtils::GetNDaughters | ( | Int_t | label, |
const AliCaloTrackReader * | reader, | ||
Bool_t & | ok | ||
) |
Definition at line 1947 of file AliMCAnalysisUtils.cxx.
Referenced by AliAnaInsideClusterInvariantMass::CheckLocalMaximaMCOrigin(), and AliAnaParticleIsolation::FillAcceptanceHistograms().
Int_t AliMCAnalysisUtils::GetNOverlaps | ( | const Int_t * | label, |
UInt_t | nlabels, | ||
Int_t | mctag, | ||
Int_t | mesonLabel, | ||
AliCaloTrackReader * | reader, | ||
Int_t * | overpdg, | ||
Int_t * | overlabel | ||
) |
Compare the primary depositing more energy with the rest, if no photon/electron (conversion) or neutral meson as comon ancestor, consider it as other particle contributing. Give as input the meson label in case it was a pi0 or eta merged cluster.
Definition at line 2006 of file AliMCAnalysisUtils.cxx.
Referenced by AliAnaPhoton::FillShowerShapeHistograms(), AliAnaParticleIsolation::FillTrackMatchingShowerShapeControlHistograms(), AliAnaInsideClusterInvariantMass::GetMCPrimaryKine(), and AliAnaPi0EbE::MakeShowerShapeIdentification().
|
private |
Copy constructor not implemented.
void AliMCAnalysisUtils::Print | ( | const Option_t * | opt | ) | const |
Print some relevant parameters set for the analysis.
Definition at line 2084 of file AliMCAnalysisUtils.cxx.
void AliMCAnalysisUtils::PrintMCTag | ( | Int_t | tag | ) | const |
Print the assigned origins to this particle.
Definition at line 2099 of file AliMCAnalysisUtils.cxx.
|
inline |
Definition at line 119 of file AliMCAnalysisUtils.h.
void AliMCAnalysisUtils::SetMCGenerator | ( | Int_t | mcgen | ) |
Set the generator type.
Definition at line 2129 of file AliMCAnalysisUtils.cxx.
void AliMCAnalysisUtils::SetMCGenerator | ( | TString | mcgen | ) |
Set the generator type.
Definition at line 2145 of file AliMCAnalysisUtils.cxx.
Definition at line 101 of file AliMCAnalysisUtils.h.
Referenced by CheckLostDecayPair(), CheckOriginInAOD(), CheckOriginInStack(), CheckOverlapped2GammaDecay(), and AliAnaPi0EbE::HasPairSameMCMother().
|
private |
|
private |
! particle momentum
Definition at line 143 of file AliMCAnalysisUtils.h.
Referenced by GetDaughter(), and GetMCDecayAsymmetryAngleForPDG().
|
private |
! particle momentum
Definition at line 145 of file AliMCAnalysisUtils.h.
Referenced by GetMCDecayAsymmetryAngleForPDG().
|
private |
Debug level.
Definition at line 135 of file AliMCAnalysisUtils.h.
Referenced by GetDebug(), Print(), and SetDebug().
|
private |
! particle momentum
Definition at line 149 of file AliMCAnalysisUtils.h.
Referenced by GetGrandMother(), GetMotherWithPDG(), and GetNOverlaps().
|
private |
List of jets.
Definition at line 137 of file AliMCAnalysisUtils.h.
Referenced by GetJets(), and ~AliMCAnalysisUtils().
|
private |
MC generator used to generate data in simulation.
Definition at line 139 of file AliMCAnalysisUtils.h.
Referenced by CheckOriginInAOD(), CheckOriginInStack(), GetJets(), GetMCGenerator(), and SetMCGenerator().
|
private |
MC generator used to generate data in simulation.
Definition at line 141 of file AliMCAnalysisUtils.h.
Referenced by GetMCGeneratorString(), Print(), and SetMCGenerator().
|
private |
! particle momentum
Definition at line 147 of file AliMCAnalysisUtils.h.
Referenced by GetMother(), and GetNOverlaps().