ROOT logo
AliRoot » PWGDQ » DIELECTRON » AliDielectronTRDpidCut

class AliDielectronTRDpidCut: public AliAnalysisCuts

Function Members (Methods)

public:
AliDielectronTRDpidCut()
AliDielectronTRDpidCut(const Char_t* name)
AliDielectronTRDpidCut(const AliDielectronTRDpidCut& ref)
virtual~AliDielectronTRDpidCut()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
voidCalculateTRDSignals(Bool_t docalc)
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 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)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
Double_tGetChargeLayer(const AliVParticle* track, UInt_t layer) const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
Double_tGetElectronLikelihood(const AliVParticle* track) const
virtual UInt_tAliAnalysisCuts::GetFilterMask() const
virtual const char*TObject::GetIconName() 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
virtual TList*AliAnalysisCuts::GetOutput()
Double_tGetP(const AliVParticle* track) const
virtual UInt_tAliVCuts::GetSelectionMask(const TObject*)
virtual TObject*AliAnalysisCuts::GetStatistics(Option_t*) const
virtual const char*TNamed::GetTitle() const
voidGetTRDmomenta(const AliVParticle* track, Double_t* mom) const
Double_tGetTRDSignalV1(const AliESDtrack* track, Float_t truncation = 0.7) const
Double_tGetTRDSignalV2(const AliESDtrack* track, Float_t trucation = 0.7) const
Double_tGetTRDthresholds(Double_t electronEff, Double_t p) const
virtual UInt_tTObject::GetUniqueID() 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
virtual voidAliAnalysisCuts::Init()
virtual Bool_tInitializePID()
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
Bool_tIsCalculateTRDSignals() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
Bool_tIsRenormalizeElPi() const
virtual Bool_tIsSelected(TObject* track)
virtual Bool_tIsSelected(TList*)
virtual Bool_tTNamed::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTNamed::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Long64_tAliAnalysisCuts::Merge(TCollection*)
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)
AliDielectronTRDpidCut&operator=(const AliDielectronTRDpidCut& 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 = "")
virtual UInt_tAliAnalysisCuts::Selected() const
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)
voidSetElectronEfficiency(Double_t electronEfficiency)
virtual voidAliAnalysisCuts::SetFilterMask(UInt_t mask)
voidSetMinP(Double_t p)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetPIDBitType(UInt_t pidBitType = AliDielectronTRDpidCut::kRequire)
voidSetPIDMethod(AliDielectronTRDpidCut::PIDMethodTRD_t method)
voidSetRenormalizeElPi(Bool_t doRenorm = kTRUE)
virtual voidAliAnalysisCuts::SetSelected(Bool_t dec)
voidSetThresholdParameters(Double_t electronEff, Double_t* params)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
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 voidCopy(TObject& ref) const
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidGetParameters(Double_t electronEff, Double_t* parameters) const
voidInitParameters()
voidInitParameters1DLQ()
voidTObject::MakeZombie()
voidRenormalizeElPi(const Double_t* likein, Double_t* likeout) const
voidSetUseDefaultParameters(Bool_t useDefault = kTRUE)
Bool_tUseDefaultParameters() const

Data Members

public:
enum PIDMethodTRD_t { kLQ
kNN
};
enum { kThreshParams
kHistTRDlikeBefore
kHistTRDlikeAfter
kHistTRDthresholds
kHistTRDSigV1
kHistTRDSigV2
kHistOverallSpecies
};
enum PIDbitType { kIgnore
kRequire
kIfAvailable
};
enum { kTRDsignals
kTRDdefaultThresholds
kTRDrenormalize
};
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:
Double_tfElectronEfficiencyCut on electron efficiency
Double_tfMinPMinimum momentum above which TRD PID is applied
AliDielectronTRDpidCut::PIDMethodTRD_tfPIDMethodPID Method: 2D Likelihood or Neural Network
UChar_tfRequirePIDbitHow to make use of the pid bit (see)
Double_tfThreshParams[24]Threshold parametrisation
static const Double_tfgkVerySmallCheck for 0

Class Charts

Inheritance Chart:
TNamed
AliVCuts
AliAnalysisCuts
AliDielectronTRDpidCut

Function documentation

AliDielectronTRDpidCut()
 default  constructor

AliDielectronTRDpidCut(const char* name)
 default  constructor

AliDielectronTRDpidCut(const AliDielectronTRDpidCut& ref)
 Copy constructor

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

void Copy(TObject& ref) const
 Performs the copying of the object

~AliDielectronTRDpidCut()
 Destructor

Bool_t InitializePID()
 InitializePID: Load TRD thresholds and create the electron efficiency axis
 to navigate

Bool_t IsSelected(TObject* track)
 Does PID for TRD alone:
 PID thresholds based on 90% Electron Efficiency level approximated by a linear
 step function

Double_t GetTRDthresholds(Double_t electronEff, Double_t p) const
 Return momentum dependent and electron efficiency dependent TRD thresholds

void SetThresholdParameters(Double_t electronEff, Double_t* params)
 Set threshold parameters for the given bin

void InitParameters()
 Fill the Parameters into an array

void InitParameters1DLQ()
 Init Parameters for 1DLQ PID (M. Fasel, Sept. 6th, 2010)

void RenormalizeElPi(const Double_t* likein, Double_t* likeout) const
 Renormalize likelihoods for electrons and pions neglecting the
 likelihoods for protons, kaons and muons

void GetParameters(Double_t electronEff, Double_t* parameters) const
 return parameter set for the given efficiency bin

Double_t GetElectronLikelihood(const AliVParticle* track) const
 Get TRD likelihoods for ESD respectively AOD tracks

Double_t GetP(const AliVParticle* track) const
 Get the Momentum in the TRD

Double_t GetChargeLayer(const AliVParticle* track, UInt_t layer) const
 Get the Charge in a single TRD layer

void GetTRDmomenta(const AliVParticle* track, Double_t* mom) const
 Fill Array with momentum information at the TRD tracklet

Double_t GetTRDSignalV1(const AliESDtrack* track, Float_t truncation = 0.7) const
 Calculation of the TRD Signal via truncated mean
 Method 1: Take all Slices available
 cut out 0s
 Order them in increasing order
 Cut out the upper third
 Calculate mean over the last 2/3 slices

Double_t GetTRDSignalV2(const AliESDtrack* track, Float_t trucation = 0.7) const
 Calculation of the TRD Signal via truncated mean
 Method 2: Take only first 5 slices per chamber
 Order them in increasing order
 Cut out upper half
 Now do mean with the reamining 3 slices per chamber

Bool_t IsCalculateTRDSignals() const
{ return TestBit(kTRDsignals); }
Bool_t IsRenormalizeElPi() const
void SetPIDBitType(UInt_t pidBitType = AliDielectronTRDpidCut::kRequire)
{ fRequirePIDbit = pidBitType; }
void SetPIDMethod(AliDielectronTRDpidCut::PIDMethodTRD_t method)
{ fPIDMethod = method; }
void SetRenormalizeElPi(Bool_t doRenorm = kTRUE)
void SetElectronEfficiency(Double_t electronEfficiency)
{ fElectronEfficiency = electronEfficiency; }
void SetMinP(Double_t p)
{ fMinP = p; }
void CalculateTRDSignals(Bool_t docalc)
{ SetBit(kTRDsignals, docalc); }
Bool_t IsSelected(TObject* track)
Analysis cuts interface

void SetUseDefaultParameters(Bool_t useDefault = kTRUE)
{ SetBit(kTRDdefaultThresholds, useDefault); }
Bool_t UseDefaultParameters() const