ROOT logo
AliRoot » PWGHF » HFE » AliHFENonPhotonicElectron

class AliHFENonPhotonicElectron: public TNamed

Function Members (Methods)

public:
AliHFENonPhotonicElectron()
AliHFENonPhotonicElectron(const char* name, const Char_t* title)
virtual~AliHFENonPhotonicElectron()
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 voidTNamed::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual voidTNamed::Copy(TObject& named) const
Int_tCountPoolAssociated(AliVEvent* inputEvent, Int_t binct = -1)
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
virtual voidTNamed::FillBuffer(char*& buffer)
Int_tFillPoolAssociatedTracks(AliVEvent* inputEvent, Int_t binct = -1)
Int_tFindMother(Int_t tr, Int_t& indexmother) const
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
THnSparseF*GetAssElectronHisto() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
THnSparseF*GetIncElectronHisto() const
Int_tGetLevelBack() const
TList*GetListOutput() const
THnSparseF*GetLSignHisto() const
virtual const char*TNamed::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
AliHFEpid*GetPIDBackground() const
AliHFEpidQAmanager*GetPIDBackgroundQAManager() const
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
THnSparseF*GetUSignHisto() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::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()
voidInitRun(const AliVEvent* inputEvent, const AliPIDResponse* pidResponse)
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
virtual Bool_tTNamed::IsSortable() const
Bool_tTObject::IsZombie() const
Int_tLookAtNonHFE(Int_t iTrack1, AliVTrack* track1, AliVEvent* vEvent, Double_t weight = 1., Int_t binct = -1, Double_t deltaphi = -1, Int_t source = -1, Int_t indexmother = -1, Int_t mcQAsource = -1)
virtual voidTNamed::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)
AliHFENonPhotonicElectron&operator=(const AliHFENonPhotonicElectron& ref)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTNamed::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 = "")
voidSelectCategory1Tracks(Bool_t doSelect = kTRUE)
voidSelectCategory2Tracks(Bool_t doSelect = kTRUE)
voidSetAlgorithmMA(Bool_t algorithmMA)
voidSetAnaPairGen(Bool_t setAna = kTRUE, Int_t nGen = 2)
voidSetAOD(Bool_t isAOD)
voidSetAODArrayMCInfo(TClonesArray* aodArrayMCInfo)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidSetDisplayMCStack(Bool_t setDisplay = kTRUE)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidSetEtaBinning(const TArrayD& binning)
voidSetEtaBinning(Int_t nbins, const Double_t *const binning)
voidSetEtaDalitzWeightFactor(Double_t etaDalitzWeightFactor)
voidSetHFEBackgroundCuts(AliHFEcuts *const cuts)
voidSetInvMassBinning(const TArrayD& binning)
voidSetInvMassBinning(Int_t nbins, const Double_t *const binning)
voidSetITSMeanShift(Double_t meanshift)
voidSetITSnSigmaHigh(Double_t nSigmaHigh)
voidSetITSnSigmaLow(Double_t nSigmaLow)
voidSetMassConstraint(Bool_t MassConstraint)
voidSetMaxInvMass(Double_t MaxInvMass)
voidSetMaxOpening3D(Double_t MaxOpening3D)
voidSetMCEvent(AliMCEvent* mcEvent)
voidSetminPt(Double_t minpt)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
voidSetNPairGenerations(Int_t nGen)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetPtBinning(const TArrayD& binning)
voidSetPtBinning(Int_t nbins, const Double_t *const binning)
voidSetStudyRadius(Bool_t studyRadius)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
voidSetWithWeights(Int_t levelBack)
virtual voidShowMembers(TMemberInspector&)
virtual Int_tTNamed::Sizeof() 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()
private:
AliHFENonPhotonicElectron(const AliHFENonPhotonicElectron& ref)
Int_tCheckPdg(Int_t tr) const
voidFillMotherArray(Int_t tr, int index, Int_t* a, int NumberofGenerations)
Bool_tFilterCategory1Track(const AliVTrack *const track, Bool_t isAOD, Int_t binct)
Bool_tFilterCategory2Track(const AliVTrack *const track, Bool_t isAOD)
Int_tFindGeneration(Int_t* a, Int_t* b, int NumberofGenerations)
Int_tGetMotherPDG(Int_t tr, Int_t& motherIndex) const
Int_tIsMotherB(Int_t tr) const
Int_tIsMotherC(Int_t tr) const
Int_tIsMotherEta(Int_t tr) const
Int_tIsMotherGamma(Int_t tr) const
Int_tIsMotherOmega(Int_t tr) const
Int_tIsMotherPi0(Int_t tr) const
Bool_tMakePairDCA(const AliVTrack* inclusive, const AliVTrack* associated, AliVEvent* vEvent, Bool_t isAOD, Double_t& invMass, Double_t& angle) const
Bool_tMakePairKF(const AliVTrack* inclusive, const AliVTrack* associated, AliKFVertex& primV, Double_t& invMass, Double_t& angle) const
Double_tRadius(Int_t tr) const

Data Members

public:
enum Source_t { kElectronfromconversion
kElectronfromconversionboth
kElectronfrompi0
kElectronfrompi0both
kElectronfrometa
kElectronfrometaboth
kElectronfromomega
kElectronfromomegaboth
kElectronfromC
kElectronfromB
kElectronfromother
kNoElectron
};
enum Sign_t { kS
kOp
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
TStringTNamed::fNameobject identifier
TStringTNamed::fTitleobject title
private:
TClonesArray*fAODArrayMCInfo! MC info particle AOD
Bool_tfAlgorithmMAalgorithm MA
Bool_tfAnaPairGenswitch on the analysis of the pair generation (switch for performance)
TArrayI*fArraytrack! list of associated tracks
THnSparseF*fAssElectron! centrality, pt, Source MC, P, TPCsignal
Double_tfChi2OverNDFCutLimit chi2
Int_tfCounterPoolBackgroundnumber of associated electrons
Bool_tfDisplayMCStackdisplay MC stack for true likesign pairs (usually misidentification), for debugging
TArrayDfEtaBinningeta binning
Double_tfEtaDalitzWeightFactorRelative modification for the weighting factor for electrons from Eta Dalitz decays (default = 1);
AliHFEcuts*fHFEBackgroundCutsHFE background cuts
TH2F*fHnsigmaITS! Control histogram for ITS pid of category 2 tracks
Double_tfITSmeanShiftShift of the mean in the ITS
Double_tfITSnSigmaHighITS n Sigma electron cut high (>0)
Double_tfITSnSigmaLowITS n Sigma electron cut low (<0)
THnSparseF*fIncElectron! centrality, pt, Source MC, P, TPCsignal
THnSparseF*fIncElectronRadius! For fakes
TArrayDfInvMassBinningInv mass binning
Bool_tfIsAODIs AOD
THnSparseF*fLSign! delta phi, c, pt, inv, source
THnSparseF*fLSmatches! number of matched tracks with same sign per inclusive track after inv mass cut
Int_tfLevelBackLevel Background
TList*fListOutputList of histos
AliMCEvent*fMCEvent! MC event ESD
Double_tfMaxDCALimit dca
Double_tfMaxInvMassLimit invariant mass
Double_tfMaxOpening3DLimit opening 3D
Int_tfNumberofGenerationsnumber of generations stored in pair container variable nGen
AliHFEpid*fPIDBackgroundPID background cuts
AliHFEpidQAmanager*fPIDBackgroundQAQA Manager Background
TArrayDfPtBinningpt binning
THnSparseF*fRecElectronRadius! For fakes
Bool_tfSelectCategory1tracksCategory 1 tracks: Standard track cuts
Bool_tfSelectCategory2tracksCategory 2 tracks: tracks below 300 MeV/c
Bool_tfSetMassConstraintSet mass constraint
Bool_tfStudyRadiusStudy radius
THnSparseF*fUSign! delta phi, c, pt, inv, source
THnSparseF*fUSmatches! number of matched tracks with oposite sign per inclusive track after inv mass cut
TH2F*fWeightsSource! Control histo for sources for weights
const AliPIDResponse*fkPIDResponsPID response
Double_tfminPtmin pT cut for the associated leg
Int_tfnumberfoundnumber of inclusive electrons

Class Charts

Inheritance Chart:
TNamed
AliHFENonPhotonicElectron

Function documentation

AliHFENonPhotonicElectron(const char* name, const Char_t* title)
  ,fMaxOpeningTheta	(0.02)
  ,fMaxOpeningPhi	(0.1)
  ,fUSignAngle	(NULL)
  ,fLSignAngle	(NULL)

 Constructor

AliHFENonPhotonicElectron()
  ,fMaxOpeningTheta	(0.02)
  ,fMaxOpeningPhi	(0.1)
  ,fUSignAngle	(NULL)
  ,fLSignAngle	(NULL)

 Constructor

AliHFENonPhotonicElectron(const AliHFENonPhotonicElectron& ref)
  ,fMaxOpeningTheta	(ref.fMaxOpeningTheta)
  ,fMaxOpeningPhi	(ref.fMaxOpeningPhi)
  ,fUSignAngle	(ref.fUSignAngle)
  ,fLSignAngle	(ref.fLSignAngle)

 Copy Constructor

AliHFENonPhotonicElectron & operator=(const AliHFENonPhotonicElectron& ref)
 Assignment operator

~AliHFENonPhotonicElectron()
 Destructor

void Init()
void SetWithWeights(Int_t levelBack)
 Init the HFE level

void SetMCEvent(AliMCEvent* mcEvent)
 Pass the mcEvent

void SetAODArrayMCInfo(TClonesArray* aodArrayMCInfo)
 Pass the mcEvent info

void InitRun(const AliVEvent* inputEvent, const AliPIDResponse* pidResponse)
 Init run

Int_t FillPoolAssociatedTracks(AliVEvent* inputEvent, Int_t binct = -1)
 Fill the pool of associated tracks
 Return the number of associated tracks

Int_t CountPoolAssociated(AliVEvent* inputEvent, Int_t binct = -1)
 Count the pool of assiocated tracks

Int_t LookAtNonHFE(Int_t iTrack1, AliVTrack* track1, AliVEvent* vEvent, Double_t weight = 1., Int_t binct = -1, Double_t deltaphi = -1, Int_t source = -1, Int_t indexmother = -1, Int_t mcQAsource = -1)
 Look At Non HFE

Int_t FindMother(Int_t tr, Int_t& indexmother) const
 Find the mother if MC

Int_t CheckPdg(Int_t tr) const
Double_t Radius(Int_t tr) const
Int_t GetMotherPDG(Int_t tr, Int_t& motherIndex) const
 Returns the mother PDG of the track (return value) and the index of the
 mother track

Int_t IsMotherGamma(Int_t tr) const
Int_t IsMotherPi0(Int_t tr) const
Int_t IsMotherC(Int_t tr) const
Int_t IsMotherB(Int_t tr) const
Int_t IsMotherEta(Int_t tr) const
Int_t IsMotherOmega(Int_t tr) const
Bool_t MakePairDCA(const AliVTrack* inclusive, const AliVTrack* associated, AliVEvent* vEvent, Bool_t isAOD, Double_t& invMass, Double_t& angle) const
 Make Pairs of electrons using TLorentzVector

Bool_t MakePairKF(const AliVTrack* inclusive, const AliVTrack* associated, AliKFVertex& primV, Double_t& invMass, Double_t& angle) const
 Make pairs of electrons using the AliKF package

Bool_t FilterCategory1Track(const AliVTrack *const track, Bool_t isAOD, Int_t binct)
 Selection of good associated tracks for the pool
 selection is done using strong cuts
 Tracking in the TPC and the ITS is a minimal requirement

Bool_t FilterCategory2Track(const AliVTrack *const track, Bool_t isAOD)
 Selection of category 2 tracks: These tracks are exclusively low pt tracks below
 300 MeV/c which have at least 2 hits in the 4 outer ITS layers and are identified as
 electron candidates by the ITS

void FillMotherArray(Int_t tr, int index, Int_t* a, int NumberofGenerations)
 Fill an array of mothers for a particle of a given trackid

Int_t FindGeneration(Int_t* a, Int_t* b, int NumberofGenerations)
 Find the common mother in 2 given arrays and return its generation.

void SetAOD(Bool_t isAOD)
{ fIsAOD = isAOD; }
void SetHFEBackgroundCuts(AliHFEcuts *const cuts)
{ fHFEBackgroundCuts = cuts; }
AliHFEpid * GetPIDBackground()
{ return fPIDBackground; }
AliHFEpidQAmanager * GetPIDBackgroundQAManager()
{ return fPIDBackgroundQA; }
Int_t GetLevelBack() const
{ return fLevelBack; }
void SetMaxInvMass(Double_t MaxInvMass)
{ fMaxInvMass = MaxInvMass; }
void SetMaxOpening3D(Double_t MaxOpening3D)
  void  SetMaxOpeningTheta	(Double_t MaxOpeningTheta)	{ fMaxOpeningTheta	= MaxOpeningTheta; };
  void  SetMaxOpeningPhi	(Double_t MaxOpeningPhi)	{ fMaxOpeningPhi	= MaxOpeningPhi; };
{ fMaxOpening3D = MaxOpening3D; }
void SetStudyRadius(Bool_t studyRadius)
{ fStudyRadius = studyRadius; }
void SetAlgorithmMA(Bool_t algorithmMA)
{ fAlgorithmMA = algorithmMA; }
void SetMassConstraint(Bool_t MassConstraint)
{ fSetMassConstraint = MassConstraint; }
void SetITSMeanShift(Double_t meanshift)
{ fITSmeanShift = meanshift; }
void SetITSnSigmaHigh(Double_t nSigmaHigh)
{ fITSnSigmaHigh = nSigmaHigh; }
void SetITSnSigmaLow(Double_t nSigmaLow)
{ fITSnSigmaLow = nSigmaLow; }
void SetminPt(Double_t minpt)
{ fminPt = minpt; }
void SetEtaDalitzWeightFactor(Double_t etaDalitzWeightFactor)
{ fEtaDalitzWeightFactor = etaDalitzWeightFactor;}
void SelectCategory1Tracks(Bool_t doSelect = kTRUE)
{ fSelectCategory1tracks = doSelect; }
void SelectCategory2Tracks(Bool_t doSelect = kTRUE)
{ fSelectCategory2tracks = doSelect; }
void SetAnaPairGen(Bool_t setAna = kTRUE, Int_t nGen = 2)
{ fAnaPairGen = setAna; fNumberofGenerations = nGen;}
void SetNPairGenerations(Int_t nGen)
void SetDisplayMCStack(Bool_t setDisplay = kTRUE)
{ fDisplayMCStack = setDisplay;}
TList * GetListOutput()
{ return fListOutput; }
THnSparseF * GetAssElectronHisto()
{ return fAssElectron; }
THnSparseF * GetIncElectronHisto()
{ return fIncElectron; }
THnSparseF * GetUSignHisto()
{ return fUSign; }
THnSparseF * GetLSignHisto()
  THnSparseF *GetUSignAngleHisto() const { return fUSignAngle; };
  THnSparseF *GetLSignAngleHisto() const { return fLSignAngle; };
{ return fLSign; }
void SetPtBinning(const TArrayD& binning)
{ fPtBinning = binning; }
void SetPtBinning(Int_t nbins, const Double_t *const binning)
{ fPtBinning.Set(nbins+1, binning); }
void SetEtaBinning(const TArrayD& binning)
{ fEtaBinning = binning; }
void SetEtaBinning(Int_t nbins, const Double_t *const binning)
{ fEtaBinning.Set(nbins+1, binning); }
void SetInvMassBinning(const TArrayD& binning)
{ fInvMassBinning = binning; }
void SetInvMassBinning(Int_t nbins, const Double_t *const binning)
{ fInvMassBinning.Set(nbins+1, binning); }