ROOT logo
AliRoot » PWGHF » HFE » AliHFEmcQA

class AliHFEmcQA: public TObject

Function Members (Methods)

public:
AliHFEmcQA()
AliHFEmcQA(const AliHFEmcQA& p)
virtual~AliHFEmcQA()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) const
voidCreatDefaultHistograms(TList *const qaList)
voidCreateHistograms(const Int_t kquark)
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
voidEnableDebugStreamer()
voidEnableGetWeightHist()
voidEndOfEventAna(const Int_t kquark)
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
voidGetDecayedKine(TParticle* part, const Int_t kquark, const Int_t kdecayed)
voidGetDecayedKine(AliAODMCParticle* mcpart, const Int_t kquark, Int_t kdecayed)
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
Int_tGetElecSource(const AliVParticle *const mctrack, Bool_t isElec) const
Int_tGetElecSource(TParticle *const mcpart, Bool_t isElec) const
Int_tGetElecSource(const AliAODMCParticle *const mcpart, Bool_t isElec) const
voidGetHadronKine(TParticle* part, const Int_t kquark)
virtual const char*TObject::GetIconName() const
TList*GetList() const
voidGetMesonKine()
virtual const char*TObject::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
voidGetQuarkKine(TParticle* part, Int_t iTrack, const Int_t kquark)
Int_tGetSource(const TParticle *const mcpart) const
Int_tGetSource(const AliVParticle *const mcpart) const
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
Int_tGetWeightCentralityBin(const Float_t percentile) const
Double_tGetWeightFactor(AliMCParticle* mctrack, const Int_t iBgLevel)
Double_tGetWeightFactor(const AliAODMCParticle *const mcpart, const Int_t iBgLevel)
Double_tGetWeightFactorForPrimaries(const AliAODMCParticle *const mcpart, const Int_t iBgLevel)
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
voidInit()
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
Bool_tIsPbPb() const
Bool_tIsPP() const
Bool_tIsPPMultiBin() const
virtual Bool_tTObject::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTObject::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
AliHFEmcQA&operator=(const AliHFEmcQA&)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
voidPostAnalyze() const
virtual voidTObject::Print(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidSetBackgroundWeightFactor(Double_t* elecBackgroundFactor, Double_t* binLimit)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidSetCentrality(Int_t centrality)
voidSetContainerStep(Int_t containerStep)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidSetGenEventHeader(AliGenEventHeader *const mcHeader)
voidSetHFEImpactParameters(Double_t hfeimpactR, Double_t hfeimpactnsigmaR)
voidSetITSInfo(Double_t ilyrhit, Double_t ilyrstat)
voidSetMCArray(TClonesArray *const mcarry)
voidSetMCEvent(AliMCEvent *const mcEvent)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetPbPb()
voidSetPercentrality(Int_t percentrality)
voidSetPP()
voidSetPPMultiBin()
voidSetTrkKine(Double_t pt, Double_t eta, Double_t phi)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector&)
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
Int_tGetMother(const AliVParticle *const track) const
voidHardScattering(const Int_t kquark, Int_t& motherID, Int_t& mothertype, Int_t& motherlabel)
voidIdentifyMother(Int_t motherlabel, Int_t& motherpdg, Int_t& grandmotherlabel)
Bool_tIsFromFinalParton(Int_t inputmotherlabel, Int_t& motherID, Int_t& mothertype, Int_t& motherlabel)
Bool_tIsFromInitialShower(Int_t inputmotherlabel, Int_t& motherID, Int_t& mothertype, Int_t& motherlabel)
voidTObject::MakeZombie()
voidReportStrangeness(Int_t& motherID, Int_t& mothertype, Int_t& motherlabel)

Data Members

public:
enum heavyType { kCharm
kBeauty
kOthers
kElectronPDG
};
enum qType { kQuark
kantiQuark
kHadron
keHadron
kDeHadron
kElectron
kElectron2nd
};
enum SourceType { kDirectCharm
kDirectBeauty
kBeautyCharm
kGamma
kPi0
kElse
kMisID
kEta
kOmega
kPhi
kEtaPrime
kRho0
kGammaPi0
kGammaEta
kGammaOmega
kGammaPhi
kGammaEtaPrime
kGammaRho0
kJpsi
kB2Jpsi
kKe3
kGammaB2M
kGammaD2M
kGammaM2M
kB2M
kD2M
kM2M
kScdryM
};
enum ProcessType { kPairCreationFromq
kPairCreationFromg
kFlavourExitation
kGluonSplitting
kInitialPartonShower
kLightQuarkShower
};
enum { kBgPtBins
kElecBgSpecies
kCentBins
kBgLevels
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
Double_tfBinLimit[45]Electron background bins
Double_tfElecBackgroundFactor[3][11][6][44]Electron background factors
TParticle*fHeavyQuark[50]! store pointer of heavy flavour quark
AliHFEmcQA::AliHistsfHist[3][7][6][11]struct of histograms to store kinematics of given particles
AliHFEmcQA::AliHistsCommfHistComm[2][6]struct of additional histograms of given particles
Int_tfIsHeavy[2]count of heavy flavour
TClonesArray*fMCArraymc array pointer
AliMCEvent*fMCEventmcevent pointer
AliGenEventHeader*fMCHeadermcheader pointer
AliHFEcollection*fMCQACollection! Tasks own QA collection
Int_tfNparentsnumber of heavy hadrons to be considered
Int_tfParentSelect[2][7]heavy hadron species
TList*fQAhistosContainer for QA histos
static const Int_tfgkEtaRangescuts for different eta ranges
static const Int_tfgkGluongluon pdg code
static const Int_tfgkMaxGenerancester level wanted to be checked
static const Int_tfgkMaxIternumber of iteration to find out matching particle
static const Int_tfgkqTypenumber of particle type to be checked
TH2F*fhD[9]D meson pt,Y spectra
private:
Int_tfCentralityCentrality
Int_tfContainerStepstep the weighting factor called
Bool_tfGetWeightHistWrite histogram to calculate weights
Double_tfHfeImpactRabsolute impact parameter R
Double_tfHfeImpactnsigmaRabsolute impact parameter sigma R
Bool_tfIsDebugStreamerONcheck if the debugstreamer is on
Bool_tfIsPbPbAnalysis Type: pp or PbPb
Bool_tfIsppMultiBinpp multiplicity bin analysis
Double_tfLyrhitits layer hit
Double_tfLyrstatits layer status
Int_tfPerCentralityCentrality percentile
Double_tfRecEtareconstructed eta
Double_tfRecPhireconstructed phi
Double_tfRecPtreconstructed pt
TTreeSRedirector*fTreeStream! TreeStream

Class Charts

Inheritance Chart:
TObject
AliHFEmcQA

Function documentation

AliHFEmcQA()
 Default constructor
AliHFEmcQA(const AliHFEmcQA& p)
 Copy constructor
operator=(const AliHFEmcQA& )
 Assignment operator
~AliHFEmcQA()
 Destructor
void PostAnalyze() const
 Post analysis

void SetBackgroundWeightFactor(Double_t* elecBackgroundFactor, Double_t* binLimit)
 copy background weighting factors into data member

void CreatDefaultHistograms(TList *const qaList)
 make default histograms

void CreateHistograms(const Int_t kquark)
 create histograms
void Init()
 called at begining every event
void GetMesonKine()
 get meson pt spectra

void GetQuarkKine(TParticle* part, Int_t iTrack, const Int_t kquark)
 get heavy quark kinematics
void EndOfEventAna(const Int_t kquark)
 end of event analysis
void GetHadronKine(TParticle* part, const Int_t kquark)
 decay electron kinematics
void GetDecayedKine(TParticle* part, const Int_t kquark, const Int_t kdecayed)
 decay electron kinematics
void GetDecayedKine(AliAODMCParticle* mcpart, const Int_t kquark, Int_t kdecayed)
 decay electron kinematics
void IdentifyMother(Int_t motherlabel, Int_t& motherpdg, Int_t& grandmotherlabel)
 find mother pdg code and label
void HardScattering(const Int_t kquark, Int_t& motherID, Int_t& mothertype, Int_t& motherlabel)
 mothertype -1 means this heavy quark coming from hard vertex
Bool_t IsFromInitialShower(Int_t inputmotherlabel, Int_t& motherID, Int_t& mothertype, Int_t& motherlabel)
 mothertype -2 means this heavy quark coming from initial state
Bool_t IsFromFinalParton(Int_t inputmotherlabel, Int_t& motherID, Int_t& mothertype, Int_t& motherlabel)
 mothertype 2 means this heavy quark coming from final state
void ReportStrangeness(Int_t& motherID, Int_t& mothertype, Int_t& motherlabel)
 mark strange behavior
Int_t GetSource(const AliVParticle *const mcpart) const
 decay particle's origin
Int_t GetSource(const TParticle *const mcpart) const
 decay particle's origin
Int_t GetElecSource(TParticle *const mcpart, Bool_t isElec) const
 decay particle's origin
Int_t GetElecSource(const AliVParticle *const mctrack, Bool_t isElec) const
 decay particle's origin

Int_t GetElecSource(const AliAODMCParticle *const mcpart, Bool_t isElec) const
 Function for AliAODMCParticle

Double_t GetWeightFactor(AliMCParticle* mctrack, const Int_t iBgLevel)
 Get weighting factor for the realistic background estimation, for three possible background yield levels, indicated by the argument "iLevel": the best estimate (0), the lower uncertainty level (1), and the upper uncertainty level (2)

Double_t GetWeightFactor(const AliAODMCParticle *const mcpart, const Int_t iBgLevel)
 Get weighting factor for the realistic background estimation, for three possible background yield levels, indicated by the argument "iLevel": the best estimate (0), the lower uncertainty level (1), and the upper uncertainty level (2)

Double_t GetWeightFactorForPrimaries(const AliAODMCParticle *const mcpart, const Int_t iBgLevel)
 Get weighting factor for the realistic background estimation, for three possible background yield levels, indicated by the argument "iLevel": the best estimate (0), the lower uncertainty level (1), and the upper uncertainty level (2)
 weighting will only be non zero for electrons from primary pi0 and eta mesons (via Dalitz or gamma conversions)

Int_t GetMother(const AliVParticle *const track) const
 Wrapper to get the mother label

Int_t GetWeightCentralityBin(const Float_t percentile) const
translate the centrality percentile into the centrality bin of the reference weighting histograms for electron background

TList * GetList() const
{ return fQAhistos; }
void SetMCEvent(AliMCEvent *const mcEvent)
{fMCEvent = mcEvent;}
void SetGenEventHeader(AliGenEventHeader *const mcHeader)
{fMCHeader=mcHeader;}
void SetMCArray(TClonesArray *const mcarry)
{fMCArray=mcarry;}
void EnableDebugStreamer()
void EnableGetWeightHist()
void SetContainerStep(Int_t containerStep)
{ fContainerStep = containerStep;}
void SetHFEImpactParameters(Double_t hfeimpactR, Double_t hfeimpactnsigmaR)
{fHfeImpactR = hfeimpactR; fHfeImpactnsigmaR = hfeimpactnsigmaR; }
void SetTrkKine(Double_t pt, Double_t eta, Double_t phi)
{fRecPt = pt; fRecEta = eta; fRecPhi = phi;}
void SetITSInfo(Double_t ilyrhit, Double_t ilyrstat)
{ fLyrhit = ilyrhit; fLyrstat = ilyrstat;}
void SetCentrality(Int_t centrality)
{ fCentrality = centrality; }
void SetPercentrality(Int_t percentrality)
{ fPerCentrality = percentrality; }
void SetPbPb()
{ fIsPbPb = kTRUE; }
void SetPP()
void SetPPMultiBin()
Bool_t IsPbPb() const
{ return fIsPbPb; }
Bool_t IsPP() const
{ return !fIsPbPb; }
Bool_t IsPPMultiBin() const
{ return fIsppMultiBin; }