AliPhysics  608b256 (608b256)
AliHFAODMCParticleContainer Class Reference

Select MC particles based on specific prescriptions of HF analysis. More...

#include <AliHFAODMCParticleContainer.h>

Inheritance diagram for AliHFAODMCParticleContainer:

Public Member Functions

 AliHFAODMCParticleContainer ()
 This is the default constructor, used for ROOT I/O purposes. More...
 
 AliHFAODMCParticleContainer (const char *name)
 
void SetSpecialPDG (Int_t pdg)
 
void SetRejectQuarkNotFound (Bool_t c)
 
Bool_t GetRejectQuarkNotFound () const
 
void SetRejectDfromB (Bool_t c)
 
Bool_t GetRejectDfromB () const
 
void SetKeepOnlyDfromB (Bool_t c)
 
Bool_t GetKeepOnlyDfromB () const
 
void SetKeepOnlyD0toKpi ()
 
void SetKeepOnlyDStartoKpipi ()
 
void SetRejectedOriginMap (UInt_t m)
 
void SetAcceptedDecayMap (UInt_t m)
 
void SetRejectISR (Bool_t b)
 
void SelectCharmtoD0toKpi ()
 Automatically sets parameters to select only the decay chain c->D0->Kpi. More...
 
void SelectCharmtoDStartoKpipi ()
 Automatically sets parameters to select only the decay chain c->D*->Kpipi. More...
 
virtual Bool_t AcceptMCParticle (const AliAODMCParticle *vp, UInt_t &rejectionReason) const
 
virtual Bool_t AcceptMCParticle (Int_t i, UInt_t &rejectionReason) const
 
Bool_t IsSpecialPDGFound () const
 
void SetHistOrigin (TH1 *h)
 
- Public Member Functions inherited from AliMCParticleContainer
 AliMCParticleContainer ()
 
 AliMCParticleContainer (const char *name)
 
virtual ~AliMCParticleContainer ()
 
virtual Bool_t ApplyMCParticleCuts (const AliAODMCParticle *vp, 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 (Int_t i, UInt_t &rejectionReason) const
 
virtual Bool_t AcceptParticle (const AliVParticle *vp, UInt_t &rejectionReason) const
 
virtual AliAODMCParticle * GetMCParticleWithLabel (Int_t lab) const
 
virtual AliAODMCParticle * GetAcceptMCParticleWithLabel (Int_t lab)
 
virtual AliAODMCParticle * GetLeadingMCParticle (const char *opt="")
 
virtual AliAODMCParticle * GetMCParticle (Int_t i=-1) const
 
virtual AliAODMCParticle * GetAcceptMCParticle (Int_t i=-1) const
 
virtual AliAODMCParticle * GetNextAcceptMCParticle ()
 
virtual AliAODMCParticle * GetNextMCParticle ()
 
virtual AliVParticle * GetParticle (Int_t i=-1) const
 
virtual AliVParticle * GetAcceptParticle (Int_t i=-1) const
 
virtual AliVParticle * GetNextAcceptParticle ()
 
virtual AliVParticle * GetNextParticle ()
 
void SetMCFlag (UInt_t m)
 
void SelectPhysicalPrimaries (Bool_t s)
 
const char * GetTitle () const
 
const AliMCParticleIterableContainer all () const
 
const AliMCParticleIterableContainer accepted () const
 
const AliMCParticleIterableMomentumContainer all_momentum () const
 
const AliMCParticleIterableMomentumContainer accepted_momentum () const
 
- Public Member Functions inherited from AliParticleContainer
 AliParticleContainer ()
 
 AliParticleContainer (const char *name)
 
virtual ~AliParticleContainer ()
 
virtual TObjectoperator[] (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
 
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 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)
 
void SetArray (const AliVEvent *event)
 
const char * GetTitle () const
 
const AliParticleIterableContainer all () const
 
const AliParticleIterableContainer accepted () const
 
const AliParticleIterableMomentumContainer all_momentum () const
 
const AliParticleIterableMomentumContainer accepted_momentum () const
 
- Public Member Functions inherited from AliEmcalContainer
 AliEmcalContainer ()
 Default constructor. More...
 
 AliEmcalContainer (const char *name)
 Standard (named) constructor. More...
 
virtual ~AliEmcalContainer ()
 Destructor. More...
 
TClonesArray * GetArray () const
 
const TStringGetArrayName () const
 
const TStringGetClassName () const
 
TClass * GetClass () 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
 
Double_t GetEtaSwing () const
 
Double_t GetPhiSwing () const
 
Double_t GetAcceptance () const
 
Int_t GetCurrentID () const
 
Bool_t GetIsParticleLevel () const
 
Int_t GetIndexFromLabel (Int_t lab) const
 Get the index in the container from a given label. More...
 
Int_t GetNEntries () const
 
Int_t GetNAcceptEntries () const
 Count accepted entries in the container. More...
 
void ResetCurrentID (Int_t i=-1)
 Reset the iterator to a given index. More...
 
void SetArrayName (const char *n)
 
void SetVertex (Double_t *vtx)
 
void SetBitMap (UInt_t m)
 
void SetIsParticleLevel (Bool_t b)
 
void SortArray ()
 
TClass * GetLoadedClass ()
 
virtual void NextEvent (const AliVEvent *event)
 Preparation for the next event. More...
 
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)
 
void SetIsEmbedding (Bool_t b)
 Set embedding status. More...
 
Bool_t GetIsEmbedding () const
 Get embedding status. More...
 
const char * GetName () const
 
void SetName (const char *n)
 Set the name of the class of the objets inside the underlying array. More...
 
const AliEmcalIterableContainer all () const
 Create an iterable container interface over all objects in the EMCAL container. More...
 
const AliEmcalIterableContainer accepted () const
 Create an iterable container interface over accepted objects in the EMCAL container. More...
 
const AliEmcalIterableMomentumContainer all_momentum () const
 Create an iterable container interface over all objects in the EMCAL container. More...
 
const AliEmcalIterableMomentumContainer accepted_momentum () const
 Create an iterable container interface over accepted objects in the EMCAL container. More...
 

Protected Member Functions

Bool_t IsSpecialPDGDaughter (const AliAODMCParticle *part) const
 
Bool_t IsSpecialPDG (const AliAODMCParticle *part, TH1 *histOrigin=0) const
 
- Protected Member Functions inherited from AliMCParticleContainer
virtual TString GetDefaultArrayName (const AliVEvent *const ev) const
 Handling default Array names. More...
 
- Protected Member Functions inherited from AliEmcalContainer
void GetVertexFromEvent (const AliVEvent *event)
 Retrieve the vertex from the given event. More...
 

Protected Attributes

Int_t fSpecialPDG
 include particles with this PDG code even if they are not primary particles (and exclude their daughters) More...
 
UInt_t fRejectedOrigin
 Bit mask with D meson origins that are rejected. More...
 
UInt_t fAcceptedDecay
 Bit mask with D meson decays that are accepted. More...
 
Bool_t fRejectISR
 Reject initial state radiation. More...
 
TH1fHistOrigin
 ! Book-keeping histogram with origin of special PDG particles More...
 
- Protected Attributes inherited from AliMCParticleContainer
UInt_t fMCFlag
 select MC particles with flags More...
 
- Protected Attributes inherited from AliParticleContainer
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...
 
- Protected Attributes inherited from AliEmcalContainer
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...
 
Bool_t fIsEmbedding
 if true, this container will connect to an external event More...
 
TClonesArray * fClArray
 ! Pointer to array in input event More...
 
Int_t fCurrentID
 ! current ID for automatic loops More...
 
AliNamedArrayIfLabelMap
 ! 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

 AliHFAODMCParticleContainer (const AliHFAODMCParticleContainer &)
 
AliHFAODMCParticleContaineroperator= (const AliHFAODMCParticleContainer &)
 

Additional Inherited Members

- Public Types inherited from AliParticleContainer
enum  EChargeCut_t {
  kNoChargeCut, kCharged, kNeutral, kPositiveCharge,
  kNegativeCharge
}
 
- Public Types inherited from AliEmcalContainer
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, kOverlapTpcHole = 1<<29
}
 Bit definition for the reason a particle was rejected. More...
 
- Static Public Member Functions inherited from AliParticleContainer
static const AliEmcalContainerIndexMap< TClonesArray, AliVParticle > & GetEmcalContainerIndexMap ()
 Get the EMCal container utils associated with particle containers. More...
 
- Static Public Member Functions inherited from AliEmcalContainer
static Double_t RelativePhi (Double_t ang1, Double_t ang2)
 Calculates the relative phi between two angle values and returns it in [-Pi, +Pi] range. More...
 
static Bool_t SamePart (const AliVParticle *part1, const AliVParticle *part2, Double_t dist=1.e-4)
 Helper function to calculate the distance between two jets or a jet and a particle. More...
 
static UShort_t GetRejectionReasonBitPosition (UInt_t rejectionReason)
 Returns the highest bit in the rejection map as reason why the object was rejected. More...
 
- Static Protected Attributes inherited from AliParticleContainer
static AliEmcalContainerIndexMap< TClonesArray, AliVParticle > fgEmcalContainerIndexMap
 ! Mapping from containers to indices More...
 

Detailed Description

Select MC particles based on specific prescriptions of HF analysis.

This class derives from AliParticleContainer. It allows to select MC particles based on specific prescriptions of HF analysis. In particular it will select physical primary particles, exceot for specific D mesons, where the D meson itself will be selected whereas its daughter rejected.

Author
Salvatore Aiola salva.nosp@m.tore.nosp@m..aiol.nosp@m.a@ce.nosp@m.rn.ch, Yale University
Date
Feb 8, 2016

Definition at line 34 of file AliHFAODMCParticleContainer.h.

Constructor & Destructor Documentation

AliHFAODMCParticleContainer::AliHFAODMCParticleContainer ( )

This is the default constructor, used for ROOT I/O purposes.

Definition at line 27 of file AliHFAODMCParticleContainer.cxx.

AliHFAODMCParticleContainer::AliHFAODMCParticleContainer ( const char *  name)

This is the standard named constructor.

Parameters
nameName of the particle collection

Definition at line 41 of file AliHFAODMCParticleContainer.cxx.

AliHFAODMCParticleContainer::AliHFAODMCParticleContainer ( const AliHFAODMCParticleContainer )
private

Member Function Documentation

Bool_t AliHFAODMCParticleContainer::AcceptMCParticle ( const AliAODMCParticle *  vp,
UInt_t rejectionReason 
) const
virtual

First check whether the particle is a daughter of a "special" PDG particle (in which case the particle is rejected); if the particle itself is "special" PDG particle, skips the regular MC particle cuts and apply only the general particle and kinematic cuts.

Parameters
iIndex of the particle to be checked.
Returns
kTRUE if the particle is accepted, kFALSE otherwise.

Reimplemented from AliMCParticleContainer.

Definition at line 80 of file AliHFAODMCParticleContainer.cxx.

Referenced by SetRejectISR().

Bool_t AliHFAODMCParticleContainer::AcceptMCParticle ( Int_t  i,
UInt_t rejectionReason 
) const
virtual

First check whether the particle is a daughter of a "special" PDG particle (in which case the particle is rejected); if the particle itself is "special" PDG particle, skips the regular MC particle cuts and apply only the general particle and kinematic cuts.

Parameters
iIndex of the particle to be checked.
Returns
kTRUE if the particle is accepted, kFALSE otherwise.

Reimplemented from AliMCParticleContainer.

Definition at line 108 of file AliHFAODMCParticleContainer.cxx.

Bool_t AliHFAODMCParticleContainer::GetKeepOnlyDfromB ( ) const
inline

Definition at line 48 of file AliHFAODMCParticleContainer.h.

Bool_t AliHFAODMCParticleContainer::GetRejectDfromB ( ) const
inline

Definition at line 45 of file AliHFAODMCParticleContainer.h.

Bool_t AliHFAODMCParticleContainer::GetRejectQuarkNotFound ( ) const
inline

Definition at line 42 of file AliHFAODMCParticleContainer.h.

Bool_t AliHFAODMCParticleContainer::IsSpecialPDG ( const AliAODMCParticle *  part,
TH1 histOrigin = 0 
) const
protected

Check if particle it's a daughter of a "special" PDG particle: AOD mode

Parameters
partPointer to a valid AliAODMCParticle object
Returns
kTRUE if it is a daughter of the "special" PDG particle, kFALSE otherwise

Definition at line 158 of file AliHFAODMCParticleContainer.cxx.

Referenced by AcceptMCParticle(), IsSpecialPDGDaughter(), IsSpecialPDGFound(), and SetHistOrigin().

Bool_t AliHFAODMCParticleContainer::IsSpecialPDGDaughter ( const AliAODMCParticle *  part) const
protected

Check if particle it's a "special" PDG particle: AOD mode

Parameters
partPointer to a valid AliAODMCParticle object
Returns
kTRUE if it is a "special" PDG particle, kFALSE otherwise

Definition at line 135 of file AliHFAODMCParticleContainer.cxx.

Referenced by AcceptMCParticle(), and SetHistOrigin().

Bool_t AliHFAODMCParticleContainer::IsSpecialPDGFound ( ) const

Checks whether the special PDG particle is found in the container

Returns
kTRUE if the special PDG particle is found

Definition at line 200 of file AliHFAODMCParticleContainer.cxx.

Referenced by AliAnalysisTaskHFSubstructure::FillHistograms(), AliAnalysisTaskDmesonJetsSub::AnalysisEngine::RunParticleLevelAnalysis(), AliAnalysisTaskDmesonJets::AnalysisEngine::RunParticleLevelAnalysis(), and SetRejectISR().

AliHFAODMCParticleContainer& AliHFAODMCParticleContainer::operator= ( const AliHFAODMCParticleContainer )
private
void AliHFAODMCParticleContainer::SelectCharmtoD0toKpi ( )

Automatically sets parameters to select only the decay chain c->D0->Kpi.

Definition at line 54 of file AliHFAODMCParticleContainer.cxx.

Referenced by SetRejectISR().

void AliHFAODMCParticleContainer::SelectCharmtoDStartoKpipi ( )

Automatically sets parameters to select only the decay chain c->D*->Kpipi.

Definition at line 64 of file AliHFAODMCParticleContainer.cxx.

Referenced by SetRejectISR().

void AliHFAODMCParticleContainer::SetHistOrigin ( TH1 h)
inline

Definition at line 66 of file AliHFAODMCParticleContainer.h.

void AliHFAODMCParticleContainer::SetKeepOnlyD0toKpi ( )
inline

Definition at line 50 of file AliHFAODMCParticleContainer.h.

Referenced by SelectCharmtoD0toKpi().

void AliHFAODMCParticleContainer::SetKeepOnlyDfromB ( Bool_t  c)
inline
void AliHFAODMCParticleContainer::SetKeepOnlyDStartoKpipi ( )
inline

Definition at line 51 of file AliHFAODMCParticleContainer.h.

Referenced by SelectCharmtoDStartoKpipi().

void AliHFAODMCParticleContainer::SetRejectDfromB ( Bool_t  c)
inline
void AliHFAODMCParticleContainer::SetRejectQuarkNotFound ( Bool_t  c)
inline

Member Data Documentation

UInt_t AliHFAODMCParticleContainer::fAcceptedDecay
protected

Bit mask with D meson decays that are accepted.

Definition at line 74 of file AliHFAODMCParticleContainer.h.

Referenced by IsSpecialPDG(), SetAcceptedDecayMap(), SetKeepOnlyD0toKpi(), and SetKeepOnlyDStartoKpipi().

TH1* AliHFAODMCParticleContainer::fHistOrigin
protected

! Book-keeping histogram with origin of special PDG particles

Definition at line 76 of file AliHFAODMCParticleContainer.h.

Referenced by AcceptMCParticle(), and SetHistOrigin().

UInt_t AliHFAODMCParticleContainer::fRejectedOrigin
protected
Bool_t AliHFAODMCParticleContainer::fRejectISR
protected

Reject initial state radiation.

Definition at line 75 of file AliHFAODMCParticleContainer.h.

Referenced by IsSpecialPDG(), and SetRejectISR().

Int_t AliHFAODMCParticleContainer::fSpecialPDG
protected

include particles with this PDG code even if they are not primary particles (and exclude their daughters)

Definition at line 72 of file AliHFAODMCParticleContainer.h.

Referenced by IsSpecialPDG(), IsSpecialPDGDaughter(), and SetSpecialPDG().


The documentation for this class was generated from the following files: