![]() |
AliPhysics
1909eaa (1909eaa)
|
Container for particles within the EMCAL framework. More...
#include <AliParticleContainer.h>
Public Types | |
enum | EChargeCut_t { kNoChargeCut, kCharged, kNeutral, kPositiveCharge, kNegativeCharge } |
Public Member Functions | |
AliParticleContainer () | |
AliParticleContainer (const char *name) | |
virtual | ~AliParticleContainer () |
virtual TObject * | operator[] (int index) const |
virtual Bool_t | ApplyParticleCuts (const AliVParticle *vp, UInt_t &rejectionReason) const |
virtual Bool_t | ApplyKinematicCuts (const AliTLorentzVector &mom, UInt_t &rejectionReason) const |
virtual Bool_t | AcceptObject (Int_t i, UInt_t &rejectionReason) const |
virtual Bool_t | AcceptObject (const TObject *obj, UInt_t &rejectionReason) const |
virtual Bool_t | AcceptParticle (const AliVParticle *vp, UInt_t &rejectionReason) const |
virtual Bool_t | AcceptParticle (Int_t i, UInt_t &rejectionReason) const |
Double_t | GetParticlePtCut () const |
Double_t | GetParticleEtaMin () const |
Double_t | GetParticleEtaMax () const |
Double_t | GetParticlePhiMin () const |
Double_t | GetParticlePhiMax () const |
void | SetParticlePtCut (Double_t cut) |
void | SetParticleEtaLimits (Double_t min, Double_t max) |
void | SetParticlePhiLimits (Double_t min, Double_t max) |
virtual AliVParticle * | GetLeadingParticle (const char *opt="") |
virtual AliVParticle * | GetParticle (Int_t i=-1) const |
virtual AliVParticle * | GetAcceptParticle (Int_t i=-1) const |
virtual AliVParticle * | GetNextAcceptParticle () |
virtual AliVParticle * | GetNextParticle () |
virtual Bool_t | GetMomentumFromParticle (TLorentzVector &mom, const AliVParticle *part, Double_t mass) const |
virtual Bool_t | GetMomentumFromParticle (TLorentzVector &mom, const AliVParticle *part) const |
virtual Bool_t | GetMomentum (TLorentzVector &mom, Int_t i) const |
virtual Bool_t | GetAcceptMomentum (TLorentzVector &mom, Int_t i) const |
virtual Bool_t | GetNextMomentum (TLorentzVector &mom) |
virtual Bool_t | GetNextAcceptMomentum (TLorentzVector &mom) |
Int_t | GetNParticles () const |
Int_t | GetNAcceptedParticles () const |
void | SetMinDistanceTPCSectorEdge (Double_t min) |
void | SetCharge (EChargeCut_t c) |
void | SelectHIJING (Bool_t s) |
void | SetGeneratorIndex (Short_t i) |
const char * | GetTitle () const |
const AliParticleIterableContainer | all () const |
const AliParticleIterableContainer | accepted () const |
const AliParticleIterableMomentumContainer | all_momentum () const |
const AliParticleIterableMomentumContainer | accepted_momentum () const |
Protected Attributes | |
Double_t | fMinDistanceTPCSectorEdge |
require minimum distance to edge of TPC sector edge More... | |
EChargeCut_t | fChargeCut |
select particles according to their charge More... | |
Short_t | fGeneratorIndex |
select MC particles with generator index (default = -1 = switch off selection) More... | |
Private Member Functions | |
AliParticleContainer (const AliParticleContainer &obj) | |
AliParticleContainer & | operator= (const AliParticleContainer &other) |
Container for particles within the EMCAL framework.
Container with name, TClonesArray and cuts for particles
Definition at line 28 of file AliParticleContainer.h.
Enumerator | |
---|---|
kNoChargeCut | |
kCharged | |
kNeutral | |
kPositiveCharge | |
kNegativeCharge |
Definition at line 30 of file AliParticleContainer.h.
AliParticleContainer::AliParticleContainer | ( | ) |
Default constructor.
Definition at line 33 of file AliParticleContainer.cxx.
AliParticleContainer::AliParticleContainer | ( | const char * | name | ) |
Standard constructor.
name | Name of the particle branch (TClonesArray) |
Definition at line 47 of file AliParticleContainer.cxx.
|
inlinevirtual |
Definition at line 34 of file AliParticleContainer.h.
|
private |
const AliParticleIterableContainer AliParticleContainer::accepted | ( | ) | const |
Create an iterable container interface over accepted objects in the EMCAL container.
Definition at line 460 of file AliParticleContainer.cxx.
Referenced by AliAnalysisTaskJetSubstructure::DoTrackLoop(), AliAnalysisTaskEmcalSample::DoTrackLoop(), AliAnalysisTaskEmcalJetSample::DoTrackLoop(), AliAnalysisTaskEmcalDijetImbalance::DoTrackLoop(), AliAnalysisTaskEmcalJetHF::DoTrackLoop(), AliAnalysisTaskIDFragmentationFunction::GetTracksInCone(), and TestParticleContainerIterator().
const AliParticleIterableMomentumContainer AliParticleContainer::accepted_momentum | ( | ) | const |
Create an iterable container interface over accepted objects in the EMCAL container.
Definition at line 478 of file AliParticleContainer.cxx.
Referenced by AliEmcalJetTask::FindJets().
|
inlinevirtual |
Reimplemented in AliJetContainer, AliTrackContainer, and AliMCParticleContainer.
Definition at line 46 of file AliParticleContainer.h.
|
inlinevirtual |
Reimplemented in AliJetContainer, AliTrackContainer, and AliMCParticleContainer.
Definition at line 47 of file AliParticleContainer.h.
|
virtual |
Perform full particle selection consisting of kinematical and particle property selection on the particle provided. In case the particle is rejected, the reason for the rejection is encoded in the bitmap rejectionReason.
vp | Particle for which to perform the selection |
rejectionReason | Bitmap with the reason why the particle was accepted. Note: The value is not set to 0 in the function in order to combine the information with other selection steps. |
Reimplemented in AliTrackContainer, and AliMCParticleContainer.
Definition at line 268 of file AliParticleContainer.cxx.
Referenced by AcceptObject(), AliAnalysisTaskEmcal::AcceptTrack(), AliHadCorrTask::ApplyHadCorrAllTracks(), AliEmcalCorrectionClusterHadronicCorrection::ApplyHadCorrAllTracks(), AliHadCorrTask::ApplyHadCorrOneTrack(), AliEmcalCorrectionClusterHadronicCorrection::ApplyHadCorrOneTrack(), AliHadCorrTask::DoMatchedTracksLoop(), AliEmcalCorrectionClusterHadronicCorrection::DoMatchedTracksLoop(), AliAnalysisTaskEmcalJetQA::DoTrackLoop(), GetAcceptParticle(), GetNAcceptedParticles(), AliAnalysisTaskLocalRho::PassesCuts(), AliAnalysisTaskJetV2::PassesCuts(), and TestParticleContainerIterator().
Perform full particle selection consisting of kinematical and particle property selection on the \( i^{th} \) particle in the array. In case the particle is rejected, the reason for the rejection is encoded in the bitmap rejectionReason.
[in] | i | Index of the particle to select. |
[out] | rejectionReason | Bitmap with the reason why the particle was accepted. Note: The value is not set to 0 in the function in order to combine the information with other selection steps. |
Reimplemented in AliTrackContainer, and AliMCParticleContainer.
Definition at line 296 of file AliParticleContainer.cxx.
const AliParticleIterableContainer AliParticleContainer::all | ( | ) | const |
Create an iterable container interface over all objects in the EMCAL container.
Definition at line 451 of file AliParticleContainer.cxx.
Referenced by NS_AliAnalysisTaskEmcalJetCDF::SortTracksPt(), and TestParticleContainerIterator().
const AliParticleIterableMomentumContainer AliParticleContainer::all_momentum | ( | ) | const |
Create an iterable container interface over all objects in the EMCAL container.
Definition at line 469 of file AliParticleContainer.cxx.
Referenced by AliAnalysisTaskEmcalJetQA::DoTrackLoop().
|
virtual |
Apply kinematical cuts to the momentum vector provided. In addition to the standard kinematical cuts in \( p_{t} \), \( \eta \) and \( \phi \), implemented in the AliEmcalContainer::ApplyKinematicCuts, also the distance to the TPC sector boundary is checked.
[in] | mom | Momentum vector for which |
[out] | rejectionReason | Bitmap with the reason why the particle was accepted. Note: The value is not set to 0 in the function in order to combine the information with other selection steps. |
Definition at line 393 of file AliParticleContainer.cxx.
Referenced by AliJetContainer::AcceptJet(), AliMCParticleContainer::AcceptMCParticle(), AliHFAODMCParticleContainer::AcceptMCParticle(), AcceptParticle(), and AliTrackContainer::AcceptTrack().
|
virtual |
Apply cuts on the particle properties. Implemented are
[in] | vp | Particle for which the selection is performed |
[out] | rejectionReason | Bitmap with the reason why the particle was accepted. Note: The value is not set to 0 in the function in order to combine the information with other selection steps. |
Definition at line 319 of file AliParticleContainer.cxx.
Referenced by AcceptParticle(), AliMCParticleContainer::ApplyMCParticleCuts(), and AliTrackContainer::ApplyTrackCuts().
Fills a TLorentzVector with the monentum infomation of the \( i^{th} \) accepted particle in the container, using a global mass hypothesis. In case the provided index is out of range, or the particle under the index is not accepted, false is returned as return value.
[out] | mom | Momentum vector of the accepted particle |
[in] | i | Index to check |
Reimplemented in AliJetContainer, AliTrackContainer, AliMCParticleContainerToyModel, and AliTrackContainerToyModel.
Definition at line 236 of file AliParticleContainer.cxx.
Referenced by AliMCParticleContainerToyModel::GetAcceptMomentum().
|
virtual |
Get \( i^{th} \) particle in the container if it is accepted. In case it is not accepted a nullpointer is returned.
[in] | i | Index of the particle |
Reimplemented in AliTrackContainer, and AliMCParticleContainer.
Definition at line 110 of file AliParticleContainer.cxx.
Referenced by AliHadCorrTask::ApplyHadCorrAllTracks(), AliEmcalCorrectionClusterHadronicCorrection::ApplyHadCorrAllTracks(), AliHadCorrTask::ApplyHadCorrOneTrack(), AliEmcalCorrectionClusterHadronicCorrection::ApplyHadCorrOneTrack(), AliHadCorrTask::DoMatchedTracksLoop(), AliEmcalCorrectionClusterHadronicCorrection::DoMatchedTracksLoop(), AliAnalysisTaskJetShapeDeriv::FillHistograms(), GetAcceptMomentum(), AliAnalysisTaskEmcal::GetAcceptParticleFromArray(), GetNextAcceptParticle(), and AliAnalysisTaskEmcalLight::IsEventSelected().
|
virtual |
Get the leading particle in the container. If "p" is contained in the parameter opt, then the absolute momentum is use instead of the transverse momentum.
[in] | opt | Options for the selection of the leading particle |
Definition at line 63 of file AliParticleContainer.cxx.
Referenced by AliMCParticleContainer::GetLeadingMCParticle(), AliTrackContainer::GetLeadingTrack(), and AliAnalysisTaskChargedJetsHadronCF::Run().
Fills a TLorentzVector with the monentum infomation of the \( i^{th} \) particle in the container, using a global mass hypothesis. In case the provided index is out of range, false is returned as return value.
[out] | mom | Momentum vector of the \( i^{th} \) particle in the array |
[in] | i | Index of th particle to check |
Reimplemented in AliJetContainer, AliTrackContainer, AliMCParticleContainerToyModel, and AliTrackContainerToyModel.
Definition at line 204 of file AliParticleContainer.cxx.
Referenced by AliMCParticleContainer::AcceptMCParticle(), AliHFAODMCParticleContainer::AcceptMCParticle(), AcceptParticle(), and AliMCParticleContainerToyModel::GetMomentum().
|
virtual |
Retrieve momentum information of a particle (part) and fill a TLorentzVector with it. In case the optional parameter mass is provided, it is used as mass hypothesis, otherwise the mass hypothesis from the particle itself is used.
[out] | mom | Momentum vector to be filled |
[in] | part | Particle from which the momentum information is obtained. |
[in] | mass | (Optional) Mass hypothesis |
Definition at line 170 of file AliParticleContainer.cxx.
Referenced by AliMCParticleContainer::AcceptMCParticle(), AliHFAODMCParticleContainer::AcceptMCParticle(), AcceptParticle(), GetAcceptMomentum(), GetMomentum(), AliMCParticleContainerToyModel::GetMomentumFromParticle(), GetMomentumFromParticle(), GetNextAcceptMomentum(), and GetNextMomentum().
|
virtual |
Fills a TLorentzVector with the momentum information of the particle provided under a global mass hypothesis.
[out] | mom | Momentum vector of the particle provided |
[in] | part | Particle from which to obtain the momentum information |
Definition at line 190 of file AliParticleContainer.cxx.
Int_t AliParticleContainer::GetNAcceptedParticles | ( | ) | const |
Get number of accepted particles. In order to get this number, the selection has to be applied to each particle within this function.
Definition at line 414 of file AliParticleContainer.cxx.
Referenced by AliAnalysisTaskJetExtractor::FillEventControlHistograms(), AliAnalysisTaskScale::FillHistograms(), AliAnalysisTaskSoftDrop::FillHistograms(), AliAnalysisTaskEmcalHighMultTrigger::FillHistograms(), AliAnalysisTaskBackFlucRandomCone::FillHistograms(), AliAnalysisTaskJetShapeConst::FillHistograms(), AliAnalysisTaskRhoMassScale::FillHistograms(), AliAnalysisTaskRhoMassBase::FillHistograms(), AliAnalysisTaskRhoBase::FillHistograms(), AliAnalysisTaskEmcalJetMassBkg::FillHistograms(), AliAnalysisTaskEmcalJetCDF::FillHistograms(), AliTrackContainer::GetNAcceptedTracks(), AliAnalysisTaskEmcalTmpSparseMaker::RetrieveEventObjects(), AliAnalysisTaskEmcalJetSparseMaker::RetrieveEventObjects(), AliAnalysisTaskEmcalJetHadEPpid::Run(), and AliAnalysisTaskDmesonJets::AnalysisEngine::RunParticleLevelAnalysis().
|
virtual |
Fills a TLorentzVector with the monentum infomation of the next accepted particle in the container, using a global mass hypothesis. In case the iteration reached the end of the array, false is returned as return value.
[out] | mom | Momentum vector of the next particle in the array |
Reimplemented in AliJetContainer, AliTrackContainer, AliMCParticleContainerToyModel, and AliTrackContainerToyModel.
Definition at line 252 of file AliParticleContainer.cxx.
Referenced by AliMCParticleContainerToyModel::GetNextAcceptMomentum().
|
virtual |
Iterator over accepted particles in the container. Get the next accepted particle in the array. If the end is reached, NULL is returned.
Reimplemented in AliTrackContainer, and AliMCParticleContainer.
Definition at line 129 of file AliParticleContainer.cxx.
Referenced by AliAnalysisTaskSEDmesonsFilterCJ::AddEventTracks(), AliAnalysisTaskSEDmesonsFilterCJ::AddMCEventTracks(), AliAnalysisTaskEmcalJetSparseMaker::CalcAysPlane(), AliAnalysisTaskEmcalTmpSparseMaker::CalcAysPlane(), AliAnalysisTaskJetV2::CalculateRandomCone(), AliAnalysisTaskSoftDrop::CheckClusTrackMatching(), AliAnalysisTaskJetJTJT::CheckClusTrackMatching(), ClassImp(), AliEmcalPicoTrackInGridMaker::CreateGridCells(), AliAnalysisTaskPi0Hadron::DoClusterLoop(), AliJetConstituentTagCopier::DoParticleLoop(), AliAnalysisTaskPi0Hadron::DoTrackLoop(), AliAnalysisTaskHJetSpectra::EstimateBgCone(), AliAnalysisTaskScale::FillHistograms(), AliAnalysisTaskSoftDrop::FillHistograms(), AliAnalysisTaskDcalDijetPerf::FillHistograms(), AliAnalysisTaskJetJTJT::FillHistograms(), AliAnalysisTaskEmcalJetTriggerQA::FillHistograms(), AliAnalysisTaskDijetHadron::FillHistograms(), AliAnalysisTaskEmcalTriggerPatchClusterMatch::FillHistograms(), AliAnalysisTaskEmcalTriggerPatchJetMatch::FillHistograms(), AliAnalysisTaskHJetSpectra::FillHistograms(), AliAnalysisTaskEmcalTmpSparseMaker::FillSparseTrks(), AliEmcalClusTrackMatcherTask::GenerateEmcalParticles(), AliEmcalCorrectionClusterTrackMatcher::GenerateEmcalParticles(), AliAnalysisTaskEmcalJetMassBkg::GetCone(), AliAnalysisTaskHJetSpectra::GetConePt(), GetLeadingParticle(), GetNextAcceptMomentum(), AliAnalysisTaskDeltaPt::GetRandomCone(), AliAnalysisTaskParticleInJet::GetSelectedParticles(), AliAnalysisTaskRhoFlow::Run(), AliEmcalTrackPropagatorTask::Run(), AliAnalysisTaskRhoAverage::Run(), AliAnalysisTaskEmcalJetv2QA::Run(), and AliAnalysisTaskEmcalJetFlavourTagExample::Run().
|
virtual |
Fills a TLorentzVector with the monentum infomation of the next particle in the container, using a global mass hypothesis. In case the iterator reached the end of the array, false is returned as return value.
[out] | mom | Momentum vector of the next particle |
Reimplemented in AliJetContainer, AliTrackContainer, AliMCParticleContainerToyModel, and AliTrackContainerToyModel.
Definition at line 220 of file AliParticleContainer.cxx.
Referenced by AliMCParticleContainerToyModel::GetNextMomentum().
|
virtual |
Iterator over all particles in the container. Get the next particle in the array. If the end is reached, NULL is returned.
Reimplemented in AliTrackContainer, and AliMCParticleContainer.
Definition at line 148 of file AliParticleContainer.cxx.
Referenced by GetNextMomentum().
|
inline |
Definition at line 69 of file AliParticleContainer.h.
Referenced by ClassImp(), AliAnalysisTaskJetShapeDeriv::FillHistograms(), AliAnalysisTaskJetShapeBase::GetEmbeddedConstituent(), GetNAcceptedParticles(), AliTrackContainer::GetNTracks(), AliAnalysisTaskEmcalLight::IsEventSelected(), AliAnalysisTaskFlavourJetCorrelations::Run(), AliAnalysisTaskEmcalJetFlavourTagExample::Run(), AliAnalysisTaskEmcalJetHadEPpid::Run(), and TestParticleContainerIterator().
|
virtual |
Get \( i^{th} \) particle in the container.
[in] | i | Index of the particle to access |
Reimplemented in AliTrackContainer, and AliMCParticleContainer.
Definition at line 95 of file AliParticleContainer.cxx.
Referenced by AcceptParticle(), AliAnalysisTaskJetV2::CalculateEventPlaneTPC(), AliAnalysisTaskSoftDrop::CheckClusTrackMatching(), AliAnalysisTaskJetJTJT::CheckClusTrackMatching(), ClassImp(), AliJetConstituentTagCopier::DoClusterLoop(), AliJetConstituentTagCopier::DoParticleLoop(), AliAnalysisTaskBackFlucRandomCone::FillHistograms(), AliAnalysisTaskJetShapeConst::FillHistograms(), AliEmcalJetTask::FillJetConstituents(), GetAcceptParticle(), AliAnalysisTaskJetShapeBase::GetEmbeddedConstituent(), AliJetResponseMaker::GetMCLabelMatchingLevel(), GetMomentum(), GetNextParticle(), AliJetResponseMaker::GetSameCollectionsMatchingLevel(), operator[](), AliAnalysisTaskFlavourJetCorrelations::Run(), AliAnalysisTaskEmcalJetFlavourTagExample::Run(), and TestParticleContainerIterator().
|
inline |
Definition at line 52 of file AliParticleContainer.h.
Referenced by AliAnalysisTaskIDFragmentationFunction::AnalyseJetTrack(), AliAnalysisTaskRhoAverage::ExecOnce(), AliAnalysisTaskIDFragmentationFunction::FillHistograms(), and AliAnalysisTaskIDFragmentationFunction::PerformJetMonteCarloAnalysisGeneratedYield().
|
inline |
Definition at line 51 of file AliParticleContainer.h.
Referenced by AliAnalysisTaskIDFragmentationFunction::AnalyseJetTrack(), AliAnalysisTaskRhoAverage::ExecOnce(), AliAnalysisTaskIDFragmentationFunction::FillHistograms(), and AliAnalysisTaskIDFragmentationFunction::PerformJetMonteCarloAnalysisGeneratedYield().
|
inline |
Definition at line 54 of file AliParticleContainer.h.
Referenced by AliAnalysisTaskJetV2::CorrectRho(), AliAnalysisTaskJetV3::CorrectRho(), AliAnalysisTaskRhoAverage::ExecOnce(), and AliAnalysisTaskScale::ExecOnce().
|
inline |
Definition at line 53 of file AliParticleContainer.h.
Referenced by AliAnalysisTaskJetV2::CorrectRho(), AliAnalysisTaskJetV3::CorrectRho(), AliAnalysisTaskRhoAverage::ExecOnce(), and AliAnalysisTaskScale::ExecOnce().
|
inline |
Definition at line 50 of file AliParticleContainer.h.
const char * AliParticleContainer::GetTitle | ( | ) | const |
Make a title of the container name based on the min \( p_{t} \) used in the particle selection process.
Definition at line 429 of file AliParticleContainer.cxx.
Referenced by AliJetContainer::GenerateJetName().
|
private |
|
inlinevirtual |
Index operator: Providing access to track in the container with the given index.
[in] | index | Index of the particle in the array |
Definition at line 42 of file AliParticleContainer.h.
|
inline |
Definition at line 73 of file AliParticleContainer.h.
|
inline |
Definition at line 72 of file AliParticleContainer.h.
Referenced by AliEmcalJetTask::AddTaskEmcalJet(), and AliAnalysisTaskDmesonJets::AnalysisEngine::RunParticleLevelAnalysis().
|
inline |
Definition at line 74 of file AliParticleContainer.h.
|
inline |
Definition at line 71 of file AliParticleContainer.h.
Definition at line 56 of file AliParticleContainer.h.
Referenced by AliAnalysisTaskV0sInJetsEmcal::ExecOnce(), AliEmcalJetTask::SetEtaRange(), and AliAnalysisTaskEmcal::SetTrackEtaLimits().
Definition at line 57 of file AliParticleContainer.h.
Referenced by AliEmcalJetTask::SetPhiRange(), and AliAnalysisTaskEmcal::SetTrackPhiLimits().
|
inline |
Definition at line 55 of file AliParticleContainer.h.
Referenced by AliEmcalJetTask::AddTaskEmcalJet(), AliAnalysisTaskEmcalJetTreeBase::AddTaskEmcalJetTree(), AliAnalysisTaskV0sInJetsEmcal::ExecOnce(), AliEmcalTrackingQATask::SetGeneratorLevelName(), AliEmcalJetTask::SetMinJetTrackPt(), and AliAnalysisTaskEmcal::SetTrackPtCut().
|
protected |
select particles according to their charge
Definition at line 89 of file AliParticleContainer.h.
Referenced by ApplyParticleCuts(), and SetCharge().
|
protected |
select MC particles with generator index (default = -1 = switch off selection)
Definition at line 90 of file AliParticleContainer.h.
Referenced by ApplyParticleCuts(), SelectHIJING(), and SetGeneratorIndex().
|
protected |
require minimum distance to edge of TPC sector edge
Definition at line 88 of file AliParticleContainer.h.
Referenced by ApplyKinematicCuts(), and SetMinDistanceTPCSectorEdge().