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

class HKalDafSingleWire: public HKalFiltWire

_HADES_CLASS_DESCRIPTION


 DAF for wire hits. Does not allow competition between hits.
 See doc for HKalIFilter.


Function Members (Methods)

public:
HKalDafSingleWire(Int_t nHits, Int_t measDim, Int_t stateDim, HMdcTrackGField* fMap, Double_t fpol)
virtual~HKalDafSingleWire()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
virtual Bool_tHKalFiltWire::calcMeasVecFromState(TVectorD& projMeasVec, const HKalTrackSite *const site, Kalman::kalFilterTypes stateType, Kalman::coordSys sys) const
virtual Bool_tHKalIFilt::checkCovMat(const TMatrixD& fCov) const
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 Bool_tHKalIFilt::excludeSite(Int_t iSite)
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 Bool_tHKalIFilt::filter(Int_t iSite)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual Bool_tfitTrack(const TObjArray& hits, const TVectorD& iniSv, const TMatrixD& iniCovMat, Int_t pId)
virtual Double_tHKalIFilt::getBetaInput() const
virtual Double_tHKalIFilt::getChi2() const
virtual voidHKalIFilt::getCovErrs(Int_t& nSymErrs, Int_t& nPosDefErrs) const
virtual Double_tgetDafChi2Cut() const
virtual const Double_t*getDafT() const
virtual Bool_tHKalIFilt::getDirection() const
virtual Bool_tgetDoDaf() const
virtual Bool_tHKalIFilt::getDoEnerLoss() const
virtual Bool_tHKalIFilt::getDoMultScat() const
virtual Bool_tHKalIFilt::getDoSmooth() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual Double_tHKalIFilt::getFieldIntegral() const
virtual const TObjArray&HKalIFilt::getFieldTrack() const
virtual Int_tHKalIFilt::getFilterMethod() const
virtual const TMatrixD&getHitErrMat(HKalTrackSite *const site) const
virtual Int_tHKalIFilt::getHitType() const
virtual const TVectorD&getHitVec(HKalTrackSite *const site) const
virtual const char*TObject::GetIconName() const
virtual Bool_tHKalFiltWire::getImpact(Double_t& alpha, Double_t& mindist, Double_t driftTime, const TVector3& pos, const TVector3 dir, Int_t sec, Int_t mod, Int_t lay, Int_t cell) const
virtual const TVectorD&HKalIFilt::getIniStateVec() const
virtual Bool_tHKalIFilt::getLastTrackAccepted() const
virtual Int_tHKalIFilt::getMeasDim() const
virtual voidHKalIFilt::getMetaPos(Double_t& x, Double_t& y, Double_t& z) const
virtual const char*TObject::GetName() const
virtual Int_tgetNdafs() const
virtual Double_tgetNdf() const
virtual Int_tHKalIFilt::getNhits() const
virtual Int_tHKalIFilt::getNiter() const
virtual Int_tHKalIFilt::getNmaxSites() const
virtual Int_tHKalIFilt::getNsites() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual Int_tHKalIFilt::getPid() const
virtual const TObjArray&HKalIFilt::getPointsTrack() const
virtual Bool_tHKalIFilt::getPrintErr() const
virtual Bool_tHKalIFilt::getPrintWarn() const
virtual Int_tHKalIFilt::getRotation() const
virtual HKalTrackSite*HKalIFilt::getSite(UInt_t site) const
virtual Int_tHKalIFilt::getStateDim(Kalman::coordSys coord = kSecCoord) const
virtual const char*TObject::GetTitle() const
virtual Double_tHKalIFilt::getTrackLength() const
virtual Int_tHKalIFilt::getTrackNum() const
virtual const HKalRungeKutta*HKalIFilt::getTrackPropagator() const
virtual UInt_tTObject::GetUniqueID() const
virtual voidHKalIFilt::getVertexPos(Double_t& x, Double_t& y, Double_t& z) 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
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_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 Bool_tHKalIFilt::propagate(Int_t iFromSite, Int_t iToSite)
virtual Bool_tHKalIFilt::propagateToPlane(TVectorD& svTo, const TVectorD& svFrom, const HKalMdcMeasLayer& measLayFrom, const HKalMdcMeasLayer& measLayTo, Int_t pid, Bool_t dir)
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
virtual Bool_tHKalIFilt::runFilter(Int_t fromSite, Int_t toSite)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(ostream& out, Option_t* option = "")
virtual voidHKalIFilt::setBetaInput(Double_t b)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidHKalIFilt::setConstField(Bool_t constField)
virtual voidsetDafPars(Double_t chi2cut, const Double_t* T, Int_t n)
virtual voidHKalIFilt::setDirection(Bool_t dir)
virtual voidHKalIFilt::setDoEnerLoss(Bool_t dedx)
virtual voidHKalIFilt::setDoMultScat(Bool_t ms)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
virtual voidHKalIFilt::setFieldMap(HMdcTrackGField* fMap, Double_t fpol)
virtual voidHKalIFilt::setFieldVector(const TVector3& B)
virtual voidHKalIFilt::setFillPointsArrays(Bool_t fill)
virtual voidHKalIFilt::setFilterMethod(Kalman::filtMethod type)
virtual voidHKalIFilt::setHitType(Kalman::kalHitTypes hType)
virtual voidHKalIFilt::setNumIterations(Int_t kalRuns)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidHKalIFilt::setPrintErrors(Bool_t print)
virtual voidHKalIFilt::setPrintWarnings(Bool_t print)
virtual voidHKalIFilt::setRotation(Kalman::kalRotateOptions rotate)
virtual voidHKalIFilt::setRotationAngles(Double_t rotXAngle, Double_t rotYAngle)
virtual voidHKalIFilt::setRungeKuttaParams(Float_t initialStpSize, Float_t stpSizeDec, Float_t stpSizeInc, Float_t maxStpSize, Float_t minStpSize, Float_t minPrec, Float_t maxPrec, Int_t maxNumStps, Int_t maxNumStpsPCA, Float_t maxDst, Double_t minLngthCalcQ)
virtual voidHKalIFilt::setSmoothing(Bool_t smooth)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector&)
virtual Bool_tHKalIFilt::smooth()
virtual voidHKalIFilt::sortHits()
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 Bool_tHKalIFilt::traceToMeta(const TVector3& metaHit, const TVector3& metaNormVec)
virtual Bool_tHKalIFilt::traceToVertex()
virtual voidHKalIFilt::transformFromSectorToTrack()
virtual voidHKalIFilt::transformFromTrackToSector()
virtual voidupdateSites(const TObjArray& hits)
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 Bool_tcalcEffErrMat(Int_t iSite, Int_t iWire) const
virtual Bool_tcalcEffMeasVec(Int_t iSite, Int_t iWire) const
virtual Bool_tHKalFiltWire::calcProjector(Int_t iSite) const
virtual Bool_tHKalIFilt::checkSitePreFilter(Int_t iSite) const
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
virtual voidHKalIFilt::filterConventional(Int_t iSite)
virtual voidHKalIFilt::filterJoseph(Int_t iSite)
virtual voidHKalIFilt::filterSequential(Int_t iSite)
virtual voidHKalIFilt::filterSwerling(Int_t iSite)
virtual voidHKalIFilt::filterUD(Int_t iSite)
virtual Kalman::coordSysHKalIFilt::getFilterInCoordSys() const
virtual TRotation*HKalIFilt::getRotMat() const
virtual Int_tgetWireNr() const
voidTObject::MakeZombie()
virtual voidHKalIFilt::newTrack(const TObjArray& hits, const TVectorD& iniSv, const TMatrixD& iniCovMat, Int_t pid)
virtual voidHKalIFilt::propagateCovConv(Int_t iFromSite, Int_t iToSite)
virtual voidHKalIFilt::propagateCovUD(Int_t iFromSite, Int_t iToSite)
virtual Bool_tHKalIFilt::propagateTrack(Int_t iFromSite, Int_t iToSite)
virtual voidHKalIFilt::setChi2(Double_t c)
virtual voidHKalIFilt::setNHitsInTrack(Int_t n)
virtual voidHKalIFilt::setNSites(Int_t n)
virtual voidHKalIFilt::setTrackChi2(Double_t c)
virtual voidHKalIFilt::setTrackLength(Double_t l)
virtual voidHKalIFilt::setTrackLengthAtLastMdc(Double_t l)
virtual voidsetWireNr(Int_t w)
virtual voidHKalIFilt::updateChi2Filter(Int_t iSite)

Data Members

private:
Double_tdafChi2CutCut-off parameter for the annealing filter.
TArrayDdafTAnnealing factors ("temperatures") used in the DAF iterations.
Int_twireNrIndex of wire measurement currently filtered (0 or 1)

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

Bool_t calcEffErrMat(Int_t iSite, Int_t iWire) const
 Calculates an effective measurement error matrix from the measurement
 errors of all hits in this site.
 Used for the annealing filter.
 Effective measurement error covariance:
 V = [ sum(p_i * G_i) ]^-1
 p_i: weight of hit i
 G_i: inverse measurement error matrix of hit i
Bool_t calcEffMeasVec(Int_t iSite, Int_t iWire) const
 Calculates an effective measurement vector from the measurement
 of all hits in this site and the effective measurement error matrix.
 Used for the annealing filter.

 Effective measurement vector:
 m_eff = V * sum(p_i * G_i * m_i)
 V:   effective measurement covariance matrix
 p_i: weight of hit i
 G_i: inverse measurement error matrix of hit i
 m_i: measurement vector of hit i

 Effective measurement error covariance:
 V = [ sum(p_i * G_i) ]^-1
HKalDafSingleWire(Int_t nHits, Int_t measDim, Int_t stateDim, HMdcTrackGField* fMap, Double_t fpol)
Bool_t fitTrack(const TObjArray& hits, const TVectorD& iniSv, const TMatrixD& iniCovMat, Int_t pId)
 Runs the Kalman filter over a set of measurement hits.
 Returns false if the Kalman filter encountered problems during
 track fitting or the chi^2 is too high.

 Input:
 hits:        the array with the measurement hits. Elements must be of
              class HKalMdcHit.
 iniStateVec: initial track state that the filter will use.
 iniCovMat:   initial covariance matrix that the filter will use.
 pId:         Geant particle id.
void setDafPars(Double_t chi2cut, const Double_t* T, Int_t n)
 Set parameters for the deterministic annealing filter.

 input:
 chi2cut: Cut-off parameter.
 T:       Array with annealing factors (temperatures).
 n:       Number of annealing factors.
TMatrixD const& getHitErrMat(HKalTrackSite *const site) const
 Returns the effective measurement error of site.

 Input:
 site: measurement site.
TVectorD const& getHitVec(HKalTrackSite *const site) const
 Returns the effective measurement vector of measurement site.

 Input:
 site: measurement site.
Double_t getNdf() const
 Returns number degrees of freedom, i.e. number of experimental points
 minus number of parameters that are estimated.
void updateSites(const TObjArray& hits)
 Replace sites of the Kalman system with new hits.
 hits: array with new measurement hits. Must be of class HKalMdcHit.
Int_t getWireNr() const
{ return wireNr; }
void setWireNr(Int_t w)
{ wireNr = w; }
virtual ~HKalDafSingleWire()
{}
Double_t getDafChi2Cut() const
{ return dafChi2Cut; }
const Double_t* getDafT() const
{ return dafT.GetArray(); }
Bool_t getDoDaf() const
{ return kTRUE; }
Int_t getNdafs() const
{ return dafT.GetSize(); }