ROOT logo
AliRoot » ITS » AliITSVertexerZD

class AliITSVertexerZD: public AliITSVertexer

 this class implements a fast method to determine
 the Z coordinate of the primary vertex
 it is based on the 2 layers of SDD detectors
 wider Z acceptance w.r.t. AliITSVertexerZ
 lower resolution
 origin masera@to.infn.it

Function Members (Methods)

public:
AliITSVertexerZD()
AliITSVertexerZD(Float_t x0, Float_t y0)
virtual~AliITSVertexerZD()
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
voidConfigIterations(Int_t noiter = 4, Float_t* ptr = 0)
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
voidAliITSVertexer::FindMultiplicity(TTree* itsClusterTree)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
static Int_tFindSecondPeak(TH1F* h, Int_t binmin, Int_t binmax, Float_t& secPeakPos)
virtual AliESDVertex*FindVertexForCurrentEvent(TTree* itsClusterTree)
voidAliITSVertexer::FindVertices()
virtual AliESDVertex*AliITSVertexer::GetAllVertices(Int_t& novertices) const
Float_tGetBinWidthCoarse() const
AliITSDetTypeRec*AliITSVertexer::GetDetTypeRec() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
Float_tGetHighLimit() const
virtual const char*TObject::GetIconName() const
Float_tGetLowLimit() 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 Int_tGetPeakRegion(TH1F* h, Int_t& binmin, Int_t& binmax)
static Float_tAliITSVertexer::GetPipeRadius()
virtual const char*TObject::GetTitle() const
Float_tGetTolerance() const
virtual UInt_tTObject::GetUniqueID() 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
Bool_tIsSearchForPileupActive() 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 = "")
voidSetBinWidthCoarse(Float_t bw = 0.01)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidAliITSVertexer::SetComputeMultiplicity(Bool_t opt = kTRUE)
virtual voidAliITSVertexer::SetDetTypeRec(AliITSDetTypeRec* ptr)
voidSetDiffPhiMax(Float_t pm = 0.1)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidAliITSVertexer::SetFirstEvent(Int_t ev)
voidSetFirstLayerModules(Int_t m1 = 240, Int_t m2 = 323)
voidSetHighLimit(Float_t lim = 70.)
voidAliITSVertexer::SetLaddersOnLayer2(Int_t ladwid = 4)
voidAliITSVertexer::SetLastEvent(Int_t ev)
voidSetLowLimit(Float_t lim = -70.)
voidAliITSVertexer::SetMinTrackletsForPilup(Int_t mint = 2)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetPPsetting(Float_t cl2 = 250., Float_t coarsebin = 0.02)
voidSetSearchForPileup(Bool_t opt)
voidSetSecondLayerModules(Int_t m1 = 324, Int_t m2 = 499)
voidSetTolerance(Float_t tol = 20./10000.)
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)
voidSetWindowWidth(Float_t ww = 0.2)
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:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
Float_tGetPhiMaxIter(Int_t i) const
voidTObject::MakeZombie()
voidResetHistograms()
voidVertexZFinder(TTree* itsClusterTree)

Data Members

public:
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:
Bool_tAliITSVertexer::fComputeMultiplicityflag to switch on/off tracklet calculation
AliESDVertex*AliVertexer::fCurrentVertex! pointer to the current vertex
AliITSDetTypeRec*AliITSVertexer::fDetTypeRec! pointer to DetTypeRec
Float_tfDiffPhiMaxMaximum delta phi allowed among corr. pixels
Int_tfFirstL1first module of the first pixel layer used
Int_tfFirstL2first module of the second pixel layer used
Float_tfHighLimhigh limit for fZComb histograms
Bool_tAliITSVertexer::fIsPileupflag for pileup
Int_tAliITSVertexer::fLadOnLay2(2*fLadOnLay2+1)=number of layer2 ladders
UShort_t*AliITSVertexer::fLaddersarray with layer1-layer2 ladders correspondances
Int_tfLastL1last module of the first pixel layer used
Int_tfLastL2last module of the second pixel layer used
Float_tfLowLimlow limit for fZComb histograms
Int_tfMaxIterMaximum number of iterations (<=5)
Int_tAliITSVertexer::fMinTrackletsForPilupmin. n. of tracklets for pilup definition
AliMultiplicity*AliVertexer::fMult! Multiplicity object
Int_tAliITSVertexer::fNTrpuvtracklets in pile-up vertex
Int_tAliITSVertexer::fNoVertices! number of vertices found
Float_tfPPsetting[2][0] is the max. number of clusters on L2 to use [1] as fStepCoarse
Float_tfPhiDiffIter[5]Delta phi used in iterations
Bool_tfSearchForPileupflag to switch pileup off/on
Float_tfStepCoarsebin width for fZCombc
Float_tfTolerancetolerance on the symmetry of the Z interval
Bool_tAliITSVertexer::fUseModule[240]flag for enabling/disabling SPD modules
AliESDVertex*AliITSVertexer::fVertArray! vertices (main+pileupped)
Float_tfWindowWidthZ window width for symmetrization
TH1F*fZCombc! histogram with coarse z distribution
Float_tfZFound! found value for the current event
Float_tAliITSVertexer::fZpuvZ of second pile-up vertex
Float_tfZsig! RMS of Z
static const Float_tAliITSVertexer::fgkPipeRadiusbeam pipe radius (cm)

Class Charts

Inheritance Chart:
TObject
AliVertexer
AliITSVertexer
AliITSVertexerZD

Function documentation

AliITSVertexerZD()
 Default constructor
AliITSVertexerZD(Float_t x0, Float_t y0)
 Standard Constructor
~AliITSVertexerZD()
 Destructor
void ConfigIterations(Int_t noiter = 4, Float_t* ptr = 0)
 configure the iterative procedure to gain efficiency for
 pp events with very low multiplicity
Int_t GetPeakRegion(TH1F* h, Int_t& binmin, Int_t& binmax)
 Finds a region around a peak in the Z histogram
 Case of 2 peaks is treated
AliESDVertex* FindVertexForCurrentEvent(TTree* itsClusterTree)
 Defines the AliESDVertex for the current event
void VertexZFinder(TTree* itsClusterTree)
 Defines the AliESDVertex for the current event
debug  printf("===========  VertexZFinder has been called \n");
Int_t FindSecondPeak(TH1F* h, Int_t binmin, Int_t binmax, Float_t& secPeakPos)
 Resets bin contents between binmin and binmax and then search
 for a second peak position
void ResetHistograms()
 delete TH1 data members
void PrintStatus() const
 Print current status
AliITSVertexerZD()
void SetDiffPhiMax(Float_t pm = 0.1)
{fDiffPhiMax = pm;}
void SetFirstLayerModules(Int_t m1 = 240, Int_t m2 = 323)
{fFirstL1 = m1; fLastL1 = m2;}
void SetSecondLayerModules(Int_t m1 = 324, Int_t m2 = 499)
{fFirstL2 = m1; fLastL2 = m2;}
void SetLowLimit(Float_t lim = -70.)
{fLowLim = lim;}
void SetHighLimit(Float_t lim = 70.)
{fHighLim = lim;}
Float_t GetLowLimit() const
{return fLowLim;}
Float_t GetHighLimit() const
{return fHighLim;}
void SetBinWidthCoarse(Float_t bw = 0.01)
{fStepCoarse = bw;}
void SetPPsetting(Float_t cl2 = 250., Float_t coarsebin = 0.02)
{fPPsetting[0]=cl2; fPPsetting[1]=coarsebin;}
Float_t GetBinWidthCoarse() const
{return fStepCoarse;}
void SetTolerance(Float_t tol = 20./10000.)
{fTolerance = tol;}
void SetWindowWidth(Float_t ww = 0.2)
Float_t GetTolerance() const
  virtual void MakeTracklet(Double_t * /* pA */, Double_t * /*pB */, Int_t & /* nolines */) {} // implemented in a derived class
{return fTolerance;}
void SetSearchForPileup(Bool_t opt)
Bool_t IsSearchForPileupActive() const
{ return fSearchForPileup;}
Float_t GetPhiMaxIter(Int_t i) const
{return fPhiDiffIter[i];}
AliITSVertexerZD& operator=(const AliITSVertexerZD& vtxr)