ROOT logo
HYDRA - THE HADES ANALYSIS PACKAGE » (UNKNOWN) » HParticleVertexFind

class HParticleVertexFind: public HReconstructor

_HADES_CLASS_DESCRIPTION

 HParticleVertexFind

   Vertex finder using weighted LSM with optional Tukey weights

 To use it in a macro just add

 taskset->add(new HParticleVertexFind("name","title",tukey)

 where  input data is read from HParticleCand (r,z,phi,theta from RK)
 Only candidate flagged kIsUsed are taken into account . Inner segment
 is require to be fitted and RK chi2 < 1000. Candidates markes as fakes
 are skipped by default.

 As for 'tukey' it can be kTRUE or kFALSE depending on if Tukey weights
 should be used in the minimization. For low multiplicity environments
 like C+C I would recomend kFALSE; at least until I have found better
 parameters for the Tukey weigths minimization.


Function Members (Methods)

public:
HParticleVertexFind(const Text_t* name = "", const Text_t* title = "", Bool_t tukey = kTRUE)
virtual~HParticleVertexFind()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidHReconstructor::Browse(TBrowser* b)
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTNamed::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual Bool_tHReconstructor::connectTask(HTask* task, Int_t n = 0)
virtual voidTNamed::Copy(TObject& named) const
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
Int_tdoFit()
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 Int_texecute()
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 Bool_tfinalize()
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual HTask*HReconstructor::getComposite()
virtual voidHReconstructor::getConnections()
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
Double_tgetEpsilon()
virtual const char*TObject::GetIconName() const
Int_tgetMaxIterations()
Int_tgetMinReqTracks()
Double_tgetMinWindow()
Float_tgetMomChi2Cut()
virtual const char*TNamed::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual HTask*HTask::getOwner()
Bool_tgetProgessiveTukey()
Float_tgetSeg0Chi2Cut()
TObjArrayHReconstructor::getTable()
virtual HTask*HReconstructor::getTask(const Char_t* name)
virtual const char*TNamed::GetTitle() const
Double_tgetTukeyConstant()
virtual UInt_tTObject::GetUniqueID() 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
virtual 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_tHReconstructor::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTNamed::IsSortable() const
virtual voidHReconstructor::isTimed(Bool_t flag = kTRUE)
Bool_tTObject::IsZombie() const
virtual voidTNamed::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual HTask*HReconstructor::next(Int_t& errCode)
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)
HTask&HTask::operator=(const HTask&)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTNamed::Print(Option_t* option = "") const
virtual voidHReconstructor::printTimer()
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
virtual Bool_tHTask::reinit()
voidTObject::ResetBit(UInt_t f)
virtual voidHReconstructor::resetTimer()
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(ostream& out, Option_t* option = "")
voidHReconstructor::setActive(Bool_t state)MENU
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidsetCallExecuteManual(Bool_t call)
virtual Bool_tHTask::setConnections()
voidsetCut(Double_t minz = -100, Double_t maxz = 50, Double_t maxr = 50)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidsetEpsilon(Double_t ep)
voidHTask::setManual()
voidsetMaxIterations(Int_t max)
voidsetMinReqTracks(Int_t min)
voidsetMinWindow(Double_t wind)
voidsetMomChi2Cut(Float_t cut)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidHTask::setOwner(HTask* atask)
voidsetProgessiveTukey(Bool_t prog)
voidsetSeg0Chi2Cut(Float_t cut)
static voidsetSkipFakes(Bool_t skip)
virtual voidTNamed::SetTitle(const char* title = "")MENU
voidsetTukeyConstant(Double_t d)
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()
voiduseTukeyWeights(Bool_t flag)
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_thasConverged(HGeomVector& v, HGeomVector& oldV)
voidinitVars()
voidTObject::MakeZombie()
Bool_tpointsToTarget(const HGeomVector& r, HGeomVector& alpha, Int_t sector, Int_t module, Double_t zmin, Double_t zmax)
Bool_treadInput(HGeomVector& estimate)
voidtransform(HParticleCand* data, HGeomVector& r, HGeomVector& alpha)

Data Members

protected:
static Bool_tdoSkipFakes! skip candidate smarked as fake (default=kTRUE)
Bool_tHReconstructor::fActiveActive flag
TClonesArrayfAlpha! alpha vector for each track
vector<HParticleCand*>fCands! vector of candidate pointers passed to the fit
Double_tfEpsilonUsed for convergence criterium
HGeomVertexFitfFitter!
HMdcGeomPar*fGeometry! Geometry transformation
TList*HReconstructor::fHistogramsList of histograms generated by this reconstructor.
HCategory*fInput! Geant MDC data
Bool_tHTask::fIsTimedtimer flag
Int_tfMaxIterationsMaximum number of iterations
TStringTNamed::fNameobject identifier
TObjArrayHReconstructor::fOutputs
TClonesArrayfPos! r for each track
Bool_tfProgressiveTukey! make stronger cut with rising mult
HSpecGeomPar*fSpecGeometry! Spectrometer's geometry
TStopwatchHReconstructor::fTimerTask timer
TStringTNamed::fTitleobject title
Double_tfTukeyConstValue used as Tukey constant
Bool_tfUsingTukeyFlag turning on and off Tukey weights
Bool_tfcallExecuteManual!
Double_tfmaxR! maxr range for segments
Double_tfmaxZ! maxz range for segments
Int_tfminReqTrack! minimum required tracks after mean z filter
Double_tfminWindow! minimum window for mean z filter
Double_tfminZ! minz range for segments
Float_tfmomChi2Cut! cut off in inner segment chi2
Float_tfseg0Chi2Cut! cut off in mom fit chi2
vector<Double_t>fweights! vector of candidate weights
Bool_tHTask::isConnected
Bool_tHTask::isInitialised
Bool_tHTask::manual
HTask*HTask::owner

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

HParticleVertexFind(const Text_t* name = "", const Text_t* title = "", Bool_t tukey = kTRUE)
~HParticleVertexFind(void)
void initVars(void)
Bool_t init(void)
Bool_t finalize(void)
Bool_t pointsToTarget(const HGeomVector& r, HGeomVector& alpha, Int_t sector, Int_t module, Double_t zmin, Double_t zmax)
void transform(HParticleCand* data, HGeomVector& r, HGeomVector& alpha)
Bool_t readInput(HGeomVector& estimate)
Int_t execute(void)
Int_t doFit()
Bool_t hasConverged(HGeomVector& v, HGeomVector& oldV)
void setCut(Double_t minz = -100, Double_t maxz = 50, Double_t maxr = 50)
{ fminZ = minz; fmaxZ = maxz; fmaxR = maxr;}
void useTukeyWeights(Bool_t flag)
{ fUsingTukey = flag; }
void setTukeyConstant(Double_t d)
{ fTukeyConst = d; }
void setMaxIterations(Int_t max)
{ fMaxIterations = max; }
void setEpsilon(Double_t ep)
{ fEpsilon = ep; }
void setMomChi2Cut(Float_t cut)
{ fmomChi2Cut = cut; }
void setSeg0Chi2Cut(Float_t cut)
{ fseg0Chi2Cut = cut;}
void setMinReqTracks(Int_t min)
{ fminReqTrack = min;}
void setMinWindow(Double_t wind)
{ fminWindow = wind;}
void setProgessiveTukey(Bool_t prog)
void setCallExecuteManual(Bool_t call)
Double_t getTukeyConstant(void)
{ return fTukeyConst; }
Int_t getMaxIterations(void)
{ return fMaxIterations; }
Double_t getEpsilon(void)
{ return fEpsilon; }
Float_t getMomChi2Cut()
{ return fmomChi2Cut; }
Float_t getSeg0Chi2Cut()
{ return fseg0Chi2Cut;}
Int_t getMinReqTracks()
{ return fminReqTrack;}
Double_t getMinWindow()
{ return fminWindow;}
Bool_t getProgessiveTukey(void)
void setSkipFakes(Bool_t skip)
{ doSkipFakes = skip;}