_HADES_CLASS_DESCRIPTION HParticleCandFiller This tasks loops over HMetaMatch2 objects and fills the output objects HParticleCand. The taks detects if it is running in simulation or read data mode automatically by the existence of the HGeantKine category in the input file. Different filter options can be applied (see description of setConditions() ).
HParticleCandFiller(Option_t* pOpt = "") | |
HParticleCandFiller(const Text_t* name, const Text_t* title, Option_t* pOpt = "") | |
virtual | ~HParticleCandFiller() |
void | TObject::AbstractMethod(const char* method) const |
virtual void | TObject::AppendPad(Option_t* option = "") |
virtual void | HReconstructor::Browse(TBrowser* b) |
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 |
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) |
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() |
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 |
virtual UInt_t | TObject::GetUniqueID() const |
virtual Bool_t | TObject::HandleTimer(TTimer* timer) |
virtual ULong_t | TNamed::Hash() const |
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() |
void | TObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const |
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(ostream& out, Option_t* option = "") |
void | HReconstructor::setActive(Bool_t state)MENU |
void | setAngleCloseTrack(Float_t a) |
void | TObject::SetBit(UInt_t f) |
void | TObject::SetBit(UInt_t f, Bool_t set) |
virtual Bool_t | HTask::setConnections() |
void | setDoAlignRich(Bool_t align) |
void | setDoGeantAcceptance(Bool_t acc) |
void | setDoMETAQANorm(Bool_t norm) |
void | setDoMomentumCorr(Bool_t corr) |
void | setDoPathLengthCorr(Bool_t corr) |
void | setDoRichVertexCorr(Bool_t corr) |
virtual void | TObject::SetDrawOption(Option_t* option = "")MENU |
static void | TObject::SetDtorOnly(void* obj) |
void | setFillMdc(Bool_t fill) |
void | HTask::setManual() |
void | setMinWireGoodTrack(Int_t w) |
void | setMomSwitch(Int_t s) |
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) |
void | setRichCorrectionVersion(Int_t vers) |
void | setScaleGhostTrack(Float_t s) |
void | setScaleGoodTrack(Float_t s) |
void | setSortMeta(Int_t s = 0) |
virtual void | TNamed::SetTitle(const char* title = "")MENU |
virtual void | TObject::SetUniqueID(UInt_t uid) |
virtual void | ShowMembers(TMemberInspector&) |
virtual Int_t | TNamed::Sizeof() const |
virtual void | Streamer(TBuffer&) |
void | StreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_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() |
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 |
void | checkCropLayer(HParticleCand* c) |
void | clearVector() |
virtual void | TObject::DoError(int level, const char* location, const char* fmt, va_list va) const |
void | fillCand(HMetaMatch2* meta) |
void | fillCandEmc(Bool_t rkSuccess, HMetaMatch2* meta, candidate& cand, Int_t num, Int_t slot) |
void | fillCandNoMeta(Bool_t rkSuccess, HMetaMatch2* meta, candidate& cand, Int_t num) |
void | fillCandRpc(Bool_t rkSuccess, HMetaMatch2* meta, candidate& cand, Int_t num, Int_t slot) |
void | fillCandShower(Bool_t rkSuccess, HMetaMatch2* meta, candidate& cand, Int_t num, Int_t slot) |
void | fillCandSim(candidate& cand) |
void | fillCandTof(Bool_t rkSuccess, HMetaMatch2* meta, candidate& cand, Int_t num, Int_t slot) |
void | fillCollectiveProperties() |
void | fillGeantAcceptance() |
void | fillOutput() |
void | fillSingleProperties() |
Int_t | findBestRich(HMetaMatch2* meta, HMdcSeg* seg) |
void | initVars() |
void | TObject::MakeZombie() |
void | setConditions(Option_t* par) |
enum TObject::EStatusBits { | kCanDelete | |
kMustCleanup | ||
kObjInCanvas | ||
kIsReferenced | ||
kHasUUID | ||
kCannotPick | ||
kNoContextMenu | ||
kInvalidObject | ||
}; | ||
enum TObject::[unnamed] { | kIsOnHeap | |
kNotDeleted | ||
kZombie | ||
kBitMask | ||
kSingleKey | ||
kOverwrite | ||
kWriteDelete | ||
}; |
vector<candidate*> | all_candidates | ! vector for all metaMatch objects candidates. |
HMdcLayer* | cropLay | ! |
Bool_t | HReconstructor::fActive | Active flag |
Float_t | fAngleCloseTrack | ! take into account for filling neighbour tracks with open angle < this |
HCategory* | fCatEmcCluster | ! |
HCategory* | fCatGeantKine | ! |
HCategory* | fCatKalman | ! |
HCategory* | fCatMdcSeg | ! |
HCategory* | fCatMdcTrkCand | ! |
HCategory* | fCatMetaMatch | ! |
HCategory* | fCatParticleCand | ! |
HCategory* | fCatParticleDebug | ! |
HCategory* | fCatParticleMdc | ! |
HCategory* | fCatRK | ! |
HCategory* | fCatRichHit | ! |
HCategory* | fCatRpcCluster | ! |
HCategory* | fCatShowerHit | ! |
HCategory* | fCatSpline | ! |
HCategory* | fCatTofCluster | ! |
HCategory* | fCatTofHit | ! |
HParticleCandFillerPar* | fFillerPar | ! |
TList* | HReconstructor::fHistograms | List of histograms generated by this reconstructor. |
Bool_t | HTask::fIsTimed | timer flag |
HIterator* | fMetaMatchIter | ! |
Int_t | fMinWireGoodTrack | ! minium number of wire from same track for good track (MDC), otherwise ghost |
TString | TNamed::fName | object identifier |
TObjArray | HReconstructor::fOutputs | |
HRich700DigiPar* | fRich700DigiPar | ! |
Int_t | fRichCorrectionVersion | ! -1=init 0=apr12,aug14,jul14 , 1 = mar19 |
Float_t | fScaleGhostTrack | ! scale weight of wires of ghost track (MDC) |
Float_t | fScaleGoodTrack | ! scale weight of wires of good track (MDC) |
HMdcSizesCells* | fSizesCells | ! |
TStopwatch | HReconstructor::fTimer | Task timer |
TString | TNamed::fTitle | object title |
HTofWalkPar* | fTofWalkPar | ! |
Bool_t | fbFillMdc | ! true: fill catParticleMdc |
Bool_t | fbIsDebug | ! debug mode ? |
Bool_t | fbIsSimulation | ! |
Bool_t | fbdoGeantAcceptance | ! true: (default) loop geant kine and fill acceptance + crop bits |
Bool_t | fbdoMETAQANorm | ! true: (default) do normalization of RK meta dx |
Bool_t | fbdoMomentumCorr | ! true: (default) do systematic corrections on momentum |
Bool_t | fbdoPathLengthCorr | ! true: (default) do correction of path length to vertex |
Bool_t | fbdoRichAlign | ! true: (default)align the rich (real data) |
Bool_t | fbdoRichVertexCorr | ! true: (default) do correction for vertexz pos in ring sorting |
Bool_t | fbgoodLepton | ! true: keep only candidate with ring match |
Bool_t | fbgoodMeta | ! true: keep only candidate with META |
Bool_t | fbgoodRK | ! true: keep only fitted RK |
Bool_t | fbgoodSeg0 | ! true: keep only fitted seg0 |
Bool_t | fbgoodSeg1 | ! true: keep only fitted seg1 |
Bool_t | fbnoFake | ! true: keep only candidate which is not markerd as fake rejected |
Int_t | fmomSwitch | ! : Particle::kMomRK or Particle::kMomKalman |
Int_t | fsortSwitch | ! sort by quality (0), radius(1) |
Bool_t | HTask::isConnected | |
Bool_t | HTask::isInitialised | |
Bool_t | HTask::manual | |
HTask* | HTask::owner |
Constructor calls the constructor of class HReconstructor without the name and the title as arguments. Optional parameters are explained in setConditions().
Constructor calls the constructor of class HReconstructor with the name and the title as arguments. Optional parameters are explained in setConditions().
Set parameters by names. Options (may be separated by comma or blank chars), By default (no option specified) all values will be kFALSE: GOODSEG0 - skip the track when inner seg chi2 < 0 GOODSEG1 - skip the track when outer seg chi2 < 0 GOODMETA - skip the track when no META was fired GOODRK - skip the track when RK chi2 < 0 KALMAN - switch from RK to Kalman for mom reco GOODLEPTON - skip all candidates which have no RICH matching DEBUG - write out candidate objects for debugging NORICHALIGN- dont align rich phi and theta NORICHVERTEXCORR- dont do vertex correction in ring sorting NOMETAQANORM - dont do normaization of RK dx NOGEANTACCEPTANCE - dont fill geant acceptance and crop bits NOFAKE - skip fake marked candidates ACCEPTFAKE - do not skip fake marked candidates
loop on HMetaMatch2 objects and fill an intermediate working candidate object. Selections are performed on this objects. All objects which are flagged to be used are transported to the output HParticleCand category.
returns the best rich slot in HMetaMatch2 corrections for RICH phi+theta are taken into account
create candidate meta objects for all selected matches in HMetaMatch2. In Simulation the GEANT information is filled too. This function is the heart of the task. Selections which META hit to use are performed here.
for simulation we have to fill HGEANT infos in addition. The GEANT track infos are collected in trackVec objects for each detector and for all detectors together. The tracks in the common vector are sorted by 3 criteria: 1. number of detectors which have seen this track 2. sum of weights of the track 3. correlation flag The best track number will be transported to HParticleCandSim output object.
From the candidate objects the output HParticleCand will be filled if the candidate flage useed == 1 All additional categories objects will be filled in the same order so that the objects later can be easily matched.