ROOT logo
AliRoot » TRD » AliTRDtrackletOflHelper

class AliTRDtrackletOflHelper: public TObject

Function Members (Methods)

public:
AliTRDtrackletOflHelper()
AliTRDtrackletOflHelper(const AliTRDtrackletOflHelper& ref)
virtual~AliTRDtrackletOflHelper()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
Int_tClassifyTopology()
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)
Int_tExpand(TObjArray* cls, Int_t* mark = NULL, Int_t groupId = -1)
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
static voidFindSolidCls(Bool_t* mark, Int_t* q)
Bool_tFit(Double_t* par, Double_t sCut = 1.5) const
static Bool_tFit(Int_t n, Double_t* dx, Double_t* dy, Double_t* s2, Double_t* par, Double_t sCut = 1.5, Double_t* cov = NULL)
Bool_tFitPSR(Double_t* dy, Bool_t useSolid = kFALSE)
TObjArray*GetClusters() const
voidGetColSignals(Int_t col, Int_t* adc, Bool_t mainRow = kTRUE) const
Int_tGetColSpread() const
Int_tGetColStart() const
Int_tGetColStop() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
virtual const char*TObject::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
Double_tGetQ() const
Int_tGetRMS(Double_t& r, Double_t& m, Double_t& s, Double_t xm) const
Int_tGetRow() const
Double_tGetSyMean() const
Int_tGetTbStart() const
Int_tGetTbStop() 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
Int_tInit(AliTRDpadPlane* p, TObjArray* cls, Int_t* mark = NULL, Int_t groupId = -1)
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_tTObject::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTObject::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
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)
AliTRDtrackletOflHelper&operator=(const AliTRDtrackletOflHelper& rhs)
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)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
static Int_tSegmentation(Int_t n, Double_t* x, Double_t* y, Int_t* Index)
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 voidTObject::SetObjectStat(Bool_t stat)
voidSetTbRange(Float_t t0, Float_t vd)
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()
voidView(TVirtualPad* pad = NULL)
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 ETRDtrackletOflHelper { kNcls
kNormal
kDeltaRay
kSecond
kElephant
kUnknown
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
private:
TObjArray*fClusterscluster array
Int_tfCol[2]! pad col start/stop
AliTRDpadPlane*fPadPlane! pad plane for detector
Int_tfRow! main pad row
Int_tfTBrange[2]! start/stop time bin (t0, vd)

Class Charts

Inheritance Chart:
TObject
AliTRDtrackletOflHelper

Function documentation

AliTRDtrackletOflHelper()
 Default constructor
AliTRDtrackletOflHelper(const AliTRDtrackletOflHelper& ref)
 Copy constructor
AliTRDtrackletOflHelper& operator=(const AliTRDtrackletOflHelper& rhs)
~AliTRDtrackletOflHelper()
 Clean helper
Int_t Expand(TObjArray* cls, Int_t* mark = NULL, Int_t groupId = -1)
 Allocate new clusters for this helper.  If a subset of clusters is to be allocated
 this can be specified via the identifier "groupId" which have to be compared
 with individual elements in the array "mark".

 Return total no. of clusters in helper
Int_t Init(AliTRDpadPlane* p, TObjArray* cls, Int_t* mark = NULL, Int_t groupId = -1)
 Allocate clusters for this helper.  If a subset of clusters is to be allocated
 this can be specified via the identifier "groupId" which have to be compared
 with individual elements in the array "mark".

 Return no. of clusters allocated
Int_t ClassifyTopology()
 Classify topology and return classification code
 0 - normal tracklet
 1 - delta ray candidate
 2 - secondary candidate
 3 - "elephant" candidate
 4 - unknown topology
void FindSolidCls(Bool_t* mark, Int_t* q)
  Find clusters produced by large fluctuations of energy deposits
  Largest charge and well separation from neighbors
Bool_t FitPSR(Double_t* dy, Bool_t useSolid = kFALSE)
 Fit tracklet in Pad System of Reference [PSR] to avoid uncertainty related to
 Lorentz angle correction
Bool_t Fit(Int_t n, Double_t* dx, Double_t* dy, Double_t* s2, Double_t* par, Double_t sCut = 1.5, Double_t* cov = NULL)
 Iterative robust tracklet fit
Bool_t Fit(Double_t* par, Double_t sCut = 1.5) const
 Wrapper for clusters attach to this for static Fit function

void GetColSignals(Int_t col, Int_t* adc, Bool_t mainRow = kTRUE) const
Int_t GetRMS(Double_t& r, Double_t& m, Double_t& s, Double_t xm) const
 Calculate Rotation[r], Mean y[m] (at radial position [xm]) and Sigma[s] (of a gaussian distribution in the tracklet [SR])
 for clusters attach to this helper. The Rotation and Mean are calculated without tilt correction option.
 It returns the number of clusters in 1 sigma cut.
Double_t GetQ() const
 Calculate total charge NOT normalized to inclination
Double_t GetSyMean() const
 Calculate mean uncertainty of clusters
Int_t Segmentation(Int_t n, Double_t* x, Double_t* y, Int_t* Index)
 Segmentation of clusters in the tracklet roads

 The user supply the coordinates of the clusters (x,y) and their number "n". Also
 The array "Index" has to be allocated by the user with a size equal or larger than "n".
 On return the function returns the number of segments found and the array "Index" i-th element
 is filled with the index of the tracklet segment to which the i-th cluster was assigned too.

 Observation
 The parameter which controls the segmentation is set inside the function "kGapSize" and it is used
 for both "x" and "y" segmentations. An improvement can be a parametrization as function of angle of
 incidence.

 author:
 Alex Bercuci <a.bercuci@gsi.de>
void SetTbRange(Float_t t0, Float_t vd)
 Set first time bin and total number of time bins corresponding to clusters
 in chamber based on the calibrated info "t0" and drift velocity "vd"
void View(TVirtualPad* pad = NULL)
 Visualization support. Draw this tracklet segment
AliTRDtrackerV1::AliTRDLeastSquare& Fitter()
TObjArray* GetClusters() const
{return fClusters;}
Int_t GetColSpread() const
{return fCol[1]-fCol[0]+1;}
Int_t GetColStart() const
{return fCol[0];}
Int_t GetColStop() const
{return fCol[1];}
Int_t GetRow() const
{return fRow;}
Int_t GetTbStart() const
{return fTBrange[0];}
Int_t GetTbStop() const
{return fTBrange[1];}