ROOT logo
AliRoot » ITS » AliITSSortTrkl

class AliITSSortTrkl: public TObject

Helper class for finding multiple primary vertices
To be used by AliITSVertexer3D
It is based on the association of pairs of tracklets
obtained by matching reconstructed points onthe first
2 layers of SPD
Origin M. Masera masera@to.infn.it

Function Members (Methods)

public:
AliITSSortTrkl()
AliITSSortTrkl(Int_t n, Double_t cut = 0.05)
AliITSSortTrkl(TClonesArray& tclo, Int_t n, Double_t cut, Double_t rcut)
virtual~AliITSSortTrkl()
voidTObject::AbstractMethod(const char* method) const
Int_tAddPairs(Int_t t1, Int_t t2, Double_t dca, Double_t* coo)
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
Int_tFindClusters()
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
Int_t*GetClusters(Int_t index) const
Int_t*GetClustersTmp(Int_t index)
Double_tGetCut() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
Int_tGetIndex() const
virtual const char*TObject::GetName() const
Int_tGetNumberOfClusters() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
AliITSTracklPairs*GetPairsAt(Int_t i) const
Int_tGetSizeOfCluster(Int_t index) const
virtual const char*TObject::GetTitle() const
Int_t*GetTrackletsLab(Int_t index, Int_t& dim) 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
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)
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 = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidSetCut(Double_t cut)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector&)
static voidSortAndClean(Int_t numb, Int_t* arr, Int_t& numb2)
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:
AliITSSortTrkl(const AliITSSortTrkl& pa)
voidCleanup()
voidClustering(Int_t i, Int_t* v)
voidDeleteClustersTmp()
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
Int_t*FindLabels(Int_t* v, Int_t dimmax, Int_t& dim) const
voidTObject::MakeZombie()
AliITSSortTrkl&operator=(const AliITSSortTrkl&)
voidPrepareClustersTmp()

Data Members

protected:
Int_t**fClustersList of clusters of tracklet pairs after cleanup
Int_t**fClustersTmpTemporary list of clusters of tracklet pairs
Double_tfCoarseMaxRCutcut on distance from beam axis
Double_tfCutcut on distance of DCAs of pairs for association
Int_tfIndexTotal number of tracklet pairs (<=fkSize)
TBitsfMarkUsed to mask used pairs
Int_tfNoClusNumber of clusters of tracklet pairs
AliITSTracklPairs**fPairsarray of tracklet pairs (pointers to)
Int_t*fSizeNumber of pairs for each cluster
const Int_tfkSizeMaximum number of tracklet pairs

Class Charts

Inheritance Chart:
TObject
AliITSSortTrkl

Function documentation

AliITSSortTrkl()
 Default constructor
AliITSSortTrkl(Int_t n, Double_t cut = 0.05)
 Standard constructor
AliITSSortTrkl(TClonesArray& tclo, Int_t n, Double_t cut, Double_t rcut)
 Constructor based on a TClonesArray of AliStrLine
~AliITSSortTrkl()
 Destructor
void DeleteClustersTmp()
 fClustersTmp is deleted
Int_t AddPairs(Int_t t1, Int_t t2, Double_t dca, Double_t* coo)
 Add a tracklet pair at current position
Int_t FindClusters()
 find clusters
void Cleanup()
 empty arrays are eliminated, the others are sorted according
 to cluster multiplicity
Int_t* GetTrackletsLab(Int_t index, Int_t& dim) const
 Returns the tracklet labels corresponding to cluster index
 Calling code must take care of memory deallocation
Int_t* FindLabels(Int_t* v, Int_t dimmax, Int_t& dim) const
 Returns the tracklet labels corresponding to te list of pairs
 contained in v.
 Calling code must take care of memory deallocation
void SortAndClean(Int_t numb, Int_t* arr, Int_t& numb2)
 Array arr (with numb elements) is sorted in ascending order.
 Then possible reoccurrences
 of elements are eliminated. numb2 is the number of remaining elements
 after cleanup.
void PrepareClustersTmp()
 prepare arrays of clusters
void Clustering(Int_t i, Int_t* v)
 recursive method to build up clusters starting from point i
AliITSSortTrkl()
Int_t GetIndex() const
{return fIndex;}
void SetCut(Double_t cut)
{fCut = cut;}
Double_t GetCut() const
{return fCut; }
Int_t* GetClusters(Int_t index) const
Int_t GetNumberOfClusters() const
{return fNoClus;}
Int_t GetSizeOfCluster(Int_t index) const
Int_t* GetClustersTmp(Int_t index)
 FOR DEBUGGING PURPOSES
{return fClustersTmp[index];}
AliITSTracklPairs* GetPairsAt(Int_t i) const
AliITSSortTrkl& operator=(const AliITSSortTrkl& )