ROOT logo
AliRoot » PWGPP » AliIntSpotEstimator

class AliIntSpotEstimator: public TNamed

Function Members (Methods)

public:
AliIntSpotEstimator(Bool_t initDef = kFALSE)
AliIntSpotEstimator(const char* name, Double_t outcut = 1e-4, Int_t ntrIP = 2, Int_t nPhiBins = 12, Int_t nestb = 500, Double_t estmin = -2e-2, Double_t estmax = 6e-2, Int_t ntrBins = 10, Int_t ntMn = 2, Int_t ntMx = 32, Int_t nPBins = 14, Double_t pmn = 0.2, Double_t pmx = 3., Bool_t ntuple = kFALSE)
virtual~AliIntSpotEstimator()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static Double_tCalcMean(TH1* histo, Double_t ctfact, Double_t* err = 0)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidClear(Option_t* opt = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual voidTNamed::Copy(TObject& named) const
TCanvas*CreateReport(const char* outname = 0)
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 voidTNamed::FillBuffer(char*& buffer)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
Double_tGetDCASigma(double p, Double_t* err = 0) const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
Int_tGetEventsAccepted() const
Int_tGetEventsProcessed() const
TH2F*GetHistoIP() const
TH2F*GetHistoTrc() const
TH2F*GetHistoVtx() const
TH2F*GetHistoVtxXY() const
virtual const char*TObject::GetIconName() const
Double_tGetIPCenIni(Int_t id) const
Double_tGetIPCenter(Int_t id, Double_t* err = 0) const
Double_tGetIPSigma(Int_t phibin = 0, Double_t* err = 0) const
Int_tGetMaxTracks() const
Int_tGetMinTracks() const
Int_tGetMinTracksForIP() const
virtual const char*TNamed::GetName() const
Int_tGetNPBins() const
Int_tGetNPhiBins() const
Int_tGetNTrackBins() const
TNtuple*GetNtuple() 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*TNamed::GetTitle() const
Double_tGetTrackMaxP() const
Double_tGetTrackMinP() const
virtual UInt_tTObject::GetUniqueID() const
AliVertexerTracks*GetVertexer() const
Double_tGetVtxSigma(int ntr, Double_t* err = 0) const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::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
voidInitEstimators(Int_t nPhiBins = 12, Int_t nestb = 500, Double_t estmin = -2e-2, Double_t estmax = 6e-2, Int_t ntrBins = 10, Int_t ntMn = 2, Int_t ntMx = 32, Int_t nPBins = 14, Double_t pmn = 0.2, Double_t pmx = 3., Bool_t ntuple = kFALSE)
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_tTNamed::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTNamed::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Long64_tMerge(TCollection* coll)
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)
AliIntSpotEstimator&operator+=(const AliIntSpotEstimator& src)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidPrint(Option_t* opt = "") const
Bool_tProcessEvent(const TObjArray* tracks)
Bool_tProcessEvent(const AliESDEvent* esd, const AliESDVertex* vtx = 0)
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)
voidSetIPCenIni(Double_t* xyz)
voidSetMinTracksForIP(Int_t ntr = 2)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetOutlierCut(Double_t v = 1e-4)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector&)
virtual Int_tTNamed::Sizeof() const
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:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
Bool_tIsValid() const
Bool_tIsZero(Double_t v, Double_t thresh = 1e-15) const
voidTObject::MakeZombie()
Bool_tProcessEstimators(const AliESDEvent* esd)
Bool_tProcessIPCenter(const AliESDVertex* vtx)
Bool_tProcessTracks()
voidUpdateEstimators(double rvD, double rtD, double nTracks, double pTrack, double phiTrack)

Data Members

protected:
TH2F*fEstimIPdistribution of IP estimator
TH2F*fEstimTrcdistribution of DCA res estimator
TH2F*fEstimVtxdistribution of VTRes estimator
Int_tfEvProcnumber of events processed
TH2F*fHVtxXYXY histo
Double_tfIPCen2[3]IP position XYZ^2
Double_tfIPCenIni[3]mean IP position XYZ (initial)
Double_tfIPCenter[3]IP position XYZ
Int_tfIPCenterStatnumber of events used for fIPCenter
Int_tfMinTracksForIPaccount IP estimator only for vertices with >= tracks
TStringTNamed::fNameobject identifier
TNtuple*fNtuple! optional ntuple with dca's
Double_tfOutlierCutcut on outliers
TStringTNamed::fTitleobject title
TObjArray*fTracks! storage for processed tracks
AliVertexerTracks*fVertexer! vertex fitter

Class Charts

Inheritance Chart:
TNamed
AliIntSpotEstimator

Function documentation

AliIntSpotEstimator(const char* name, Double_t outcut = 1e-4, Int_t ntrIP = 2, Int_t nPhiBins = 12, Int_t nestb = 500, Double_t estmin = -2e-2, Double_t estmax = 6e-2, Int_t ntrBins = 10, Int_t ntMn = 2, Int_t ntMx = 32, Int_t nPBins = 14, Double_t pmn = 0.2, Double_t pmx = 3., Bool_t ntuple = kFALSE)
AliIntSpotEstimator(Bool_t initDef = kFALSE)
~AliIntSpotEstimator()
Bool_t ProcessIPCenter(const AliESDVertex* vtx)
 account the vertex in IP center estimation
Bool_t ProcessEvent(const AliESDEvent* esd, const AliESDVertex* vtx = 0)
 Note: this method will modify the indices of the provided vertex
 Account the vertex in widths estimation
 if vtx is provided its tracks will be used otherwise use the primary vertex of the event
Bool_t ProcessEvent(const TObjArray* tracks)
 This method allows to process the vertex made of arbitrary tracks
 Account the vertex in widths estimation with externally provided tracks
 The indices of the vertex must correspond to array of tracks

Bool_t ProcessTracks()
 account the vertex made of provided tracks

void UpdateEstimators(double rvD, double rtD, double nTracks, double pTrack, double phiTrack)
 update the estimator values
void InitEstimators(Int_t nPhiBins = 12, Int_t nestb = 500, Double_t estmin = -2e-2, Double_t estmax = 6e-2, Int_t ntrBins = 10, Int_t ntMn = 2, Int_t ntMx = 32, Int_t nPBins = 14, Double_t pmn = 0.2, Double_t pmx = 3., Bool_t ntuple = kFALSE)
Double_t GetIPSigma(Int_t phibin = 0, Double_t* err = 0) const
 get estimate for the IP sigma
Double_t GetVtxSigma(int ntr, Double_t* err = 0) const
 get estimate for the IP sigma^2
Double_t GetDCASigma(double p, Double_t* err = 0) const
 get estimate for the IP sigma^2
Double_t CalcMean(TH1* histo, Double_t ctfact, Double_t* err = 0)
 calculate mean applying the cut on the outliers

void Print(Option_t* opt = "") const
void Clear(Option_t* opt = "")
 reset all
TCanvas* CreateReport(const char* outname = 0)
 prepare canvas with report
Long64_t Merge(TCollection* coll)
 Merge estimators: used to put together the results of parallel processing
Double_t GetIPCenter(Int_t id, Double_t* err = 0) const
 calculate IP center in axis id and error
AliIntSpotEstimator(Bool_t initDef = kFALSE)

Double_t GetIPCenIni(Int_t id) const
{return fIPCenIni[id];}
Int_t GetEventsAccepted() const
{return fIPCenterStat;}
Int_t GetEventsProcessed() const
{return fEvProc;}
Int_t GetMinTracksForIP() const
{return fMinTracksForIP;}
void SetOutlierCut(Double_t v = 1e-4)
void SetIPCenIni(Double_t* xyz)
{for (int i=3;i--;) fIPCenIni[i] = xyz[i];}
void SetMinTracksForIP(Int_t ntr = 2)
{fMinTracksForIP = ntr>2 ? ntr : 2;}
TH2F* GetHistoIP() const
{return fEstimIP;}
TH2F* GetHistoVtx() const
{return fEstimVtx;}
TH2F* GetHistoTrc() const
{return fEstimTrc;}
TH2F* GetHistoVtxXY() const
{return fHVtxXY;}
TNtuple* GetNtuple() const
{return (TNtuple*)fNtuple;}
AliVertexerTracks* GetVertexer() const
{return fVertexer;}
Int_t GetNPhiBins() const
{return !IsValid() ? 0:fEstimIP->GetXaxis()->GetNbins();}
Int_t GetNTrackBins() const
{return !IsValid() ? 0:fEstimVtx->GetXaxis()->GetNbins();}
Int_t GetMinTracks() const
{return !IsValid() ? 0:TMath::Nint(fEstimVtx->GetXaxis()->GetXmin());}
Int_t GetMaxTracks() const
{return !IsValid() ? 0:TMath::Nint(fEstimVtx->GetXaxis()->GetXmax());}
Int_t GetNPBins() const
{return !IsValid() ? 0:fEstimTrc->GetXaxis()->GetNbins();}
Double_t GetTrackMinP() const
{return !IsValid() ? 0:1./fEstimTrc->GetXaxis()->GetXmax();}
Double_t GetTrackMaxP() const
{return !IsValid() ? 0:1./fEstimTrc->GetXaxis()->GetXmin();}
Bool_t IsValid() const
{return fEstimIP!=0;}
Bool_t IsZero(Double_t v, Double_t thresh = 1e-15) const
{return TMath::Abs(v)<thresh;}
Bool_t ProcessEstimators(const AliESDEvent* esd)
AliIntSpotEstimator & operator=(const AliIntSpotEstimator& src)