![]() |
AliPhysics
88fa4f8 (88fa4f8)
|
Base class for container structures within the EMCAL framework. More...
#include <AliEmcalContainer.h>
Public Types | |
enum | RejectionReason { kNullObject = 1<<0, kPtCut = 1<<1, kAcceptanceCut = 1<<2, kMCLabelCut = 1<<3, kBitMapCut = 1<<4, kHFCut = 1<<5, kNotHybridTrack = 1<<7, kMCFlag = 1<<8, kMCGeneratorCut = 1<<9, kChargeCut = 1<<10, kMinDistanceTPCSectorEdgeCut = 1<<11, kIsEMCalCut = 1<<13, kTimeCut = 1<<14, kEnergyCut = 1<<15, kExoticCut = 1<<16, kAreaCut = 1<<18, kAreaEmcCut = 1<<19, kZLeadingChCut = 1<<20, kZLeadingEmcCut = 1<<21, kNEFCut = 1<<22, kMinLeadPtCut = 1<<23, kMaxTrackPtCut = 1<<24, kMaxClusterPtCut = 1<<25, kFlavourCut = 1<<26, kTagStatus = 1<<27, kMinNConstituents = 1<<28 } |
Bit definition for the reason a particle was rejected. More... | |
Public Member Functions | |
AliEmcalContainer () | |
AliEmcalContainer (const char *name) | |
virtual | ~AliEmcalContainer () |
TObject * | operator[] (int index) const |
virtual Bool_t | ApplyKinematicCuts (const AliTLorentzVector &mom, UInt_t &rejectionReason) const |
TClonesArray * | GetArray () const |
const TString & | GetArrayName () const |
const TString & | GetClassName () const |
Double_t | GetMinE () const |
Double_t | GetMaxE () const |
Double_t | GetMinPt () const |
Double_t | GetMaxPt () const |
Double_t | GetMinEta () const |
Double_t | GetMaxEta () const |
Double_t | GetMinPhi () const |
Double_t | GetMaxPhi () const |
Int_t | GetCurrentID () const |
Bool_t | GetIsParticleLevel () const |
Int_t | GetIndexFromLabel (Int_t lab) const |
Int_t | GetNEntries () const |
virtual Bool_t | GetMomentum (TLorentzVector &mom, Int_t i) const =0 |
virtual Bool_t | GetAcceptMomentum (TLorentzVector &mom, Int_t i) const =0 |
virtual Bool_t | GetNextMomentum (TLorentzVector &mom)=0 |
virtual Bool_t | GetNextAcceptMomentum (TLorentzVector &mom)=0 |
virtual Bool_t | AcceptObject (Int_t i, UInt_t &rejectionReason) const =0 |
virtual Bool_t | AcceptObject (const TObject *obj, UInt_t &rejectionReason) const =0 |
Int_t | GetNAcceptEntries () const |
void | ResetCurrentID (Int_t i=-1) |
virtual void | SetArray (AliVEvent *event) |
void | SetArrayName (const char *n) |
void | SetBitMap (UInt_t m) |
void | SetIsParticleLevel (Bool_t b) |
void | SortArray () |
UShort_t | GetRejectionReasonBitPosition (UInt_t rejectionReason) const |
TClass * | GetLoadedClass () |
virtual void | NextEvent () |
void | SetMinMCLabel (Int_t s) |
void | SetMaxMCLabel (Int_t s) |
void | SetMCLabelRange (Int_t min, Int_t max) |
void | SetELimits (Double_t min, Double_t max) |
void | SetMinE (Double_t min) |
void | SetMaxE (Double_t max) |
void | SetPtLimits (Double_t min, Double_t max) |
void | SetMinPt (Double_t min) |
void | SetMaxPt (Double_t max) |
void | SetEtaLimits (Double_t min, Double_t max) |
void | SetPhiLimits (Double_t min, Double_t max) |
void | SetMassHypothesis (Double_t m) |
void | SetClassName (const char *clname) |
const char * | GetName () const |
void | SetName (const char *n) |
const AliEmcalIterableContainer | all () const |
const AliEmcalIterableContainer | accepted () const |
Static Public Member Functions | |
static Bool_t | SamePart (const AliVParticle *part1, const AliVParticle *part2, Double_t dist=1.e-4) |
Protected Attributes | |
TString | fName |
object name More... | |
TString | fClArrayName |
name of branch More... | |
TString | fBaseClassName |
name of the base class that this container can handle More... | |
Bool_t | fIsParticleLevel |
whether or not it is a particle level object collection More... | |
UInt_t | fBitMap |
bitmap mask More... | |
Double_t | fMinPt |
Min. cut on particle \( p_{t} \). More... | |
Double_t | fMaxPt |
Max. cut on particle \( p_{t} \). More... | |
Double_t | fMaxE |
Min. cut on particle energy. More... | |
Double_t | fMinE |
Max. cut on particle energy. More... | |
Double_t | fMinEta |
Min. cut on particle \( \eta \). More... | |
Double_t | fMaxEta |
Max. cut on particle \( \eta \). More... | |
Double_t | fMinPhi |
Min. cut on particle \( \phi \). More... | |
Double_t | fMaxPhi |
Max. cut on particle \( \phi \). More... | |
Int_t | fMinMCLabel |
minimum MC label More... | |
Int_t | fMaxMCLabel |
maximum MC label More... | |
Double_t | fMassHypothesis |
if < 0 it will use a PID mass when available More... | |
TClonesArray * | fClArray |
! Pointer to array in input event More... | |
Int_t | fCurrentID |
! current ID for automatic loops More... | |
AliNamedArrayI * | fLabelMap |
! Label-Index map More... | |
Double_t | fVertex [3] |
! event vertex array More... | |
TClass * | fLoadedClass |
! Class of the objects contained in the TClonesArray More... | |
Private Member Functions | |
AliEmcalContainer (const AliEmcalContainer &obj) | |
AliEmcalContainer & | operator= (const AliEmcalContainer &other) |
Private Attributes | |
TString | fClassName |
name of the class in the TClonesArray More... | |
Base class for container structures within the EMCAL framework.
This class is the base class for container object used in the EMCAL framework. The main purpose is to connect this to objects stored as list objects in the input event, among them particles, EMCAL clusters, or jets. The core of the container is a pointer to a TClonesArray representing the the content in the input event.
Containers can be connected. For example, jet containers need access to the track container and the cluster container in case constituent information is required.
In addition, kinematical cuts can be applied, accessing only content which is selected using the selection cuts to be applied.
Iterator functionality is provided by the AliEmcalIterableContainer. Iterators are available both for all entries and accepted entries in the container
Using c++11 and range-based iteration this code can be simplified to
The usage of EMCAL containers is described under Using the EMCAL containers
Definition at line 67 of file AliEmcalContainer.h.
Bit definition for the reason a particle was rejected.
Definition at line 73 of file AliEmcalContainer.h.
AliEmcalContainer::AliEmcalContainer | ( | ) |
Default constructor. This constructor is only for ROOT I/O and not to be used by users. The container will not connect to an array in the input event.
Definition at line 33 of file AliEmcalContainer.cxx.
AliEmcalContainer::AliEmcalContainer | ( | const char * | name | ) |
Standard (named) constructor. The name provided must match the name of the array inside the list objects in the input event the EMCAL container connects to. The EMCAL container can get a different name, to be specified in the function SetEvent.
name | Name of the container in the input event. |
Definition at line 69 of file AliEmcalContainer.cxx.
|
inlinevirtual |
Definition at line 114 of file AliEmcalContainer.h.
|
private |
const AliEmcalIterableContainer AliEmcalContainer::accepted | ( | ) | const |
Create an iterable container interface over accepted objects in the EMCAL container.
Definition at line 278 of file AliEmcalContainer.cxx.
|
pure virtual |
Implemented in AliParticleContainer, AliClusterContainer, and AliTrackContainer.
Referenced by AliEmcalIterableContainer::BuildAcceptIndices(), and GetNAcceptEntries().
|
pure virtual |
Implemented in AliParticleContainer, AliClusterContainer, and AliTrackContainer.
const AliEmcalIterableContainer AliEmcalContainer::all | ( | ) | const |
Create an iterable container interface over all objects in the EMCAL container.
Definition at line 269 of file AliEmcalContainer.cxx.
|
virtual |
Apply kinematical selection to the momentum vector provided. Selection is done in
[in] | mom | Momentum vector to select |
[out] | rejectionReason | Bitmap for reason why object is rejected |
Reimplemented in AliParticleContainer.
Definition at line 236 of file AliEmcalContainer.cxx.
Referenced by AliClusterContainer::AcceptCluster(), and AliParticleContainer::ApplyKinematicCuts().
|
pure virtual |
Implemented in AliParticleContainer, AliClusterContainer, and AliTrackContainer.
|
inline |
Definition at line 119 of file AliEmcalContainer.h.
Referenced by ClassImp(), EMCalTriggerPtAnalysis::AliAnalysisTaskPtEMCalTrigger::ClusterInJet(), AliAnalysisTaskEmcalSample::ExecOnce(), AliAnalysisTaskEmcal::GetClusterArray(), AliAnalysisTaskEmcal::GetParticleArray(), EMCalTriggerPtAnalysis::AliAnalysisTaskTrackDensityData::GetParticleMultiplicity(), and EMCalTriggerPtAnalysis::AliAnalysisTaskPtEMCalTrigger::TrackInJet().
|
inline |
Definition at line 120 of file AliEmcalContainer.h.
Referenced by AliEmcalClusTrackMatcherTask::ExecOnce(), AliAnalysisTaskEmcal::GetParticleArray(), AliTrackContainer::GetTitle(), AliParticleContainer::GetTitle(), and AliClusterContainer::GetTitle().
|
inline |
Definition at line 121 of file AliEmcalContainer.h.
Referenced by AliEmcalClusTrackMatcherTask::ExecOnce(), and AliHadCorrTask::ExecOnce().
|
inline |
Definition at line 130 of file AliEmcalContainer.h.
Referenced by AliEmcalTrackingQATask::FillHistograms(), AliEmcalClusTrackMatcherTask::GenerateEmcalParticles(), and AliHadCorrTask::Run().
Int_t AliEmcalContainer::GetIndexFromLabel | ( | Int_t | lab | ) | const |
Get the index in the container from a given label
lab | Label to check |
Definition at line 176 of file AliEmcalContainer.cxx.
Referenced by AliClusterContainer::GetAcceptClusterWithLabel(), and AliClusterContainer::GetClusterWithLabel().
|
inline |
Definition at line 131 of file AliEmcalContainer.h.
|
inline |
Definition at line 148 of file AliEmcalContainer.h.
|
inline |
Definition at line 123 of file AliEmcalContainer.h.
|
inline |
Definition at line 127 of file AliEmcalContainer.h.
Referenced by AliParticleContainer::GetParticleEtaMax().
|
inline |
Definition at line 129 of file AliEmcalContainer.h.
Referenced by AliParticleContainer::GetParticlePhiMax().
|
inline |
Definition at line 125 of file AliEmcalContainer.h.
|
inline |
Definition at line 122 of file AliEmcalContainer.h.
|
inline |
Definition at line 126 of file AliEmcalContainer.h.
Referenced by AliParticleContainer::GetParticleEtaMin().
|
inline |
Definition at line 128 of file AliEmcalContainer.h.
Referenced by AliParticleContainer::GetParticlePhiMin().
|
inline |
Definition at line 124 of file AliEmcalContainer.h.
Referenced by AliClusterContainer::GetClusPtCut(), AliParticleContainer::GetParticlePtCut(), AliTrackContainer::GetTitle(), and AliParticleContainer::GetTitle().
|
pure virtual |
Implemented in AliParticleContainer, AliClusterContainer, and AliTrackContainer.
Int_t AliEmcalContainer::GetNAcceptEntries | ( | ) | const |
Count accepted entries in the container
Definition at line 162 of file AliEmcalContainer.cxx.
Referenced by AliEmcalIterableContainer::BuildAcceptIndices().
|
inline |
Definition at line 164 of file AliEmcalContainer.h.
Referenced by SetArray().
|
inline |
Definition at line 133 of file AliEmcalContainer.h.
Referenced by AliParticleContainer::accept_iterator::accept_iterator(), AliClusterContainer::accept_iterator::accept_iterator(), AliEmcalIterableContainer::BuildAcceptIndices(), AliEmcalIterableContainer::GetEntries(), GetNAcceptEntries(), AliClusterContainer::GetNClusters(), AliAnalysisTaskEmcal::GetNClusters(), AliClusterContainer::GetNextAcceptCluster(), AliParticleContainer::GetNextAcceptParticle(), AliTrackContainer::GetNextAcceptTrack(), AliClusterContainer::GetNextCluster(), AliParticleContainer::GetNextParticle(), AliTrackContainer::GetNextTrack(), AliParticleContainer::GetNParticles(), AliAnalysisTaskEmcal::GetNParticles(), and operator[]().
|
pure virtual |
Implemented in AliParticleContainer, AliClusterContainer, and AliTrackContainer.
|
pure virtual |
Implemented in AliParticleContainer, AliClusterContainer, and AliTrackContainer.
UShort_t AliEmcalContainer::GetRejectionReasonBitPosition | ( | UInt_t | rejectionReason | ) | const |
Returns the highest bit in the rejection map as reason why the object was rejected.
Definition at line 198 of file AliEmcalContainer.cxx.
|
inlinevirtual |
Reimplemented in AliTrackContainer.
Definition at line 149 of file AliEmcalContainer.h.
Referenced by AliAnalysisTaskEmcal::RetrieveEventObjects().
|
private |
TObject * AliEmcalContainer::operator[] | ( | int | index | ) | const |
Index operator, accessing object in the container at a given index. Operates on all objects inside the container.
index | Index of the object to access |
Definition at line 104 of file AliEmcalContainer.cxx.
|
inline |
Definition at line 141 of file AliEmcalContainer.h.
Referenced by AliAnalysisTaskEmcalSample::CheckClusTrackMatching(), ClassImp(), AliEmcalTrackingQATask::FillHistograms(), AliAnalysisTaskEmcalSample::FillHistograms(), AliAnalysisTaskEmcalTriggerPatchClusterMatch::FillHistograms(), AliEmcalClusTrackMatcherTask::GenerateEmcalParticles(), AliClusterContainer::GetLeadingCluster(), AliParticleContainer::GetLeadingParticle(), AliAnalysisTaskParticleInJet::GetSelectedParticles(), AliEmcalTrackPropagatorTask::Run(), AliEmcalClusterMaker::Run(), and AliHadCorrTask::Run().
|
static |
Helper function to calculate the distance between two jets or a jet and a particle
part1 | First particle in the check |
part2 | Second particle to compare to |
dist | Maximum distance under which partices are considered as "same" in \( p_{t} \), \( \eta \) and \( \phi \) |
Definition at line 213 of file AliEmcalContainer.cxx.
|
virtual |
Connect the container to the array with content stored inside the virtual event. The object name in the event must match the name given in the constructor
event | Input event containing the array with content. |
Reimplemented in AliTrackContainer.
Definition at line 129 of file AliEmcalContainer.cxx.
Referenced by AliAnalysisTaskEmcal::ExecOnce(), and AliTrackContainer::SetArray().
|
inline |
Definition at line 143 of file AliEmcalContainer.h.
Referenced by AliEmcalTrackingQATask::SetDetectorLevelName().
|
inline |
Definition at line 144 of file AliEmcalContainer.h.
void AliEmcalContainer::SetClassName | ( | const char * | clname | ) |
Set the name of the class of the objets inside the underlying array.
[in] | clname | Name of the class of the object inside the underlying array. |
Definition at line 113 of file AliEmcalContainer.cxx.
Referenced by AliClusterContainer::AliClusterContainer(), AliParticleContainer::AliParticleContainer(), AliTrackContainer::AliTrackContainer(), AliEmcalTrackPropagatorTask::ExecOnce(), AliEmcalClusTrackMatcherTask::ExecOnce(), AliHadCorrTask::ExecOnce(), and AliAnalysisTaskEmcalSample::UserCreateOutputObjects().
|
inline |
Definition at line 153 of file AliEmcalContainer.h.
|
inline |
Definition at line 159 of file AliEmcalContainer.h.
Referenced by AliParticleContainer::SetParticleEtaLimits().
|
inline |
Definition at line 145 of file AliEmcalContainer.h.
|
inline |
Definition at line 161 of file AliEmcalContainer.h.
|
inline |
Definition at line 155 of file AliEmcalContainer.h.
|
inline |
Definition at line 151 of file AliEmcalContainer.h.
Referenced by SetMCLabelRange().
|
inline |
Definition at line 158 of file AliEmcalContainer.h.
|
inline |
Definition at line 152 of file AliEmcalContainer.h.
|
inline |
Definition at line 154 of file AliEmcalContainer.h.
Referenced by AliClusterContainer::SetClusECut().
|
inline |
Definition at line 150 of file AliEmcalContainer.h.
Referenced by SetMCLabelRange().
|
inline |
Definition at line 157 of file AliEmcalContainer.h.
Referenced by AliClusterContainer::SetClusPtCut(), and AliParticleContainer::SetParticlePtCut().
|
inline |
Definition at line 165 of file AliEmcalContainer.h.
|
inline |
Definition at line 160 of file AliEmcalContainer.h.
Referenced by AliParticleContainer::SetParticlePhiLimits().
|
inline |
Definition at line 156 of file AliEmcalContainer.h.
|
inline |
Definition at line 146 of file AliEmcalContainer.h.
|
protected |
name of the base class that this container can handle
Definition at line 175 of file AliEmcalContainer.h.
Referenced by AliClusterContainer::AliClusterContainer(), AliParticleContainer::AliParticleContainer(), AliTrackContainer::AliTrackContainer(), and SetClassName().
|
protected |
bitmap mask
Definition at line 177 of file AliEmcalContainer.h.
Referenced by AliClusterContainer::ApplyClusterCuts(), AliParticleContainer::ApplyParticleCuts(), and SetBitMap().
|
protected |
! Pointer to array in input event
Definition at line 189 of file AliEmcalContainer.h.
Referenced by AliParticleContainer::AcceptParticle(), GetArray(), AliClusterContainer::GetCluster(), AliClusterContainer::GetNAcceptedClusters(), GetNEntries(), AliParticleContainer::GetParticle(), AliTrackContainer::NextEvent(), operator[](), SetArray(), and SortArray().
|
protected |
name of branch
Definition at line 174 of file AliEmcalContainer.h.
Referenced by GetArrayName(), GetIndexFromLabel(), SetArray(), and SetArrayName().
|
private |
name of the class in the TClonesArray
Definition at line 196 of file AliEmcalContainer.h.
Referenced by GetClassName(), SetArray(), and SetClassName().
|
protected |
! current ID for automatic loops
Definition at line 190 of file AliEmcalContainer.h.
Referenced by AliTrackContainer::GetAcceptMomentum(), AliParticleContainer::GetAcceptMomentum(), AliParticleContainer::GetAcceptParticle(), AliTrackContainer::GetAcceptTrack(), GetCurrentID(), AliClusterContainer::GetLeadingCluster(), AliParticleContainer::GetLeadingParticle(), AliTrackContainer::GetMomentum(), AliParticleContainer::GetMomentum(), AliClusterContainer::GetNextAcceptCluster(), AliTrackContainer::GetNextAcceptMomentum(), AliParticleContainer::GetNextAcceptParticle(), AliTrackContainer::GetNextAcceptTrack(), AliClusterContainer::GetNextCluster(), AliTrackContainer::GetNextMomentum(), AliParticleContainer::GetNextParticle(), AliTrackContainer::GetNextTrack(), AliParticleContainer::GetParticle(), AliTrackContainer::GetTrack(), and ResetCurrentID().
|
protected |
whether or not it is a particle level object collection
Definition at line 176 of file AliEmcalContainer.h.
Referenced by GetIsParticleLevel(), and SetIsParticleLevel().
|
protected |
! Label-Index map
Definition at line 191 of file AliEmcalContainer.h.
Referenced by GetIndexFromLabel(), and SetArray().
|
protected |
! Class of the objects contained in the TClonesArray
Definition at line 193 of file AliEmcalContainer.h.
Referenced by AliTrackContainer::GetAcceptMomentum(), GetLoadedClass(), AliTrackContainer::GetMomentum(), AliTrackContainer::GetMomentumFromTrack(), AliTrackContainer::GetNextAcceptMomentum(), AliTrackContainer::GetNextMomentum(), AliTrackContainer::SetArray(), and SetArray().
|
protected |
if < 0 it will use a PID mass when available
Definition at line 188 of file AliEmcalContainer.h.
Referenced by AliTrackContainer::AliTrackContainer(), AliTrackContainer::GetAcceptMomentum(), AliTrackContainer::GetMomentum(), AliClusterContainer::GetMomentum(), AliParticleContainer::GetMomentumFromParticle(), AliTrackContainer::GetMomentumFromTrack(), AliTrackContainer::GetNextAcceptMomentum(), AliTrackContainer::GetNextMomentum(), and SetMassHypothesis().
|
protected |
Min. cut on particle energy.
Definition at line 180 of file AliEmcalContainer.h.
Referenced by ApplyKinematicCuts(), GetMaxE(), SetELimits(), and SetMaxE().
|
protected |
Max. cut on particle \( \eta \).
Definition at line 183 of file AliEmcalContainer.h.
Referenced by ApplyKinematicCuts(), GetMaxEta(), and SetEtaLimits().
|
protected |
maximum MC label
Definition at line 187 of file AliEmcalContainer.h.
Referenced by AliClusterContainer::ApplyClusterCuts(), AliParticleContainer::ApplyParticleCuts(), SetMaxMCLabel(), and AliClusterContainer::SetMaxMCLabel().
|
protected |
Max. cut on particle \( \phi \).
Definition at line 185 of file AliEmcalContainer.h.
Referenced by ApplyKinematicCuts(), GetMaxPhi(), and SetPhiLimits().
|
protected |
Max. cut on particle \( p_{t} \).
Definition at line 179 of file AliEmcalContainer.h.
Referenced by ApplyKinematicCuts(), GetMaxPt(), SetMaxPt(), and SetPtLimits().
|
protected |
Max. cut on particle energy.
Definition at line 181 of file AliEmcalContainer.h.
Referenced by ApplyKinematicCuts(), AliClusterContainer::GetClusUserDefEnergyCut(), GetMinE(), AliClusterContainer::SetClusUserDefEnergyCut(), SetELimits(), and SetMinE().
|
protected |
Min. cut on particle \( \eta \).
Definition at line 182 of file AliEmcalContainer.h.
Referenced by ApplyKinematicCuts(), GetMinEta(), and SetEtaLimits().
|
protected |
minimum MC label
Definition at line 186 of file AliEmcalContainer.h.
Referenced by AliClusterContainer::ApplyClusterCuts(), AliParticleContainer::ApplyParticleCuts(), SetMinMCLabel(), and AliClusterContainer::SetMinMCLabel().
|
protected |
Min. cut on particle \( \phi \).
Definition at line 184 of file AliEmcalContainer.h.
Referenced by ApplyKinematicCuts(), GetMinPhi(), and SetPhiLimits().
|
protected |
Min. cut on particle \( p_{t} \).
Definition at line 178 of file AliEmcalContainer.h.
Referenced by ApplyKinematicCuts(), GetMinPt(), SetMinPt(), and SetPtLimits().
|
protected |
object name
Definition at line 173 of file AliEmcalContainer.h.
|
protected |
! event vertex array
Definition at line 192 of file AliEmcalContainer.h.
Referenced by AliEmcalContainer(), AliClusterContainer::GetLeadingCluster(), AliClusterContainer::GetMomentum(), and SetArray().