ROOT logo
AliRoot » STEER » STEERBASE » AliTRDPIDResponse

class AliTRDPIDResponse: public TObject

Function Members (Methods)

public:
AliTRDPIDResponse()
AliTRDPIDResponse(const AliTRDPIDResponse& ref)
virtual~AliTRDPIDResponse()
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 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
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
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
virtual const char*TObject::GetName() const
Double_tGetNumberOfSigmas(const AliVTrack* track, AliPID::EParticleType type) const
AliTRDPIDResponse::ETRDNslicesGetNumberOfSlices(AliTRDPIDResponse::ETRDPIDMethod PIDmethod = kLQ1D) const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
Int_tGetResponse(Int_t n, const Double_t *const dedx, const Float_t *const p, Double_t* prob, AliTRDPIDResponse::ETRDPIDMethod PIDmethod = kLQ1D, Bool_t kNorm = kTRUE) const
Double_tGetSignalDelta(const AliVTrack* track, AliPID::EParticleType type, Bool_t ratio = kFALSE, Double_t* info = 0x0) const
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::Hash() const
Bool_tIdentifiedAsElectron(Int_t nTracklets, const Double_t* like, Double_t p, Double_t level, Double_t centrality = -1, AliTRDPIDResponse::ETRDPIDMethod PIDmethod = kLQ1D) 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
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
Bool_tIsOwner() const
virtual Bool_tTObject::IsSortable() const
Bool_tTObject::IsZombie() const
Bool_tLoad(const Char_t* filename = NULL)
virtual voidTObject::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
static Double_tMeandEdx(const Double_t* xx, const Float_t* par)
static Double_tMeandEdxTR(const Double_t* xx, const Float_t* par)
static Double_tMeanTR(const Double_t* xx, const Float_t* par)
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)
AliTRDPIDResponse&operator=(const AliTRDPIDResponse& ref)
virtual voidTObject::Paint(Option_t* option = "")
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)
static Double_tResolutiondEdxTR(const Double_t* xx, const Float_t* par)
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)
Bool_tSetdEdxParams(const AliTRDdEdxParams* par)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidSetGainNormalisationFactor(Double_t gainFactor)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetOwner()
Bool_tSetPIDResponseObject(const AliTRDPIDResponseObject* obj)
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()
private:
Bool_tCookdEdx(Int_t nSlice, const Double_t *const in, Double_t* out, AliTRDPIDResponse::ETRDPIDMethod PIDmethod = kLQ1D) const
Double_tGetProbabilitySingleLayer(Int_t species, Double_t plocal, Double_t* dEdx, AliTRDPIDResponse::ETRDPIDMethod PIDmethod = kLQ1D) const

Data Members

public:
enum ETRDPIDResponseStatus { kIsOwner
};
enum ETRDPIDResponseDef { kNlayer
kNPBins
};
enum ETRDPIDMethod { kNN
kLQ2D
kLQ1D
};
enum ETRDPIDNMethod { kNMethod
};
enum ETRDNslices { kNslicesLQ1D
kNslicesLQ2D
kNslicesNN
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
private:
Double_tfGainNormalisationFactorGain normalisation factor
const AliTRDPIDResponseObject*fkPIDResponseObjectPID References and Params
const AliTRDdEdxParams*fkTRDdEdxParamsparametrisation for truncated mean

Class Charts

Inheritance Chart:
TObject
AliTRDPIDResponse

Function documentation

AliTRDPIDResponse()
 Default constructor

AliTRDPIDResponse(const AliTRDPIDResponse& ref)
 Copy constructor

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

~AliTRDPIDResponse()
 Destructor

Bool_t Load(const Char_t* filename = NULL)
 Load References into the toolkit

Double_t GetNumberOfSigmas(const AliVTrack* track, AliPID::EParticleType type) const
calculate the TRD nSigma

Double_t GetSignalDelta(const AliVTrack* track, AliPID::EParticleType type, Bool_t ratio = kFALSE, Double_t* info = 0x0) const
calculate the TRD signal difference w.r.t. the expected
output other information in info[]

Double_t ResolutiondEdxTR(const Double_t* xx, const Float_t* par)
resolution
npar=3

Double_t MeandEdxTR(const Double_t* xx, const Float_t* par)
ALEPH+LOGISTIC parametrization for dEdx+TR, in unit of MIP
npar = 8 = 3+5

Double_t MeanTR(const Double_t* xx, const Float_t* par)
LOGISTIC parametrization for TR, in unit of MIP
npar = 4

Double_t MeandEdx(const Double_t* xx, const Float_t* par)
ALEPH parametrization for dEdx
npar = 5

Int_t GetResponse(Int_t n, const Double_t *const dedx, const Float_t *const p, Double_t* prob, AliTRDPIDResponse::ETRDPIDMethod PIDmethod = kLQ1D, Bool_t kNorm = kTRUE) const
 Calculate TRD likelihood values for the track based on dedx and
 momentum values. The likelihoods are calculated by query the
 reference data depending on the PID method selected

 Input parameter :
   n - number of dedx slices/chamber
   dedx - array of dedx slices organized layer wise
   p - array of momentum measurements organized layer wise

 Return parameters
   prob - probabilities allocated by TRD for particle specis
   kNorm - switch to normalize probabilities to 1. By default true. If false return not normalized prob.

 Return value
   number of tracklets used for PID, 0 if no PID

Double_t GetProbabilitySingleLayer(Int_t species, Double_t plocal, Double_t* dEdx, AliTRDPIDResponse::ETRDPIDMethod PIDmethod = kLQ1D) const
 Get the non-normalized probability for a certain particle species as coming
 from the reference histogram
 Interpolation between momentum bins

void SetOwner()
 Make Deep Copy of the Reference Histograms

Bool_t CookdEdx(Int_t nSlice, const Double_t *const in, Double_t* out, AliTRDPIDResponse::ETRDPIDMethod PIDmethod = kLQ1D) const
 Recalculate dE/dx

Bool_t IdentifiedAsElectron(Int_t nTracklets, const Double_t* like, Double_t p, Double_t level, Double_t centrality = -1, AliTRDPIDResponse::ETRDPIDMethod PIDmethod = kLQ1D) const
 Check whether particle is identified as electron assuming a certain electron efficiency level
 Only electron and pion hypothesis is taken into account

 Inputs:
         Number of tracklets
         Likelihood values
         Momentum
         Electron efficiency level

 If the function fails when the params are not accessible, the function returns true

Bool_t SetPIDResponseObject(const AliTRDPIDResponseObject* obj)
Bool_t SetdEdxParams(const AliTRDdEdxParams* par)
ETRDNslices GetNumberOfSlices(AliTRDPIDResponse::ETRDPIDMethod PIDmethod = kLQ1D) const
Bool_t IsOwner() const
{return TestBit(kIsOwner);}
void SetGainNormalisationFactor(Double_t gainFactor)
{ fGainNormalisationFactor = gainFactor; }