_HADES_CLASS_DESCRIPTION HKickTrackFB This class is intended to match Mdc segments before and after de magnet associating the matching pairs a momentum The momentum calculation and matching is done using a kick plane technique to parametrize the deflection of tracks in the HADES inhomogeneous magnet. Additional documentation available <a href="http://www-hades.gsi.de/persons/sanchez/hadesdocs/kickdoc.ps.gz">here</a> ToF hits clustering implemented. Use option "tofclust" in HKickTaskSet to invoke this functionality. ----------------( Modification scince 01.06.2004 )-------------- This modification involves an output into HBaseTrack and it also establish a link to HMetaMatch so one will be able to use it from HMetaMatch This is done to satisfy "GeneralizedTrackingProject" To find correspondence of low resolution HKickTrack with HMetaMatch we tooke a simplest way - we did no rewrite Manuel's class HKickTrackF but rather changed its name into HKickTrackFB . To then we compared Manuel's track candidate components {HMdcSeg, Shower/TOFINO-hit, TOF(hit/cluster)} with the coresponding HMetaMatch track components {HMdcSeg, Shower/TOFINO-hit, TOF(hit/cluster)} and if such coincidence was found we simply provided HKickTrackB object into HMetaMatch. As the result user has HKickTrack (with the HKickTrackB output stile) into HMetaMatch Warning - now user has to use HKickTrackB task !AFTER! HMetaMatch task - becouse HKickTrackB uses HMetaMatch information, and writes itself into HMetaMatch
HKickTrackFB() | |
HKickTrackFB(const Text_t* name, const Text_t* title) | |
virtual | ~HKickTrackFB() |
void | TObject::AbstractMethod(const char* method) const |
virtual void | TObject::AppendPad(Option_t* option = "") |
virtual void | HReconstructor::Browse(TBrowser* b) |
Float_t | CalcTarDist(HMdcSeg*) |
static TClass* | Class() |
virtual const char* | TObject::ClassName() const |
virtual void | TNamed::Clear(Option_t* option = "") |
virtual TObject* | TNamed::Clone(const char* newname = "") const |
virtual Int_t | TNamed::Compare(const TObject* obj) const |
virtual Bool_t | HReconstructor::connectTask(HTask* task, Int_t n = 0) |
virtual void | TNamed::Copy(TObject& named) const |
virtual void | TObject::Delete(Option_t* option = "")MENU |
virtual Int_t | TObject::DistancetoPrimitive(Int_t px, Int_t py) |
virtual void | TObject::Draw(Option_t* option = "") |
virtual void | TObject::DrawClass() constMENU |
virtual TObject* | TObject::DrawClone(Option_t* option = "") constMENU |
virtual void | TObject::Dump() constMENU |
void | enableControlHistograms() |
virtual void | TObject::Error(const char* method, const char* msgfmt) const |
virtual Int_t | execute() |
virtual void | TObject::Execute(const char* method, const char* params, Int_t* error = 0) |
virtual void | TObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0) |
virtual void | TObject::ExecuteEvent(Int_t event, Int_t px, Int_t py) |
virtual void | TObject::Fatal(const char* method, const char* msgfmt) const |
virtual void | TNamed::FillBuffer(char*& buffer) |
void | fillOldKickTrack() |
virtual Bool_t | finalize() |
virtual TObject* | TObject::FindObject(const char* name) const |
virtual TObject* | TObject::FindObject(const TObject* obj) const |
virtual HTask* | HReconstructor::getComposite() |
virtual void | HReconstructor::getConnections() |
Bool_t | getConservativeMode() |
virtual Option_t* | TObject::GetDrawOption() const |
static Long_t | TObject::GetDtorOnly() |
virtual const char* | TObject::GetIconName() const |
virtual const char* | TNamed::GetName() const |
virtual char* | TObject::GetObjectInfo(Int_t px, Int_t py) const |
static Bool_t | TObject::GetObjectStat() |
virtual Option_t* | TObject::GetOption() const |
virtual HTask* | HTask::getOwner() |
TObjArray | HReconstructor::getTable() |
virtual HTask* | HReconstructor::getTask(const Char_t* name) |
virtual const char* | TNamed::GetTitle() const |
Bool_t | getTofClusterMode() |
virtual UInt_t | TObject::GetUniqueID() const |
virtual Bool_t | TObject::HandleTimer(TTimer* timer) |
virtual ULong_t | TNamed::Hash() const |
Bool_t | hasMultipleTarget() |
Bool_t | hasShower() |
Bool_t | hasTof() |
virtual void | TObject::Info(const char* method, const char* msgfmt) const |
virtual Bool_t | TObject::InheritsFrom(const char* classname) const |
virtual Bool_t | TObject::InheritsFrom(const TClass* cl) const |
virtual Bool_t | init() |
virtual void | TObject::Inspect() constMENU |
void | TObject::InvertBit(UInt_t f) |
virtual TClass* | IsA() const |
virtual Bool_t | TObject::IsEqual(const TObject* obj) const |
virtual Bool_t | HReconstructor::IsFolder() const |
Bool_t | TObject::IsOnHeap() const |
virtual Bool_t | TNamed::IsSortable() const |
virtual void | HReconstructor::isTimed(Bool_t flag = kTRUE) |
Bool_t | TObject::IsZombie() const |
virtual void | TNamed::ls(Option_t* option = "") const |
void | TObject::MayNotUse(const char* method) const |
virtual HTask* | HReconstructor::next(Int_t& errCode) |
virtual Bool_t | TObject::Notify() |
static void | TObject::operator delete(void* ptr) |
static void | TObject::operator delete(void* ptr, void* vp) |
static void | TObject::operator delete[](void* ptr) |
static void | TObject::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 void | TObject::Paint(Option_t* option = "") |
virtual void | TObject::Pop() |
virtual void | TNamed::Print(Option_t* option = "") const |
virtual void | HReconstructor::printTimer() |
virtual Int_t | TObject::Read(const char* name) |
virtual void | TObject::RecursiveRemove(TObject* obj) |
virtual Bool_t | reinit() |
void | TObject::ResetBit(UInt_t f) |
virtual void | HReconstructor::resetTimer() |
virtual void | TObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU |
virtual void | TObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "") |
void | HReconstructor::setActive(Bool_t state)MENU |
void | TObject::SetBit(UInt_t f) |
void | TObject::SetBit(UInt_t f, Bool_t set) |
virtual Bool_t | HTask::setConnections() |
void | setConservativeMode(Bool_t m) |
void | setDebug(Bool_t flag = kTRUE) |
virtual void | TObject::SetDrawOption(Option_t* option = "")MENU |
static void | TObject::SetDtorOnly(void* obj) |
static void | HKickTask::setKickParInput(HParIo* io, Int_t n) |
static void | HKickTask::setKickParIo(HRuntimeDb* rtdb) |
static void | HKickTask::setKickParOutput(HParIo* io) |
void | HTask::setManual() |
void | setMultipleTarget(Bool_t f = kTRUE) |
virtual void | TNamed::SetName(const char* name)MENU |
virtual void | TNamed::SetNameTitle(const char* name, const char* title) |
static void | TObject::SetObjectStat(Bool_t stat) |
virtual void | HTask::setOwner(HTask* atask) |
virtual void | TNamed::SetTitle(const char* title = "")MENU |
void | setTofClusterMode(Bool_t m) |
virtual void | TObject::SetUniqueID(UInt_t uid) |
void | setVertexAlgorithm(Bool_t f = kTRUE) |
virtual void | ShowMembers(TMemberInspector& insp, char* parent) |
virtual Int_t | TNamed::Sizeof() const |
virtual void | Streamer(TBuffer& b) |
void | StreamerNVirtual(TBuffer& b) |
virtual void | TObject::SysError(const char* method, const char* msgfmt) const |
Bool_t | TObject::TestBit(UInt_t f) const |
Int_t | TObject::TestBits(UInt_t f) const |
virtual void | TObject::UseCurrentStyle() |
Bool_t | usingVertexAlgorithm() |
virtual void | TObject::Warning(const char* method, const char* msgfmt) const |
virtual Int_t | TObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) |
virtual Int_t | TObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const |
enum TObject::EStatusBits { | kCanDelete | |
kMustCleanup | ||
kObjInCanvas | ||
kIsReferenced | ||
kHasUUID | ||
kCannotPick | ||
kNoContextMenu | ||
kInvalidObject | ||
}; | ||
enum TObject::[unnamed] { | kIsOnHeap | |
kNotDeleted | ||
kZombie | ||
kBitMask | ||
kSingleKey | ||
kOverwrite | ||
kWriteDelete | ||
}; |
HMdcTrackGSpline* | Spline | |
Bool_t | HReconstructor::fActive | Active flag |
HCategory* | fCandidateOut | ! Output category |
HCategory* | fCandidateOutOld | ! Output category |
HKickCandidateMatrix | fCandidates | |
HCategory* | fCatMdcSeg | |
HCategory* | fCatMdcSegSim | |
HCategory* | fCatMdcTrkCand | |
HCategory* | fCatMetaMatch | |
HCategory* | fCatTof | |
Bool_t | fConservativeMode | |
Bool_t | fControlHistograms | flag for control histograms |
Bool_t | fDebug | |
HKickCandidateEvaluator* | fEvaluator | |
HMdcGetContainers* | fGetCont | |
Bool_t | fHasShower | |
Bool_t | fHasTof | |
TList* | HReconstructor::fHistograms | List of histograms generated by this reconstructor. |
TClonesArray* | fImpacts | !List of impacts in kick plane. |
HCategory* | fInput | !Input category |
Bool_t | HTask::fIsTimed | timer flag |
HIterator* | fIter | Iterator in fInput |
HKickTrackFPar* | fKickPar | Finder parameters |
HKickPlane2* | fKickPlane | The kick plane |
HKickPlane2* | fKickPlaneList[2] | |
HKickMatchPar* | fMatchPar | |
HKickMatchPar* | fMatchParList[2] | |
Double_t | fMaxXPull | Max pull in x |
HMdcGeomPar* | fMdcGeometry | !Geometry transformation |
HIterator* | fMetaMatchIter | |
Double_t | fMinMomentum | |
Bool_t | fMultipleTarget | |
Int_t | fNImpacts | Nb of valid impacts |
Int_t | fNShowerHits | |
Int_t | fNTofHits | |
Int_t | fNTotalHits | |
TString | TNamed::fName | object identifier |
TObjArray | fOuterHitArray | |
TObjArray | HReconstructor::fOutputs | |
TNtuple* | fRecStat | ! Reconstruction statistics |
HLocation | fSectorLoc | ! |
TArrayI | fSectors | Sectors to be analized. |
Cat_t | fShowerCatId | |
HShowerGeometry* | fShowerGeometry | |
HCategory* | fShowerHits | ! |
HIterator* | fShowerIter | ! |
HSpecGeomPar* | fSpecGeometry | |
Float_t | fTargetFlag | Flag indicating which target was used. |
Float_t | fTimeOffset | |
TStopwatch | HReconstructor::fTimer | Task timer |
TString | TNamed::fTitle | object title |
HIterator* | fTofCIter | Iterator in fInput |
HTofClusterFPar* | fTofClFPar | |
TClonesArray* | fTofClustGarb | !List of HTofClusters objects created in this task |
Bool_t | fTofClusterMode | |
HCategory* | fTofClusters | !TOF clusters |
HTofGeomPar* | fTofGeometry | !TOF geometry |
HCategory* | fTofHits | !TOF hits |
HIterator* | fTofIter | Iterator in fInput |
HTofinoGeomPar* | fTofinoGeometry | ! Tofino Geometry |
Bool_t | fUsingVertex | Wheter to use or not to use vertex algorithm |
Bool_t | fillOldKickTrackCat | |
TH1F* | histCorELoss | |
TH1F* | histCorELossCut | |
TH1F* | histDiffMom | |
TH1F* | histDiffMomCut | |
Bool_t | HTask::isConnected | |
Bool_t | HTask::isInitialised | |
HLocation | locMetaMatch | |
Bool_t | HTask::manual | |
HTask* | HTask::owner | |
HMdcTrkCand* | pMdcTrkCand | |
HMetaMatch* | pMetaMatch | |
HLocation | sectorloc | |
HLocation | segLoc | |
HMdcSeg* | segment0 | |
HGeomTransform* | tRans[6] |
This is the brain of this class. It directs the reconstruction for each event
Fills control variables, histograms....
Loops on all identified candidates evaluating each of them. That is, calculating its associated momentum and other useful variables for the algorithm
Checks if a given candidate passes all cuts to be considered a good candidate
Match those candidates which pass all cuts and verifying that neither the META hit or the MDC hit are used in other valid candidates. In case such a conflict is detected, this method tries to find a solution.
Fills output data in the output category
Fills output data in the output category
Checks if a candidate is unique. The mechanism for solving conflicts is implemented here
Tof hits clustering auxiliary function. It checks the pair of tracks composed from hits on their momentum difference and polarity and on energy deposited in ToF wall corrected on path length of the track in ToF wall. In case that the kick-candidate composed from cluster-candidate and mdc segment was not accepted by clustering conditions the fClAccept flag is set to 0. In case that it was accepted the fClAccept flags for appropriate kick-candidates composed from hits participating on the cluster and mdc segment are set to 0.
Body of the ToF hits clustering mechanism. It calls function checkTofClusterParticipants for each combination cluster - mdc segment.
Loops on the input category reading objects and adding objects to the list of candidates fImpacts.
Calculates position and direction vector for a HMdcHit