// $Id: hrichcuttrackletsim.cc,v 1.5 2004-10-15 08:25:24 eberl Exp $ // Last update by Thomas Eberl: 03/07/15 15:30:28 // using namespace std; #include #include #include #include #include #include #include #include #include "hhitmatchsim.h" #include "phyanadef.h" #include "hrichcuttrackletsim.h" #include "hrichcuto.h" #include "hrichcut.h" #include "hkicktrack.h" #include "kickdef.h" #include "hparticle.h" #include "hrichhit.h" #include "hades.h" #include "hiterator.h" #include "hcategory.h" #include "hphysicsconstants.h" #include "hrecevent.h" #include "hlocation.h" HRichCutTrackletSim::HRichCutTrackletSim() : HRichCutTracklet() { } HRichCutTrackletSim::HRichCutTrackletSim(Text_t *name, Text_t *title) : HRichCutTracklet(name, title) { isExp=kFALSE; isSim=kFALSE; setStandardCuts(); TDatime dt; dt.Set(); TString stitle(title); stitle.Append("_"); stitle+=dt.GetDate(); stitle.Append("_"); stitle+=dt.GetTime(); SetTitle(stitle.Data()); setEvtType(1);//is sim } Bool_t HRichCutTrackletSim::switchTo(const char *s,Bool_t clear) { TString state(s); Bool_t ret_val = kFALSE; if (clear) reset(); if (state.Contains(".")) { listCut=kTRUE; Int_t len = state.Length(); TString tmp; tmp=""; for (Int_t i=0;iGetName()<<" not found"<getLeptonOnMirror()<1) return ret_val; HTrackInfo * t = h->getTrackInfoObj(); for (Int_t i=0;igetConvLep(i)==1 && t->getMatchedRMT_S(i)==1) { ret_val = kTRUE; break; } } return ret_val; } Bool_t HRichCutTrackletSim::isDalitz(HHitMatchSim* h) { // check 3 conditions: // - lepton went through mirror in correct position of ring // - lepton in tracklet comes from pi0-Dalitz, can also be two leptons in tracklet here ! // - at least one of the leptons in the tracklet must be seen by all subdetectors Bool_t ret_val=kFALSE; if (h->getLeptonOnMirror()<1) return ret_val; HTrackInfo * t = h->getTrackInfoObj(); for (Int_t i=0;igetPi0Dalitz(i)==1 && t->getMatchedRMT_S(i)==1) { ret_val = kTRUE; break; } } return ret_val; } ClassImp(HRichCutTrackletSim)