ROOT logo
AliRoot » CORRFW » AliCFTrackCutPid

class AliCFTrackCutPid: public AliCFCutBase

 CUT ON TRACK PID

Function Members (Methods)

public:
AliCFTrackCutPid()
AliCFTrackCutPid(const AliCFTrackCutPid& c)
AliCFTrackCutPid(const Char_t* name, const Char_t* title)
virtual~AliCFTrackCutPid()
voidTObject::AbstractMethod(const char* method) const
virtual voidAddQAHistograms(TList* qalist)
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
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
Int_tGetAODID(AliAODTrack* aodtrack) const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual UInt_tAliAnalysisCuts::GetFilterMask() const
virtual const char*TObject::GetIconName() const
Int_tGetID(ULong_t* status, Double_t** pid) 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()
virtual UInt_tAliVCuts::GetSelectionMask(const TObject*)
virtual TObject*AliAnalysisCuts::GetStatistics(Option_t*) const
virtual const char*TNamed::GetTitle() 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 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_tAliCFCutBase::IsQAOn() 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)
AliCFTrackCutPid&operator=(const AliCFTrackCutPid& c)
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
voidSetANDstatus(TString dets)
voidSetAODmode(Bool_t isaod = kFALSE)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidSetDetectorProbabilityRestriction(TString det, Int_t iPart, Double_t upperprob)
voidSetDetectors(TString dets)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
virtual voidAliAnalysisCuts::SetFilterMask(UInt_t mask)
voidSetHistogramAxis(Int_t nbins, Double_t xmin, Double_t xmax)
virtual voidAliCFCutBase::SetMCEventInfo(const TObject*)
voidSetMinDiffProb(Bool_t check, Double_t mindiff)
voidSetMinDiffResp(Bool_t check, Double_t mindiff)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetParticleType(Int_t iType, Bool_t tocombine)
voidSetPriorFunctions(TF1** func)
voidSetPriors(Double_t* r)
voidSetProbabilityCut(Double_t cut)
voidSetProbThreshold(Double_t value)
virtual voidAliCFCutBase::SetQAOn(TList* list)
virtual voidAliCFCutBase::SetRecEventInfo(const TObject*)
virtual voidAliAnalysisCuts::SetSelected(Bool_t dec)
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 voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()
private:
Bool_tCheck(const Double_t* p, Int_t iPsel, Double_t minDiff) const
voidCombPID(ULong_t* status, Double_t pid[][AliPID::kSPECIES], Double_t* combpid) const
voidDefineHistograms()
Int_tIdentify(Double_t* pid) const
Int_tIdentifyQA(const Double_t* pid, Int_t idets) const
voidInitialiseHisto()
voidSetPPriors(AliESDtrack* pTrk)
ULong_tStatusForAND(ULong_t* status) const
voidTrackInfo(const AliESDtrack* pTrk, ULong_t* status, Double_t pid[][AliPID::kSPECIES]) const

Data Members

public:
enum EDetType { kITS
kTPC
kTRD
kTOF
kHMPID
kNoDet
};
enum EDetNum { kNdets
};
enum ENoId { kCheckProb
kCheckResp
kDetRestr
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
Bool_tAliCFCutBase::fIsQAOnqa checking on/off
TStringTNamed::fNameobject identifier
TStringTNamed::fTitleobject title
private:
Bool_tfCheckResponseflag to check the minimum difference of det responsess
Bool_tfCheckSelectionflag to check the minimum difference of probabilities
Double_tfCutprobability cut
Double_tfDetProbRestrprobability restriction value
Int_tfDetRestrid of the detector for the restriction
Bool_tfDets[5]boolean(s) corresponding to the chosen detector(s)
Bool_tfDetsInAnd[5]detector to be in AND for the combined PID
Bool_tfIsDetANDflag for AND with multiple detectors
Bool_tfIsPpriorsflag for momentum dependent priors
Double_tfMinDiffProbabilityminimum difference between probability values
Double_tfMinDiffResponseminimum difference between detector resposes
Int_tfNbinsn bins QA histo
Double_tfPriors[5]a priori concentrations
TF1*fPriorsFunc[5]momentum dependent priors
Double_tfProbThresholdif different from 0, the assigned PID will be set to
Double_tfXmaxx max QA histo
Double_tfXminx min QA histo
Bool_tfgIsAODflag for AOD QA histograms
Bool_tfgIsCombflag for the combined pid
Int_tfgParticleTyperequested particle type
TH1F*fhCombProb[5]QA histo
TH1F*fhCombResp[5]QA histo
TH1F*fhProb[5][5]QA histo
TH1F*fhResp[5][5]QA histo
Int_tfiPartRestrid of the particle for the restriction

Class Charts

Inheritance Chart:
TNamed
AliVCuts
AliAnalysisCuts
AliCFCutBase
AliCFTrackCutPid

Function documentation

AliCFTrackCutPid()
Default constructor

AliCFTrackCutPid(const Char_t* name, const Char_t* title)
Constructor

AliCFTrackCutPid(const AliCFTrackCutPid& c)
Copy constructor

AliCFTrackCutPid& operator=(const AliCFTrackCutPid& c)
 Assignment operator

~AliCFTrackCutPid()
dtor

void SetDetectors(TString dets)
 The string of detectors is translated into
 the respective booelan data members
void SetPriors(Double_t* r)
 Sets the a priori concentrations

void SetPriorFunctions(TF1** func)
 Sets the momentu dependent a priori concentrations

void SetANDstatus(TString dets)
Sets the detectors to be in AND for the combined PID

void SetDetectorProbabilityRestriction(TString det, Int_t iPart, Double_t upperprob)
 Sets the detector, the particle and the probability
 limit.

void TrackInfo(const AliESDtrack* pTrk, ULong_t* status, Double_t pid[][AliPID::kSPECIES]) const
 Loads the responses of the XXX chosen detectors for the pTrk
 and the corresponding trk status. The final trk status is also loaded.

void SetPPriors(AliESDtrack* pTrk)
sets the mommentum dependent a priori concentrations

ULong_t StatusForAND(ULong_t* status) const
In case of AND of more detectors the AND-detector status combination.
is calculated and also returned

Int_t GetID(ULong_t* status, Double_t** pid) const
 Identifies the track if its probability is higher than the cut
 value. The default value is fCut=0.2, therefore the most probable
 one is identified by default. Here all the checks on how to identify
 the track are performed (single detector or combined PID,..., detector
 restriction probability
 Returns:   integer corresponding to the identified particle
Int_t GetAODID(AliAODTrack* aodtrack) const
 Identifies the AOD Track using the combined pid responses

Bool_t Check(const Double_t* p, Int_t iPsel, Double_t minDiff) const
 Checks if there are no equal values and if the valus
 difference between the selected particle and the others i
 is higher than  a lower limit.
 Returns:  kTRUE= is acceptable
Int_t Identify(Double_t* pid) const
 The identification is actually performed here with possible
 checks on the det responses and/or probabilities

Int_t IdentifyQA(const Double_t* pid, Int_t idets) const
 The same as Identify, but with the QA histo filling


Bool_t IsSelected(TObject* track)
  method for the pid-cut selction

void CombPID(ULong_t* status, Double_t pid[][AliPID::kSPECIES], Double_t* combpid) const
 Calculates the combined PID according to the chosen detectors.
 and provides the array of probabilities

void InitialiseHisto()
QA histo initialization

void DefineHistograms()
QA histo booking

void AddQAHistograms(TList* qalist)
 adds QA histograms in a TList

void SetProbabilityCut(Double_t cut)
{fCut=cut;}
void SetParticleType(Int_t iType, Bool_t tocombine)
{fgParticleType=iType; fgIsComb=tocombine;}
void SetMinDiffResp(Bool_t check, Double_t mindiff)
void SetMinDiffProb(Bool_t check, Double_t mindiff)
void SetHistogramAxis(Int_t nbins, Double_t xmin, Double_t xmax)
{fNbins=nbins; fXmin = xmin; fXmax = xmax;}
void SetAODmode(Bool_t isaod = kFALSE)
{fgIsAOD=isaod;}
void SetProbThreshold(Double_t value)
Bool_t IsSelected(TObject* track)
main