ROOT logo
AliRoot » PWGLF » RESONANCES » AliRsnCutPID

class AliRsnCutPID: public AliRsnCut

Function Members (Methods)

public:
AliRsnCutPID()
AliRsnCutPID(const AliRsnCutPID&)
AliRsnCutPID(const char* name, AliPID::EParticleType pid, Double_t probMin = 0.0, Bool_t perfectPID = kFALSE)
virtual~AliRsnCutPID()
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
Bool_tComputeWeights(AliRsnDaughter* daughter)
virtual voidTNamed::Copy(TObject& named) 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
voidExcludeDetector(AliRsnCutPID::EDetector det)
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
Bool_tAliRsnCut::GetCutResult() const
Double_tAliRsnCut::GetCutValueD() const
Int_tAliRsnCut::GetCutValueI() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
Double_tAliRsnCut::GetMaxD() const
Int_tAliRsnCut::GetMaxI() const
Double_tAliRsnCut::GetMinD() const
Int_tAliRsnCut::GetMinI() 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
AliRsnDaughter*AliRsnTarget::GetTargetDaughter()
AliRsnEvent*AliRsnTarget::GetTargetEvent()
AliRsnMother*AliRsnTarget::GetTargetMother()
AliRsnTarget::ETargetTypeAliRsnTarget::GetTargetType() const
Char_tAliRsnTarget::GetTargetTypeChar() const
const char*AliRsnTarget::GetTargetTypeName() const
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
Double_tGetWeight(Int_t i) const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::Hash() const
voidIncludeDetector(AliRsnCutPID::EDetector det, Double_t threshold = 0., Bool_t goAbove = kTRUE)
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_tAliRsnTarget::IsAllNull() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tIsSelected(TObject* object)
virtual Bool_tTNamed::IsSortable() const
Bool_tAliRsnTarget::IsTarget(AliRsnTarget::ETargetType targetType) const
Bool_tTObject::IsZombie() const
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
Bool_tAliRsnCut::OkRangeD()
Bool_tAliRsnCut::OkRangeI()
Bool_tAliRsnCut::OkValueD()
Bool_tAliRsnCut::OkValueI()
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)
AliRsnCutPID&operator=(const AliRsnCutPID&)
virtual voidTObject::Paint(Option_t* option = "")
Int_tPerfectPID(AliRsnDaughter *const daughter)
virtual voidTObject::Pop()
virtual voidAliRsnCut::Print(Option_t* opt = "") const
virtual Int_tTObject::Read(const char* name)
Int_tRealisticPID(AliRsnDaughter *const daughter, Double_t& prob)
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)
voidSetDefault(Bool_t yn = kTRUE)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetPerfect(Bool_t yn = kTRUE)
voidSetPrior(Int_t i, Double_t value)
voidAliRsnCut::SetRangeD(Double_t min, Double_t max)
voidAliRsnCut::SetRangeI(Int_t min, Int_t max)
voidAliRsnTarget::SetTargetType(AliRsnTarget::ETargetType type)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
voidAliRsnCut::SetValueD(Double_t value)
voidAliRsnCut::SetValueI(Int_t value)
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_tAliRsnTarget::TargetOK(TObject* object)
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:
Bool_tCheckBounds(AliRsnCutPID::EDetector det) const
Bool_tCheckThreshold(AliRsnCutPID::EDetector det, Double_t value) const
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()

Data Members

public:
enum EDetector { kITS
kTPC
kTRD
kTOF
kHMPID
kDetectors
};
enum AliRsnTarget::ETargetType { kDaughter
kMother
kEvent
kTargetTypes
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
Bool_tAliRsnCut::fCutResulttells if the cut is passed or not
Double_tAliRsnCut::fCutValueDcut value DOUBLE
Int_tAliRsnCut::fCutValueIcut value INT
AliRsnDaughter*AliRsnTarget::fDaughter! internal pointer to which any checked object is cast if it matches expected type
AliRsnEvent*AliRsnTarget::fEvent! internal pointer to which any checked object is cast if it matches expected type
Double_tfGoAboveThreshold[5]to choose if detector is used balow or above threshold
Double_tAliRsnCut::fMaxDupper edge of DOUBLE range (not used for value cuts)
Int_tAliRsnCut::fMaxIupper edge of INT range (not used for value cuts)
Double_tAliRsnCut::fMinDlower edge of DOUBLE range or ref. value for DOUBLE CUT
Int_tAliRsnCut::fMinIlower edge of INT range or ref. value for INT CUT
AliRsnMother*AliRsnTarget::fMother! internal pointer to which any checked object is cast if it matches expected type
TStringTNamed::fNameobject identifier
Bool_tfPerfectchoice to use perfect PID
Double_tfPrior[5]prior probability
Double_tfPtThreshold[5]pT threshold above/below which a detector is considered
AliRsnTarget::ETargetTypeAliRsnTarget::fTargetTypetarget type selected for this object
TStringTNamed::fTitleobject title
Bool_tfUseDefaultchoice to use default combined PID weights (or customized)
Bool_tfUseDetector[5]flag to include/exclude each single detector
Double_tfWeight[5]PID weights used for combinations

Class Charts

Inheritance Chart:
TNamed
AliRsnTarget
AliRsnCut
AliRsnCutPID

Function documentation

AliRsnCutPID()
 Default constructor.
 Sets the cut to realistic PID with default weights,
 and defines the 'fMinI' value of the base class as the PID
 to which we want to compare this object.

AliRsnCutPID(const char* name, AliPID::EParticleType pid, Double_t probMin = 0.0, Bool_t perfectPID = kFALSE)
 Default constructor.
 Sets the cut to realistic PID with default weights,
 and defines the 'fMinI' value of the base class as the PID
 to which we want to compare this object.

Bool_t CheckThreshold(AliRsnCutPID::EDetector det, Double_t value) const
 Checks if the passed value (track pT) stays in the
 interval where the detector should be accepted

Bool_t ComputeWeights(AliRsnDaughter* daughter)
 Compute the PID weights using the class settings.
 If the argument is an ESD track, customized weights can be computed
 It the argument is a track (ESD or AOD), at least default weights
 can be computed, otherwise, no weights can be defined.
 The return value tells if the operation was successful.

Int_t RealisticPID(AliRsnDaughter *const daughter, Double_t& prob)
 Combines the weights collected from chosen detectors with the priors
 and gives the corresponding particle with the largest probability,
 in terms of the AliPID particle type enumeration.
 The argument, passed by reference, gives the corresponding probability,
 since the cut could require that it is larger than a threshold.

Int_t PerfectPID(AliRsnDaughter *const daughter)
 If MC is present, retrieve the particle corresponding to the used track
 (using the fRefMC data member) and then return the true particle type
 taken from the PDG code of the reference particle itself, converted
 into the enumeration from AliPID object.

Bool_t IsSelected(TObject* object)
 Cut checker.

void IncludeDetector(AliRsnCutPID::EDetector det, Double_t threshold = 0., Bool_t goAbove = kTRUE)
 Include a detector for a customized weight computing
 and specify also its eventual threshold and if the detector
 must be used above or below the threshold.
 By default the threshold is zero and detector is always used.

AliRsnCutPID()
virtual ~AliRsnCutPID()
{;}
void SetDefault(Bool_t yn = kTRUE)
{fUseDefault = yn;}
void SetPrior(Int_t i, Double_t value)
{if (i >= 0 && i < AliPID::kSPECIES) fPrior[i] = value;}
void SetPerfect(Bool_t yn = kTRUE)
{fPerfect = yn;}
void ExcludeDetector(AliRsnCutPID::EDetector det)
{if (CheckBounds(det)) fUseDetector[det] = kFALSE;}
Double_t GetWeight(Int_t i) const
{if (i >= 0 && i < AliPID::kSPECIES) return fWeight[i]; return 0.0;}
Bool_t CheckBounds(AliRsnCutPID::EDetector det) const
{return (det >= kITS && det < kDetectors);}