ROOT logo
AliRoot » PWGHF » HFE » AliHFEelecbackground

class AliHFEelecbackground: public TObject

Function Members (Methods)

public:
AliHFEelecbackground()
AliHFEelecbackground(const AliHFEelecbackground& p)
virtual~AliHFEelecbackground()
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
voidCreateHistograms(TList *const qaList)
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
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
voidFillOutput(const Double_t* results, const Double_t* resultsr, Int_t sign)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
Double_tGetChi2NdfCut() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
Double_tGetInvMassCut() const
TList*GetList() const
TList*GetListPostProcess() const
Double_tGetMinITSChi2() const
Int_tGetMinNbCls() const
Int_tGetMinNbClsSDDSPD() const
virtual const char*TObject::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
Double_tGetOpeningAngleCut() const
virtual Option_t*TObject::GetOption() const
Bool_tGetPIDPartner() const
Short_tGetRequireITSStandalone() const
Bool_tGetSharedClusterCut() const
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
Bool_tGetUseAliKFCode() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::Hash() const
Bool_tHasMCData() 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
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
Bool_tIsAODanalysis() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
Bool_tIsESDanalysis() const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTObject::IsSortable() const
Bool_tTObject::IsZombie() const
virtual Bool_tLoad(const Char_t* filename)
virtual Bool_tLoad(TList *const outputlist)
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)
AliHFEelecbackground&operator=(const AliHFEelecbackground&)
virtual voidTObject::Paint(Option_t* option = "")
voidPairAnalysis(AliESDtrack *const track, AliESDtrack *const trackpart)
Bool_tPIDTrackCut(AliESDtrack *const trackPart)
voidPlot() const
virtual voidTObject::Pop()
voidPostProcess()
virtual voidTObject::Print(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidReset()
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 = "")
voidSetAODAnalysis()
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidSetChi2NdfCut(Double_t chi2NdfCut)
voidSetDebugLevel(Short_t debugLevel)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidSetESDAnalysis()
voidSetEvent(AliESDEvent *const ESD)
voidSetEventAOD(AliAODEvent *const AOD)
voidSetHasMCData(Bool_t hasMCdata = kTRUE)
voidSetInvMassCut(Double_t invMassCut)
voidSetMCEvent(AliMCEvent *const mcEvent)
voidSetMinITSChi2(Double_t minITSChi2)
voidSetMinNbCls(Int_t minNbCls)
voidSetMinNbClsSDDSPD(Int_t minNbClsSDDSPD)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetOpeningAngleCut(Double_t openingAngleCut)
voidSetPIDMethodPartner(AliHFEpid *const pid)
voidSetPIDMethodPartnerITS(AliESDpid *const pid)
voidSetPIDPartner()
voidSetRequireITSStandalone(Short_t requireITSStandalone)
voidSetSharedClusterCut(Bool_t sharedClusterCut)
virtual voidTObject::SetUniqueID(UInt_t uid)
voidSetUseAliKFCode(Bool_t useAliKFCode)
Bool_tShareCluster(AliESDtrack *const track1, AliESDtrack *const track2)
virtual voidShowMembers(TMemberInspector&)
Bool_tSingleTrackCut(const AliESDtrack *const trackPart) const
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
voidTObject::MakeZombie()

Data Members

public:
enum { kHasMCData
kAODanalysis
kDatai
kDatar
kDatadca
kDatachi2Ndf
kMCo
kMCr
kMCdca
kMCchi2Ndf
kMCe
kMCcutPart0
kMCcutPart1
kMCcutPart2
kMCcutPart3
kOs
kPp
kNn
kR
kOos
kOss
kOr
kOdiff
kNOutput
kNMCInfo
kElectronFromBackground
kElectronFromGamma
kElectronFromPi0
kElectronFromEta
kElectronFromC
kElectronFromB
kNotSplitted
kSplittedOs
kSplittedSs
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
private:
AliAODEvent*fAOD1! AOD pointer
Double_tfBzMagnetic field
Double_tfChi2NdfCut! chi2ndf cut for KF code
Bool_tfCuts[10]! Cut passed already
Short_tfDebugLevel! Debug Level
AliESDEvent*fESD1! ESD pointer
Int_tfIndexTrack! index track
Double_tfInvMassCut! Inv mass cut
Int_tfIsFrom! is track from
Bool_tfIsPartner! Are partners
Bool_tfIsSplittedTrack! Are splitted track
Int_tfLabMother! label first mother track
TList*fList! list for outputs
TList*fListPostProcess! list for postprocess
AliMCEvent*fMCEvent! MC event
Double_tfMinITSChi2! ITS chi2 min
Int_tfMinNbCls! Min Nb of clusters ITS or TPC
Int_tfMinNbClsSDDSPD! Min Nb of clusters ITS SDD&SPD
Int_tfMotherB! B, mother of track
Int_tfMotherC! C, mother of track
Int_tfMotherEta! eta, mother of track
Int_tfMotherGamma! Gamma, mother of track
Int_tfMotherPi0! Pi0, mother of track
Double_tfOpeningAngleCut! Opening angle cut
AliHFEpid*fPIDMethodPartner! PID cuts
AliESDpid*fPIDMethodPartnerITS! PID cuts ITS
Bool_tfPIDPartner! PID partner
Int_tfPdg! pdg code track
Double_tfPtESD! pt of tagged electron
Short_tfRequireITSStandalone! ITS standalone: 1 and 2 (pureITSStandalone)
Bool_tfSharedClusterCut! Shared Cluster Cut
Bool_tfUseAliKFCode! Use AliKF code to calculate the pair properties
static Bool_tfgUseMCPIDflag to use MC PID for tagged electron
static const Double_tfgkMe! Mass of the electron
THnSparseF*fhtmpOnly to avoid coverity problem
TH2F*fhtmpfOnly to avoid coverity problem
TH1F*fhtmppOnly to avoid coverity problem
const AliESDVertex*fkVertex! Primary vertex

Class Charts

Inheritance Chart:
TObject
AliHFEelecbackground

Function documentation

AliHFEelecbackground()
 Default constructor

AliHFEelecbackground(const AliHFEelecbackground& p)
 Copy constructor

operator=(const AliHFEelecbackground& )
 Assignment operator

~AliHFEelecbackground()
 Destructor

Bool_t Load(const Char_t* filename)
 Generic container loader

Bool_t Load(TList *const outputlist)
 Generic container loader

void Reset()
 Reset variables

void CreateHistograms(TList *const qaList)
 create histograms

void PairAnalysis(AliESDtrack *const track, AliESDtrack *const trackpart)
 calculate (tagged e-partner) dca, opening angle, invariant mass

Bool_t CalculateMotherVariable(AliESDtrack *const track, AliESDtrack *const trackpart, Double_t* results)
 variables mother and take the pt of the track

 results contain: ptmother, invmass, etamother, phimother, openingangle

 with a chi2Ndf cut for AliKF code

void CalculateMotherVariableR(AliESDtrack *const track, AliESDtrack *const trackpart, Double_t* results)
 variables mother

 results contain: ptmother, invmass, etamother, phimother, openingangle
 Implemented only for no AliKF

void FillOutput(const Double_t* results, const Double_t* resultsr, Int_t sign)
 Fill the Data and MC THnSparseF

Bool_t SingleTrackCut(const AliESDtrack *const trackPart) const
 Return minimum quality for the partner

Bool_t PIDTrackCut(AliESDtrack *const trackPart)
 PID for the partner using TPC or ITS

Bool_t ShareCluster(AliESDtrack *const track1, AliESDtrack *const track2)
 Look if the two tracks shared clusters in the TPC or in the ITS depending on the method

 For TPC:
 hsfval: number of shared clusters
 hsmval: quality of the tracks

 For ITS:
 compare the dEdx in the ITS

void SetPIDPartner()
void SetEvent(AliESDEvent *const ESD)
 Set the AliESD Event, the magnetic field and the primary vertex

Int_t IsMotherGamma(Int_t tr)
Int_t IsMotherPi0(Int_t tr)
Int_t IsMotherEta(Int_t tr)
Int_t IsMotherC(Int_t tr)
Int_t IsMotherB(Int_t tr)
Int_t GetPdg(Int_t tr)
Int_t GetLabMother(Int_t tr)
void PostProcess()
 Post process the histos and extract the background pt spectra

void Plot() const
 Plot the output

Double_t BetheBlochElectronITS(const Double_t* x, const Double_t* )
 Bethe Bloch for ITS

Double_t BetheBlochMuonITS(const Double_t* x, const Double_t* )
 Bethe Bloch for ITS

Double_t BetheBlochPionITS(const Double_t* x, const Double_t* )
 Bethe Bloch for ITS

Double_t BetheBlochKaonITS(const Double_t* x, const Double_t* )
 Bethe Bloch for ITS

Double_t BetheBlochProtonITS(const Double_t* x, const Double_t* )
 Bethe Bloch for ITS

Double_t BetheBlochElectronTPC(const Double_t* x, const Double_t* )
 Bethe Bloch for TPC

Double_t BetheBlochMuonTPC(const Double_t* x, const Double_t* )
 Bethe Bloch for TPC

Double_t BetheBlochPionTPC(const Double_t* x, const Double_t* )
 Bethe Bloch for TPC

Double_t BetheBlochKaonTPC(const Double_t* x, const Double_t* )
 Bethe Bloch for TPC

Double_t BetheBlochProtonTPC(const Double_t* x, const Double_t* )
 Bethe Bloch for TPC

Bool_t HasMCData() const
{ return TestBit(kHasMCData); }
Bool_t IsAODanalysis() const
{ return TestBit(kAODanalysis); }
Bool_t IsESDanalysis() const
{ return !TestBit(kAODanalysis); }
void SetHasMCData(Bool_t hasMCdata = kTRUE)
{ SetBit(kHasMCData,hasMCdata); }
void SetAODAnalysis()
void SetESDAnalysis()
void SetEventAOD(AliAODEvent *const AOD)
{fAOD1=AOD;}
void SetMCEvent(AliMCEvent *const mcEvent)
{fMCEvent=mcEvent;}
void SetOpeningAngleCut(Double_t openingAngleCut)
{fOpeningAngleCut = openingAngleCut;}
void SetInvMassCut(Double_t invMassCut)
{fInvMassCut = invMassCut;}
void SetChi2NdfCut(Double_t chi2NdfCut)
{fChi2NdfCut = chi2NdfCut;}
void SetUseAliKFCode(Bool_t useAliKFCode)
{fUseAliKFCode = useAliKFCode;}
void SetSharedClusterCut(Bool_t sharedClusterCut)
{fSharedClusterCut = sharedClusterCut;}
void SetRequireITSStandalone(Short_t requireITSStandalone)
{fRequireITSStandalone = requireITSStandalone;}
void SetMinITSChi2(Double_t minITSChi2)
{fMinITSChi2 = minITSChi2;}
void SetMinNbCls(Int_t minNbCls)
{fMinNbCls = minNbCls;}
void SetMinNbClsSDDSPD(Int_t minNbClsSDDSPD)
{fMinNbClsSDDSPD = minNbClsSDDSPD;}
void SetPIDMethodPartner(AliHFEpid *const pid)
void SetPIDMethodPartnerITS(AliESDpid *const pid)
void SetDebugLevel(Short_t debugLevel)
{ fDebugLevel = debugLevel;}
Double_t GetOpeningAngleCut() const
{ return fOpeningAngleCut; }
Double_t GetInvMassCut() const
{ return fInvMassCut; }
Double_t GetChi2NdfCut() const
{ return fChi2NdfCut; }
Bool_t GetUseAliKFCode() const
{ return fUseAliKFCode; }
Bool_t GetSharedClusterCut() const
{ return fSharedClusterCut; }
Short_t GetRequireITSStandalone() const
Int_t GetMinNbCls() const
{ return fMinNbCls;}
Double_t GetMinITSChi2() const
{ return fMinITSChi2; }
Int_t GetMinNbClsSDDSPD() const
{ return fMinNbClsSDDSPD;}
Bool_t GetPIDPartner() const
{ return fPIDPartner;}
TList * GetList() const
{ return fList; }
TList * GetListPostProcess() const
{ return fListPostProcess; }