ROOT logo
AliRoot » TRD » AliTRDpidUtil

class AliTRDpidUtil: public TObject


Helper class for TRD PID efficiency calculation.
Calculation of the hadron efficiency dependent on momentum and of
the errors implemented in function CalculatePionEff. The pion
efficiency is based on a predefined electron efficiency.
The default is 90%. To change the, one has to call the function
SetElectronEfficiency.
Other Helper functions decide based on 90% electron efficiency
whether a certain track is accepted as Electron Track.
The reference data is stored in the TRD OCDB.


Function Members (Methods)

public:
AliTRDpidUtil()
virtual~AliTRDpidUtil()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
Bool_tCalculatePionEffi(TH1* histo1, TH1* histo2)
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
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
static Float_tElectronEfficiency()
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
Double_tGetCalcElectronEfficiency() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
Double_tGetError() const
virtual const char*TObject::GetIconName() const
static Int_tGetMomentumBin(Double_t p)
virtual const char*TObject::GetName() const
static Int_tGetNdEdxSlices(AliTRDpidUtil::ETRDPIDMethod m)
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
Double_tGetPionEfficiency() const
static Double_tGetSystematicError(const AliESDtrack* track, AliTRDpidUtil::ETRDPIDMethod method = kNN)
Double_tGetThreshold() const
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
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
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
static Bool_tIsElectron(const AliESDtrack* track, AliTRDpidUtil::ETRDPIDMethod method = kNN)
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTObject::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTObject::ls(Option_t* option = "") const
static Int_tMass2Pid(Float_t m)
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)
virtual voidTObject::Paint(Option_t* option = "")
static Int_tPdg2Pid(Int_t pdg)
virtual voidTObject::Pop()
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 = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
static voidSetElectronEfficiency(Float_t eleeffi)
static voidTObject::SetObjectStat(Bool_t stat)
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
voidTObject::MakeZombie()

Data Members

public:
enum { kBins
};
enum ETRDPIDMethod { kLQ
kNN
kESD
};
enum { kNNslices
kLQslices
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
private:
Double_tfCalcEleEffielectron efficiency after calculation
Double_tfErrorpion efficiency error
Double_tfPionEffipion efficiency
Double_tfThresholdthreshold for calculated electron efficiency
static Float_tfgEleEffielectron efficiency

Class Charts

Inheritance Chart:
TObject
AliTRDpidUtil

Function documentation

AliTRDpidUtil()
 Default constructor

Bool_t CalculatePionEffi(TH1* histo1, TH1* histo2)
 Double_t  AliTRDpidUtil::GetError()

 Calculates the pion efficiency

Int_t GetMomentumBin(Double_t p)
 returns the momentum bin for a given momentum

Bool_t IsElectron(const AliESDtrack* track, AliTRDpidUtil::ETRDPIDMethod method = kNN)
 Do PID decision for the TRD based on 90% Electron efficiency threshold

 Author: Markus Fasel (M.Fasel@gsi.de)

Double_t GetSystematicError(const AliESDtrack* track, AliTRDpidUtil::ETRDPIDMethod method = kNN)
 Returns the pion efficiency at 90% electron efficiency from the OCDB

 Author: Markus Fasel (M.Fasel@gsi.de)

Int_t Pdg2Pid(Int_t pdg)
 Private Helper function to get the paticle species (ALICE notation)
 from the Pdg code

Int_t Mass2Pid(Float_t m)
 Private Helper function to get the paticle species (ALICE notation)
 from the Pdg mass

AliTRDpidUtil()
virtual ~AliTRDpidUtil()
{;}
Float_t ElectronEfficiency()
{ return fgEleEffi;}
Int_t GetNdEdxSlices(AliTRDpidUtil::ETRDPIDMethod m)
{ return m == kNN ? kNNslices : kLQslices;}
Double_t GetCalcElectronEfficiency() const
{ return fCalcEleEffi;}
Double_t GetPionEfficiency() const
{ return fPionEffi;}
Double_t GetError() const
{ return fError;}
Double_t GetThreshold() const
{ return fThreshold;}
void SetElectronEfficiency(Float_t eleeffi)
{fgEleEffi = eleeffi;}
AliTRDpidUtil& operator=(const AliTRDpidUtil& )