ROOT logo
AliRoot » ITS » UPGRADE » AliITSUVertexer

class AliITSUVertexer: public AliVertexer

This class is used to compute the position of all the primary
vertices in a single event using the upgraded ITS.
Optimizations ongoing.
Origin puccio@to.infn.it  Feb. 20 2014

Function Members (Methods)

public:
AliITSUVertexer(Double_t phicut = 0.005, Double_t zcut = 0.002, Double_t paircut = 0.04, Double_t clustercut = 0.8, Int_t clcontrib = 5)
virtual~AliITSUVertexer()
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 AliESDVertex*FindVertexForCurrentEvent(TTree*)
virtual AliESDVertex*GetAllVertices(Int_t& nVert) const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
AliMultiplicity*AliVertexer::GetMultiplicity() const
virtual const char*TObject::GetName() const
UInt_tGetNoLines() const
const Double_t*AliVertexer::GetNominalCov() const
const Double_t*AliVertexer::GetNominalPos() const
UShort_tGetNumOfVertices() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() 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
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 voidPrintStatus() 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)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetPhiCut(Double_t phicut)
virtual voidTObject::SetUniqueID(UInt_t uid)
voidAliVertexer::SetVtxStart(AliESDVertex* vtx)
voidAliVertexer::SetVtxStart(Double_t x, Double_t y, Double_t z)
voidAliVertexer::SetVtxStartSigma(Double_t sx, Double_t sy, Double_t sz)
voidSetZCut(Double_t zcut)
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:
AliITSUVertexer(AliITSUVertexer&)
voidAddToCluster(UInt_t line, Bool_t weight = kFALSE, Int_t cl = -1)
voidCleanAndOrderClusters()
voidClusterize(UInt_t l1, UInt_t l2, Bool_t weight = kFALSE)
voidComputeClusterCentroid(UInt_t cl)
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidFindTracklets()
voidFindVerticesForCurrentEvent()
voidTObject::MakeZombie()
Int_tMatchPoints(UShort_t layer, Double_t anchor, Double_t* p0 = 0x0, Double_t* p1 = 0x0)
voidMoveLabels(Short_t start, Short_t end)
AliITSUVertexer&operator=(const AliITSUVertexer& other)
voidReset()
voidSortClusters()

Data Members

protected:
Int_tfClusterContribCut
Double_tfClusterCut
Int_t*fClusterIndex[3]AliITSUClusterPix index
Double_t*fClusterPhi[3]Phi of clusters
TClonesArray*fClusters[3]! array of pointers to TClonesArray of AliITSUClusterPix not owned by this class
AliESDVertex*AliVertexer::fCurrentVertex! pointer to the current vertex
TClonesArrayfLines! array of tracklets
TClonesArrayfLinesClustersarray of vertex candidates
UInt_tfLinesPhinumber of tracklets built by using the first two layers
AliMultiplicity*AliVertexer::fMult! Multiplicity object
UInt_tfNoClustersnumber of clusters
UInt_tfNoLinesnumber of tracklets
UShort_tfNoVerticesnumber of vertices
Double_tfPairCutcut on pair
Double_tfPhiCutcut on deltaphi for cluster matching among first two layers
Bool_t*fUsedClusters[3]flag for used clusters in tracklet formation
Short_t*fUsedLinesflag for used lines
AliESDVertex*fVerticesarray of vertices
Double_tfZCutcut on deltatheta for cluster matching among first two layers and the third one

Class Charts

Inheritance Chart:
TObject
AliVertexer
AliITSUVertexer

Function documentation

AliITSUVertexer(Double_t phicut = 0.005, Double_t zcut = 0.002, Double_t paircut = 0.04, Double_t clustercut = 0.8, Int_t clcontrib = 5)
 Standard I/O constructor
~AliITSUVertexer()
 Destructor
void FindVerticesForCurrentEvent()
 Try to find all the primary vertices in the current
AliESDVertex* FindVertexForCurrentEvent(TTree* )
 Reconstruction of all the primary vertices in the event. It returns the vertex with the highest number of contributors.
Int_t MatchPoints(UShort_t layer, Double_t anchor, Double_t* p0 = 0x0, Double_t* p1 = 0x0)
 Method for matching clusters with similar phi and z inside the range [zmin,zmax]
void PrintStatus() const
 Prints all the cuts and important data members for the current status
void Reset()
 Resets the vertexer for a new event (or for its destruction)
void FindTracklets()
 It combines recpoints over the first three layers to define a list of tracklets
 Here it uses the ordered list of points. Second and third layers are ordered using phi
void SortClusters()
 Reading of the clusters on the first three layer of the upgraded ITS
AliITSUVertexer(Double_t phicut = 0.005, Double_t zcut = 0.002, Double_t paircut = 0.04, Double_t clustercut = 0.8, Int_t clcontrib = 5)
 Constructors and destructors
AliESDVertex* GetAllVertices(Int_t& nVert) const
 Public methods
{ nVert=fNoVertices; return fVertices; }
UInt_t GetNoLines() const
 Getters
{ return fNoLines; }
UShort_t GetNumOfVertices() const
{ return fNoVertices; }
void SetPhiCut(Double_t phicut)
 Setters
{ fPhiCut=phicut; }
void SetZCut(Double_t zcut)
{ fZCut=zcut; }
AliITSUVertexer& operator=(const AliITSUVertexer& other)
void AddToCluster(UInt_t line, Bool_t weight = kFALSE, Int_t cl = -1)
void CleanAndOrderClusters()
void Clusterize(UInt_t l1, UInt_t l2, Bool_t weight = kFALSE)
void ComputeClusterCentroid(UInt_t cl)
void MoveLabels(Short_t start, Short_t end)