ROOT logo
AliRoot » ITS » AliITSVertexer3D

class AliITSVertexer3D: public AliITSVertexer

 this class implements a method to determine
 the 3 coordinates of the primary vertex
 optimized for
 p-p collisions

Function Members (Methods)

public:
AliITSVertexer3D(Double_t zcut = 0.)
AliITSVertexer3D(TRootIOCtor*)
virtual~AliITSVertexer3D()
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)
static Bool_tDistBetweenVertices(AliESDVertex& a, AliESDVertex& b, Double_t test, Double_t& dist)
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
voidAliITSVertexer::FindMultiplicity(TTree* itsClusterTree)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
voidFindVertex3D(TTree* itsClusterTree)
voidFindVertex3DIterative()
voidFindVertex3DIterativeMM()
virtual AliESDVertex*FindVertexForCurrentEvent(TTree* itsClusterTree)
voidAliITSVertexer::FindVertices()
virtual AliESDVertex*AliITSVertexer::GetAllVertices(Int_t& novertices) const
AliITSDetTypeRec*AliITSVertexer::GetDetTypeRec() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
UInt_tGetFallBackThreshold() const
virtual const char*TObject::GetIconName() const
Int_tGetMaxNumOfClustersForDownScale() const
Int_tGetMaxNumOfClustersForHighMult() const
Int_tGetMaxNumOfClustersForRebin() const
Int_tAliITSVertexer::GetMinTrackletsForPilup() const
AliMultiplicity*AliVertexer::GetMultiplicity() const
virtual const char*TObject::GetName() const
const Double_t*AliVertexer::GetNominalCov() const
const Double_t*AliVertexer::GetNominalPos() const
Int_tAliITSVertexer::GetNTrackletsPileupV() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
static Float_tAliITSVertexer::GetPipeRadius()
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
AliESDVertexGetVertex3D() const
Float_tAliITSVertexer::GetZPileupV() 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
voidAliITSVertexer::Init(TString filename)
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
virtual Bool_tAliITSVertexer::IsModuleUsed(Int_t imod) const
Bool_tTObject::IsOnHeap() const
Bool_tAliITSVertexer::IsPileup() 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 voidAliITSVertexer::ResetVertex()
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidSetBinSizeR(Double_t siz = 0.1)
voidSetBinSizeZ(Double_t siz = 0.8)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidSetCoarseDiffPhiCut(Double_t dphi = 0.5)
voidSetCoarseMaxRCut(Double_t rad = 2.5)
voidAliITSVertexer::SetComputeMultiplicity(Bool_t opt = kTRUE)
voidSetCutOnPairs(Double_t cp = 0.15)
voidSetDCACut(Double_t dca = 0.1)
voidSetDeltaPhiCuts(Double_t dphiloose = 0.5, Double_t dphitight = 0.025)
voidSetDeltaPhiforPileup(Double_t dphi = 0.01)
virtual voidAliITSVertexer::SetDetTypeRec(AliITSDetTypeRec* ptr)
voidSetDiffPhiMax(Double_t pm = 0.025)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidSetFallBack(UInt_t th)
voidSetFineDiffPhiCut(Double_t dphi = 0.05)
voidAliITSVertexer::SetFirstEvent(Int_t ev)
voidSetHighMultAlgo(UChar_t n)
voidSetHighMultDownscalingAlgo()
voidSetHighMultTracesAlgo()
voidAliITSVertexer::SetLaddersOnLayer2(Int_t ladwid = 4)
voidAliITSVertexer::SetLastEvent(Int_t ev)
voidSetMaxNumOfClustersForDownScale(Int_t ncl)
voidSetMaxNumOfClustersForHighMult(Int_t ncl)
voidSetMaxNumOfClustersForRebin(Int_t ncl)
voidSetMaxRCut(Double_t rad = 0.5)
voidSetMaxRCutAlgo2(Double_t rad = 0.2)
voidSetMaxZCut(Double_t dz = 0.5)
voidSetMeanPPtSelTracks(Double_t fieldTesla)
voidSetMeanPSelTracks(Double_t pGeV = 0.875)
voidSetMeanPtSelTracks(Double_t ptGeV = 0.630)
voidSetMinDCAforPileup(Double_t mindist = 0.1)
voidAliITSVertexer::SetMinTrackletsForPilup(Int_t mint = 2)
voidSetNarrowFiducialRegion(Double_t dz = 0.5, Double_t dr = 0.5)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetPileupAlgo(UShort_t optalgo = 1)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidAliITSVertexer::SetUseModule(Int_t imod, Bool_t optUse)
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)
voidSetWideFiducialRegion(Double_t dz = 40.0, Double_t dr = 2.5)
voidSetZCutDiamond(Double_t zcut = 40.0)
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
voidAliITSVertexer::WriteCurrentVertex()
protected:
AliITSVertexer3D(const AliITSVertexer3D& vtxr)
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidFindOther3DVertices(TTree* itsClusterTree)
voidFindPeaks(TH3F* histo, Double_t* peak, Int_t& nOfTracklets, Int_t& nOfTimes)
Int_tFindTracklets(TTree* itsClusterTree, Int_t optCuts)
Double_tGetFraction(Int_t itr) const
voidTObject::MakeZombie()
voidMarkUsedClusters()
AliITSVertexer3D&operator=(const AliITSVertexer3D&)
voidPileupFromZ()
Int_tPrepare3DVertex(Int_t optCuts)
Int_tPrepare3DVertexPbPb()
Int_tRemoveTracklets()
voidResetVert3D()

Data Members

public:
enum { kMaxCluPerMod
kMaxPileupVertices
};
enum AliITSVertexer::[unnamed] { kNSPDMod
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
Float_tf3DBinSizeSize of the 3D bins
Double_tf3DPeak[3]TH3F peak coords
Double_tfBinSizeRHisto3D bin size along radius
Double_tfBinSizeZHisto3D bin size along z
Double_tfCoarseDiffPhiCutloose cut on DeltaPhi for RecPoint matching
Double_tfCoarseMaxRCutcut on tracklet DCA to Z axis
Bool_tAliITSVertexer::fComputeMultiplicityflag to switch on/off tracklet calculation
AliESDVertex*AliVertexer::fCurrentVertex! pointer to the current vertex
Double_tfCutOnPairscut on distance between pairs of tracklets
Double_tfDCAcutcut on tracklet to tracklet and tracklet to vertex DCA
Double_tfDCAforPileupMinimum DCA to 1st vertex for pileup tracklets
AliITSDetTypeRec*AliITSVertexer::fDetTypeRec! pointer to DetTypeRec
Double_tfDiffPhiMaxMaximum delta phi allowed among corr. pixels
Double_tfDiffPhiforPileupCut on delta phi for pileup
Bool_tfDoDownScaleControl downscaling of tracklets in high mult
Bool_tfFallBackSwitch to Vertexer Z if true and if the number
UInt_tfFallBackThresholdthreshold on SPD0 clusters
Double_tfFineDiffPhiCuttight value of DeltaPhi for RP matching (2nd method)
TRandom3*fGenerForDownScalerandomnumber generator fordownscaling
TH3F*fH3d! 3D histogram used to find the vertex
TH3F*fH3dcs! 3D histogram used to find the vertex
TH3F*fH3dfs! 3D histogram used to find the vertex
TH3F*fH3dv! 3D histogram used to find the vertex
UChar_tfHighMultAlgoalgorithm used for high mult. events
Bool_tAliITSVertexer::fIsPileupflag for pileup
Int_tAliITSVertexer::fLadOnLay2(2*fLadOnLay2+1)=number of layer2 ladders
UShort_t*AliITSVertexer::fLaddersarray with layer1-layer2 ladders correspondances
TClonesArrayfLines! array of tracklets
Int_tfMaxNumOfClmax n. of clusters on L1 or L2 for high mult definition
Int_tfMaxNumOfClForDownScalemax n. of clusters on L1 or L2 for downscale
Int_tfMaxNumOfClForRebinmax n. of clusters on L1 or L2 for rebin
Double_tfMaxRCutcut on tracklet DCA to beam axis
Double_tfMaxRCut2cut on tracklet DCA to beam axis - algo2
Double_tfMaxZCutcut on Z distance from estimated vertex
Double_tfMeanPSelTrkGeV, mean P for tracks with dphi<0.01 rad
Double_tfMeanPtSelTrkGeV, mean Pt for tracks with dphi<0.01 rad
Int_tAliITSVertexer::fMinTrackletsForPilupmin. n. of tracklets for pilup definition
AliMultiplicity*AliVertexer::fMult! Multiplicity object
Int_tfNRecPLay1number of rec ponts on SPD layer 1
Int_tfNRecPLay2number of rec ponts on SPD layer 2
Int_tAliITSVertexer::fNTrpuvtracklets in pile-up vertex
Int_tAliITSVertexer::fNoVertices! number of vertices found
UShort_tfPileupAlgoAlgo for pileup identification
Bool_tfSwitchAlgorithmSwitch between two algoritms in testing phase
Bool_tAliITSVertexer::fUseModule[240]flag for enabling/disabling SPD modules
TBitsfUsedClusterflag for used clusters in vertex calculation
AliESDVertexfVert3D3D Vertex
AliESDVertex*AliITSVertexer::fVertArray! vertices (main+pileupped)
Double_tfZCutDiamondcut on +-Z of the diamond
TH1F*fZHisto! histogram with coarse z distribution
Float_tAliITSVertexer::fZpuvZ of second pile-up vertex
static const Float_tfgk3DBinSizeDefaultDefault 3D bins size
static const Int_tfgkMaxNumOfClDefaultDefault max n. of clusters for downscale
static const Int_tfgkMaxNumOfClDownscaleDefaultDefault max n. of clusters for rebin
static const Int_tfgkMaxNumOfClRebinDefaultDefault max n. of clusters for rebin
static const Float_tAliITSVertexer::fgkPipeRadiusbeam pipe radius (cm)

Class Charts

Inheritance Chart:
TObject
AliVertexer
AliITSVertexer
AliITSVertexer3D

Function documentation

AliITSVertexer3D(Double_t zcut = 0.)
 Default constructor
AliITSVertexer3D(TRootIOCtor* )
 I/O constructor
~AliITSVertexer3D()
 Destructor
void ResetVert3D()
 Reset the fVert3D object and reset the used clusters
AliESDVertex* FindVertexForCurrentEvent(TTree* itsClusterTree)
 Defines the AliESDVertex for the current event
void FindVertex3D(TTree* itsClusterTree)
 Instantiates the fCurrentVertex object. calle by FindVertexForCurrenEvent
void FindVertex3DIterative()
 find vertex if fPileupAlgo == 2
void FindVertex3DIterativeMM()
 Defines the AliESDVertex for the current event
Bool_t DistBetweenVertices(AliESDVertex& a, AliESDVertex& b, Double_t test, Double_t& dist)
 method to compare the distance between vertices a and b with "test"
it returns kTRUE is the distance is less or equal to test
Int_t FindTracklets(TTree* itsClusterTree, Int_t optCuts)
 All the possible combinations between recpoints on layer 1and 2 are
 considered. Straight lines (=tracklets)are formed.
 The tracklets are processed in Prepare3DVertex
Int_t Prepare3DVertex(Int_t optCuts)
 Finds the 3D vertex information using tracklets
Int_t Prepare3DVertexPbPb()
 Finds the 3D vertex information in Pb-Pb events using tracklets
void SetMeanPPtSelTracks(Double_t fieldTesla)
 Sets mean values of Pt based on the field
 for P (used in multiple scattering) the most probable value is used
void SetZCutDiamond(Double_t zcut = 40.0)
 The fiducial region along Z is set. The TH1 object pointed by
 fZHisto is created
void FindPeaks(TH3F* histo, Double_t* peak, Int_t& nOfTracklets, Int_t& nOfTimes)
 Finds bin with max contents in 3D histo of tracket intersections
void MarkUsedClusters()
 Mark clusters of tracklets used in vertex claulation
Int_t RemoveTracklets()
 Remove trackelts close to first found vertex
void FindOther3DVertices(TTree* itsClusterTree)
 pileup identification based on 3D vertexing with not used clusters
void PileupFromZ()
 Calls the pileup algorithm of ALiITSVertexerZ
Double_t GetFraction(Int_t itr) const
 this method is used to fill a 3D histogram representing
 the trajectories of the candidate tracklets
 The computed fraction is used as a weight at filling time
void PrintStatus() const
 Print current status
AliITSVertexer3D(Double_t zcut = 0.)
AliESDVertex GetVertex3D() const
  Double_t *Get3DPeak() {return f3DPeak;}
{return fVert3D;}
void SetWideFiducialRegion(Double_t dz = 40.0, Double_t dr = 2.5)
SetCoarseMaxRCut(Double_t rad = 2.5)
void SetNarrowFiducialRegion(Double_t dz = 0.5, Double_t dr = 0.5)
SetMaxRCut(Double_t rad = 0.5)
SetMaxZCut(Double_t dz = 0.5)
void SetDeltaPhiCuts(Double_t dphiloose = 0.5, Double_t dphitight = 0.025)
SetCoarseDiffPhiCut(Double_t dphi = 0.5)
SetDiffPhiMax(Double_t pm = 0.025)
void SetFineDiffPhiCut(Double_t dphi = 0.05)
void SetCutOnPairs(Double_t cp = 0.15)
{fCutOnPairs = cp;}
void SetMaxRCutAlgo2(Double_t rad = 0.2)
{fMaxRCut2=rad;}
void SetDCACut(Double_t dca = 0.1)
{fDCAcut=dca;}
void SetMeanPSelTracks(Double_t pGeV = 0.875)
{fMeanPSelTrk = pGeV;}
void SetMeanPtSelTracks(Double_t ptGeV = 0.630)
{fMeanPtSelTrk = ptGeV;}
void SetMinDCAforPileup(Double_t mindist = 0.1)
{fDCAforPileup=mindist;}
void SetDeltaPhiforPileup(Double_t dphi = 0.01)
void SetPileupAlgo(UShort_t optalgo = 1)
{fPileupAlgo=optalgo;}
void SetBinSizeR(Double_t siz = 0.1)
{fBinSizeR=siz;}
void SetBinSizeZ(Double_t siz = 0.8)
{fBinSizeZ=siz;}
void SetHighMultAlgo(UChar_t n)
void SetHighMultDownscalingAlgo()
void SetHighMultTracesAlgo()
void SetMaxNumOfClustersForHighMult(Int_t ncl)
void SetMaxNumOfClustersForDownScale(Int_t ncl)
void SetMaxNumOfClustersForRebin(Int_t ncl)
Int_t GetMaxNumOfClustersForHighMult() const
{return fMaxNumOfCl;}
Int_t GetMaxNumOfClustersForDownScale() const
Int_t GetMaxNumOfClustersForRebin() const
 Fall back to Vertexer Z
void SetFallBack(UInt_t th)
 Get the threshold for fall back. Returns 0 is the fall back is not set.
UInt_t GetFallBackThreshold() const
AliITSVertexer3D& operator=(const AliITSVertexer3D& )