ROOT logo
AliRoot » ITS » AliITSVertexerCosmics

class AliITSVertexerCosmics: public AliITSVertexer

 This class implements a method to construct a "fake" primary
 vertex for cosmic events in which the muon crosses one of 5 inner
 ITS layers. A fake primary vertex is needed for the reconstruction,
 with e.g. AliITStrackerSA, of the two tracks produced by the muon
 in the ITS.
   We build pairs of clusters on a given layer and define the fake vertex as
 the mid-point of the straight line joining the two clusters.
   We use the innermost layer that has at least two clusters.
   We reject the background by requiring at least one cluster on the outer
 layer, closer than fMaxDistOnOuterLayer to the tracklet prolongation.
   We can reject (potentially pathological) events with the muon track
 tangential to the layer by the requiring the radial position of
 the vertex to be smaller than fMaxVtxRadius.
   Due to background clusters, more than one vertex per event can
 be found. We consider the first found.
   The errors on x,y,z of the vertex are calculated as errors on the mean
 of clusters coordinates. Non-diag elements of vertex cov. mat. are set to 0.
   The number of contributors set in the AliESDVertex object is the
 number of the layer on which the tracklet was built; if this number is -1,
 the procedure could not find a vertex position and by default
 the vertex coordinates are set to (0,0,0) with large errors (100,100,100)

 Origin: A.Dainese, andrea.dainese@lnl.infn.it

Function Members (Methods)

public:
AliITSVertexerCosmics()
virtual~AliITSVertexerCosmics()
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
voidAliITSVertexer::FindMultiplicity(TTree* itsClusterTree)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
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()
virtual const char*TObject::GetIconName() const
Double_tGetMaVtxRadius(Int_t ilayer = 0) const
Double_tGetMaxDistOnOuterLayer() const
Double_tGetMinDist2Vtxs() 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
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)
TObject&TObject::operator=(const TObject& rhs)
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 = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidAliITSVertexer::SetComputeMultiplicity(Bool_t opt = kTRUE)
virtual voidAliITSVertexer::SetDetTypeRec(AliITSDetTypeRec* ptr)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidAliITSVertexer::SetFirstEvent(Int_t ev)
voidSetFirstLastModules(Int_t ilayer = 0, Int_t m1 = 0, Int_t m2 = 79)
voidAliITSVertexer::SetLaddersOnLayer2(Int_t ladwid = 4)
voidAliITSVertexer::SetLastEvent(Int_t ev)
voidSetMaxDistOnOuterLayer(Double_t max = 1.0)
voidSetMaxVtxRadius(Int_t ilayer = 0, Double_t maxr = 3.5)
voidSetMinDist2Vtxs(Double_t mind = 0.1)
voidAliITSVertexer::SetMinTrackletsForPilup(Int_t mint = 2)
static voidTObject::SetObjectStat(Bool_t stat)
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)
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
voidTObject::MakeZombie()

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
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_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
Bool_tAliITSVertexer::fUseModule[240]flag for enabling/disabling SPD modules
AliESDVertex*AliITSVertexer::fVertArray! vertices (main+pileupped)
Float_tAliITSVertexer::fZpuvZ of second pile-up vertex
static const Float_tAliITSVertexer::fgkPipeRadiusbeam pipe radius (cm)
private:
Int_tfFirst[6]first module of each layer
Int_tfLast[6]last module of each layer
Double_tfMaxDistOnOuterLayermax dca between tracklet & outer layer cls
Double_tfMaxVtxRadius[6]maximum radial pos of vertex
Double_tfMinDist2Vtxsminimum distance between two vertices

Class Charts

Inheritance Chart:
TObject
AliVertexer
AliITSVertexer
AliITSVertexerCosmics

Function documentation

AliITSVertexerCosmics()
 Default constructor
AliESDVertex* FindVertexForCurrentEvent(TTree* itsClusterTree)
 Defines the AliESDVertex for the current event
void PrintStatus() const
 Print current status
virtual ~AliITSVertexerCosmics()
{}
void SetFirstLastModules(Int_t ilayer = 0, Int_t m1 = 0, Int_t m2 = 79)
{fFirst[ilayer] = m1; fLast[ilayer] = m2;}
void SetMaxDistOnOuterLayer(Double_t max = 1.0)
Double_t GetMaxDistOnOuterLayer() const
void SetMaxVtxRadius(Int_t ilayer = 0, Double_t maxr = 3.5)
{fMaxVtxRadius[ilayer]=maxr;}
Double_t GetMaVtxRadius(Int_t ilayer = 0) const
{return fMaxVtxRadius[ilayer];}
void SetMinDist2Vtxs(Double_t mind = 0.1)
Double_t GetMinDist2Vtxs() const
{return fMinDist2Vtxs;}