ROOT logo
AliRoot » ITS » AliITSMeanVertexer

class AliITSMeanVertexer: public TObject


Class to compute vertex position using SPD local reconstruction
An average vertex position using all the events
is built and saved
Individual vertices can be optionally stored
Origin: M.Masera  (masera@to.infn.it)
Usage:
Class used by the ITSSPDVertexDiamondda.cxx detector algorithm

Id

Function Members (Methods)

public:
AliITSMeanVertexer(Bool_t mode = kTRUE)
virtual~AliITSMeanVertexer()
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
Int_tGetArrayEntries() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
const AliESDVertex*GetElementAt(Int_t i) const
virtual const char*TObject::GetIconName() const
virtual const char*TObject::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
UInt_tGetSPD0cls(Int_t i) const
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
const TH2F*GetVertexXY() const
const TH1F*GetVertexZ() 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
Bool_tInit()
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_tIsGoodVertex(Int_t i) 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)
Bool_tReconstruct(AliRawReader* rawReader)
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)
voidSetCutOnCls(UInt_t vmin = 50, UInt_t vmax = 7000)
voidSetCutOnErrX(Double_t cut = 9.5)
voidSetCutOnR(Double_t cut = 0.5)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidSetFilterOnContributors(Int_t nc = 1)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTObject::SetUniqueID(UInt_t uid)
voidSetZFiducialRegion(Double_t zcut = 40.)
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
voidWriteVertices(const char* filename)
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()

Data Members

private:
TBitsfAccEvents! bit string: 1 for good events 0 for bad ones
Double_tfAverContributors! Average number of contributors
Double_tfAverPos[3]! average position
Double_tfAverPosSq[3][3]! average square position for covariance
Double_tfAverPosSqSum[3][3]! average square position sum for covariance (transient)
Double_tfAverPosSum[3]! average position sum (transient)
UInt_t*fClu0! number of clusters on SPD inner layer
TH1F*fContrH! debug hist: number of contributors
TH1F*fContrHa! debug hist: number of contributors - after filter
AliITSDetTypeRec*fDetTypeRec! ITS reco class
TH1F*fDistH! debug hist: distance from peak
Double_tfErrXCut! cut on error on X (error*1000<fErrXCut)
TH1F*fErrXH! debug hist: error on X before Filter
TH1F*fErrXHa! debug hist: error on X after Filter
Int_tfFilterOnContributors! Numb. of contrib must be > fFilter...
UInt_tfHighSPD0! high SPD0 cls value to accept event
Int_tfIndex! current index on the arrays
UInt_tfLowSPD0! low SPD0 cls value to accept event
Bool_tfMode! kTRUE for Vertexer3D;
TH1F*fMultH! debug hist: mult. on SPD0 before Filter
TH1F*fMultHa! debug hist: mult. on SPD0 after Filter
Int_tfNoEventsContr! number of events used for mean vertex
Double_tfRCut| cut on distance from first estimate (mm)
Double_tfTotContributors! Integrated number of contributors
TClonesArrayfVertArray! array of vertices to be averaged
TH2F*fVertexXY! histogram with transverse vertex distribution (vertex diamond)
TH1F*fVertexZ! histogram with longitudinal vertex distribution
AliITSVertexer*fVertexer! vertexer
Double_tfWeighPos[3]! weighted average position
Double_tfWeighPosSum[3]! weighted average position sum (transient)
Double_tfWeighSig[3]! errors on weighted average position
Double_tfWeighSigSum[3]! weighted average position sum (transient)
Double_tfZCutDiamond! -/+ fZCutDiamond is the Z fiducial region
static const Int_tfgkMaxNumOfEventsmax. number of events

Class Charts

Inheritance Chart:
TObject
AliITSMeanVertexer

Function documentation

AliITSMeanVertexer(Bool_t mode = kTRUE)
 Default Constructor
void Reset(Bool_t redefine2D, Bool_t complete)
 Reset averages
 Both arguments are kFALSE when the method is called by the constructor
 redefine2D is TRUE when the method is called by ComputeMean at the second
            pass.
 redefine2D is FALSE and complete is TRUE when the method is called
            after a failure cof ComputeMean(kTRUE)
Bool_t Init()
 Initialize filters
 Initialize geometry
 Initialize ITS classes
~AliITSMeanVertexer()
 Destructor
Bool_t Reconstruct(AliRawReader* rawReader)
 Performs SPD local reconstruction
 and vertex finding
 returns true in case a vertex is found
void WriteVertices(const char* filename)
 Compute mean vertex and
 store it along with the histograms
 in a file
Bool_t Filter(AliESDVertex* vert, UInt_t mult)
 Apply selection criteria to events
void AddToMean(AliESDVertex* vert)
 update mean vertex
Bool_t ComputeMean(Bool_t killOutliers)
 compute mean vertex
 called once with killOutliers = kFALSE and then again with
 killOutliers = kTRUE
AliITSMeanVertexer(Bool_t mode = kTRUE)
 default constructor
void SetFilterOnContributors(Int_t nc = 1)
void SetCutOnErrX(Double_t cut = 9.5)
{fErrXCut = cut;}
void SetCutOnR(Double_t cut = 0.5)
{fRCut = cut;}
void SetCutOnCls(UInt_t vmin = 50, UInt_t vmax = 7000)
{fLowSPD0=vmin; fHighSPD0=vmax;}
void SetZFiducialRegion(Double_t zcut = 40.)
{fZCutDiamond=zcut;}
const TH2F* GetVertexXY() const
{ return fVertexXY; }
const TH1F* GetVertexZ() const
{ return fVertexZ; }
Int_t GetArrayEntries() const
 Methods used for debug purposes
{return fVertArray.GetEntries();}
const AliESDVertex* GetElementAt(Int_t i) const
{return (AliESDVertex*)fVertArray[i];}
UInt_t GetSPD0cls(Int_t i) const
{return fClu0[i];}
Bool_t IsGoodVertex(Int_t i) const
{return (fAccEvents.TestBitNumber(i)); }
AliITSMeanVertexer& operator=(const AliITSMeanVertexer& )
 assignment operator (NO assignment allowed)
void ResetArray()