Class Reference for E1039 Core & Analysis Software
|
Pattern Dictionary Filter built based on Kun Liu's ktracker. More...
#include </dev/shm/kenichi/update-github-e1039-doc/e1039-core/packages/reco/patterndb/KalmanDSTrk.h>
Public Types | |
enum | DS_LEVEL { NO_DS , IN_ST_DS , ST23_DS , ST123_DS } |
Public Member Functions | |
KalmanDSTrk (const PHField *field, const TGeoManager *geom, bool enable_KF=true, int DS_level=KalmanDSTrk::NO_DS, const std::string sim_db_name="", const std::string pattern_db_name="") | |
~KalmanDSTrk () | |
void | Verbosity (const int a) |
int | Verbosity () const |
void | printTimers () |
int | setRawEvent (SRawEvent *event_input) |
int | setRawEventWorker (SRawEvent *event_input) |
void | setRawEventDebug (SRawEvent *event_input) |
bool | acceptEvent (SRawEvent *rawEvent) |
void | buildTrackletsInStation (int stationID, int listID, double *pos_exp=NULL, double *window=NULL) |
Tracklet finding stuff. More... | |
void | buildBackPartialTracks () |
void | buildGlobalTracks () |
int | fitTracklet (Tracklet &tracklet) |
bool | acceptTracklet (Tracklet &tracklet) |
bool | hodoMask (Tracklet &tracklet) |
bool | muonID_comp (Tracklet &tracklet) |
bool | muonID_search (Tracklet &tracklet) |
bool | muonID_hodoAid (Tracklet &tracklet) |
void | buildPropSegments () |
void | resolveLeftRight (SRawEvent::hit_pair hpair, int &LR1, int &LR2) |
void | resolveLeftRight (Tracklet &tracklet, double threshold) |
void | resolveSingleLeftRight (Tracklet &tracklet) |
void | removeBadHits (Tracklet &tracklet) |
int | reduceTrackletList (std::list< Tracklet > &tracklets) |
void | getSagittaWindowsInSt1 (Tracklet &tracklet, double *pos_exp, double *window, int st1ID) |
void | getExtrapoWindowsInSt1 (Tracklet &tracklet, double *pos_exp, double *window, int st1ID) |
void | printAtDetectorBack (int stationID, std::string outputFileName) |
SRecTrack | processOneTracklet (Tracklet &tracklet) |
Track fitting stuff. More... | |
bool | fitTrack (KalmanTrack &kmtrk) |
void | resolveLeftRight (KalmanTrack &kmtrk) |
std::list< Tracklet > & | getFinalTracklets () |
Final output. More... | |
std::list< Tracklet > & | getBackPartials () |
std::list< Tracklet > & | getTrackletList (int i) |
std::list< SRecTrack > & | getSRecTracks () |
std::list< PropSegment > & | getPropSegments (int i) |
void | chi2fit (int n, double x[], double y[], double &a, double &b) |
const std::string & | get_pattern_db_name () const |
void | set_pattern_db_name (const std::string &patternDbName) |
const std::string & | get_sim_db_name () const |
void | set_sim_db_name (const std::string &simDbName) |
Pattern Dictionary Filter built based on Kun Liu's ktracker.
Created: 08-27-2018
Definition at line 40 of file KalmanDSTrk.h.
Enumerator | |
---|---|
NO_DS | |
IN_ST_DS | |
ST23_DS | |
ST123_DS |
Definition at line 45 of file KalmanDSTrk.h.
|
explicit |
Definition at line 36 of file KalmanDSTrk.cxx.
References PatternDBUtil::BuildPatternDB(), Tracklet::Eval(), GeomSvc::instance(), PatternDBUtil::LoadPatternDB(), nChamberPlanes, nHodoPlanes, NO_DS, nPropPlanes, and nStations.
KalmanDSTrk::~KalmanDSTrk | ( | ) |
Definition at line 420 of file KalmanDSTrk.cxx.
bool KalmanDSTrk::acceptEvent | ( | SRawEvent * | rawEvent | ) |
Definition at line 643 of file KalmanDSTrk.cxx.
References SRawEvent::getNHitsInD0(), SRawEvent::getNHitsInD1(), SRawEvent::getNHitsInD2(), SRawEvent::getNHitsInD3m(), SRawEvent::getNHitsInD3p(), SRawEvent::getNHitsInDetectors(), SRawEvent::getNPropHitsAll(), SRawEvent::getNRoadsNeg(), SRawEvent::getNRoadsPos(), LogInfo, Verbosity(), and Fun4AllBase::VERBOSITY_A_LOT.
Referenced by setRawEventWorker().
bool KalmanDSTrk::acceptTracklet | ( | Tracklet & | tracklet | ) |
Definition at line 1684 of file KalmanDSTrk.cxx.
References Tracklet::getExpPositionX(), Tracklet::getExpPositionY(), hodoMask(), GeomSvc::isInKMAG(), Tracklet::isValid(), LogInfo, muonID_comp(), muonID_search(), nStations, and Tracklet::stationID.
Referenced by buildBackPartialTracks(), buildGlobalTracks(), and buildTrackletsInStation().
void KalmanDSTrk::buildBackPartialTracks | ( | ) |
Remove bad hits if needed
Definition at line 681 of file KalmanDSTrk.cxx.
References acceptTracklet(), chi2fit(), Tracklet::chisq, PatternDB::DC2, PatternDB::DC3m, PatternDB::DC3p, PatternDB::ERR_KEY, fitTracklet(), GeomSvc::getPlaneType(), PatternDBUtil::GetTrackletKey(), hodoMask(), Tracklet::isValid(), LogInfo, nChamberPlanes, Tracklet::print(), reduceTrackletList(), removeBadHits(), resolveLeftRight(), PatternDB::St23, ST23_DS, Verbosity(), and Fun4AllBase::VERBOSITY_A_LOT.
Referenced by setRawEventWorker().
void KalmanDSTrk::buildGlobalTracks | ( | ) |
Resolve the left-right with a tight pull cut, then a loose one, then resolve by single projections
Remove bad hits if needed
Definition at line 899 of file KalmanDSTrk.cxx.
References acceptTracklet(), buildTrackletsInStation(), Tracklet::chisq_vtx, PatternDB::DC1, PatternDB::DC2, PatternDB::DC3m, PatternDB::DC3p, PatternDB::ERR_KEY, fitTracklet(), SRecTrack::getChisqVertex(), getExtrapoWindowsInSt1(), getSagittaWindowsInSt1(), PatternDBUtil::GetTrackletKey(), hodoMask(), Tracklet::invP, Tracklet::isValid(), SRecTrack::isValid(), LogInfo, Tracklet::merge(), Tracklet::print(), processOneTracklet(), removeBadHits(), resolveLeftRight(), resolveSingleLeftRight(), PatternDB::St123, ST123_DS, Verbosity(), and Fun4AllBase::VERBOSITY_A_LOT.
Referenced by setRawEventWorker().
void KalmanDSTrk::buildPropSegments | ( | ) |
Definition at line 1943 of file KalmanDSTrk.cxx.
References PropSegment::fit(), SRawEvent::getPartialHitPairsInSuperDetector(), PropSegment::hits, PropSegment::isValid(), LogInfo, and PropSegment::print().
Referenced by setRawEventWorker().
void KalmanDSTrk::buildTrackletsInStation | ( | int | stationID, |
int | listID, | ||
double * | pos_exp = NULL , |
||
double * | window = NULL |
||
) |
Tracklet finding stuff.
Definition at line 1416 of file KalmanDSTrk.cxx.
References acceptTracklet(), PatternDB::DC1, PatternDB::DC2, PatternDB::DC3m, PatternDB::DC3p, PatternDB::ERROR_STATION, fitTracklet(), SRawEvent::getPartialHitPairsInSuperDetector(), PatternDBUtil::GetTrackletKey(), Tracklet::hits, IN_ST_DS, Tracklet::isValid(), LogInfo, Tracklet::nUHits, NULL, Tracklet::nVHits, Tracklet::nXHits, Tracklet::print(), Tracklet::sortHits(), PatternDB::St1, PatternDB::St2, PatternDB::St3, Tracklet::stationID, Verbosity(), and Fun4AllBase::VERBOSITY_A_LOT.
Referenced by buildGlobalTracks(), and setRawEventWorker().
void KalmanDSTrk::chi2fit | ( | int | n, |
double | x[], | ||
double | y[], | ||
double & | a, | ||
double & | b | ||
) |
Tool, a simple-minded chi square fit Y = a*X + b
Definition at line 2409 of file KalmanDSTrk.cxx.
Referenced by buildBackPartialTracks().
bool KalmanDSTrk::fitTrack | ( | KalmanTrack & | kmtrk | ) |
Definition at line 2324 of file KalmanDSTrk.cxx.
References KalmanTrack::getNodeList(), KalmanFitter::processOneTrack(), and KalmanFitter::updateTrack().
Referenced by processOneTracklet(), and resolveLeftRight().
int KalmanDSTrk::fitTracklet | ( | Tracklet & | tracklet | ) |
Definition at line 2008 of file KalmanDSTrk.cxx.
References Tracklet::chisq, Tracklet::err_invP, Tracklet::err_tx, Tracklet::err_ty, Tracklet::err_x0, Tracklet::err_y0, Tracklet::invP, nStations, Tracklet::stationID, Tracklet::tx, Tracklet::ty, Tracklet::x0, and Tracklet::y0.
Referenced by buildBackPartialTracks(), buildGlobalTracks(), buildTrackletsInStation(), removeBadHits(), resolveLeftRight(), and resolveSingleLeftRight().
|
inline |
Definition at line 132 of file KalmanDSTrk.h.
|
inline |
Definition at line 140 of file KalmanDSTrk.h.
|
inline |
Definition at line 123 of file KalmanDSTrk.h.
void KalmanDSTrk::getExtrapoWindowsInSt1 | ( | Tracklet & | tracklet, |
double * | pos_exp, | ||
double * | window, | ||
int | st1ID | ||
) |
Definition at line 2087 of file KalmanDSTrk.cxx.
References Tracklet::getExpPosErrorX(), Tracklet::getExpPosErrorY(), Tracklet::getExpPositionX(), Tracklet::getExpPositionY(), GeomSvc::getPlaneType(), GeomSvc::getUinStereoPlane(), nStations, and Tracklet::stationID.
Referenced by buildGlobalTracks().
|
inline |
Final output.
Definition at line 122 of file KalmanDSTrk.h.
|
inline |
Definition at line 126 of file KalmanDSTrk.h.
void KalmanDSTrk::getSagittaWindowsInSt1 | ( | Tracklet & | tracklet, |
double * | pos_exp, | ||
double * | window, | ||
int | st1ID | ||
) |
Definition at line 2115 of file KalmanDSTrk.cxx.
References Tracklet::getExpPositionX(), Tracklet::getExpPositionY(), GeomSvc::getPlaneType(), GeomSvc::getUinStereoPlane(), Tracklet::hits, nStations, and Tracklet::stationID.
Referenced by buildGlobalTracks().
|
inline |
Definition at line 125 of file KalmanDSTrk.h.
|
inline |
Definition at line 124 of file KalmanDSTrk.h.
bool KalmanDSTrk::hodoMask | ( | Tracklet & | tracklet | ) |
Definition at line 1714 of file KalmanDSTrk.cxx.
References Tracklet::getExpPosErrorX(), Tracklet::getExpPosErrorY(), Tracklet::getExpPositionX(), Tracklet::getExpPositionY(), LogInfo, nChamberPlanes, nStations, and Tracklet::stationID.
Referenced by acceptTracklet(), buildBackPartialTracks(), and buildGlobalTracks().
bool KalmanDSTrk::muonID_comp | ( | Tracklet & | tracklet | ) |
Definition at line 1837 of file KalmanDSTrk.cxx.
References Tracklet::getExpPositionX(), Tracklet::getExpPositionY(), Tracklet::invP, LogInfo, nStations, Tracklet::seg_x, Tracklet::seg_y, Tracklet::stationID, Tracklet::tx, and Tracklet::ty.
Referenced by acceptTracklet().
bool KalmanDSTrk::muonID_hodoAid | ( | Tracklet & | tracklet | ) |
Definition at line 1894 of file KalmanDSTrk.cxx.
References Tracklet::getExpPosErrorX(), Tracklet::getExpPosErrorY(), Tracklet::getExpPositionX(), Tracklet::getExpPositionY(), PropSegment::hodoHits, Tracklet::invP, nChamberPlanes, PropSegment::nHodoHits, nStations, Tracklet::seg_x, Tracklet::seg_y, and Tracklet::stationID.
Referenced by muonID_search().
bool KalmanDSTrk::muonID_search | ( | Tracklet & | tracklet | ) |
Definition at line 1765 of file KalmanDSTrk.cxx.
References PropSegment::fit(), Tracklet::getExpPositionX(), Tracklet::getExpPositionY(), PropSegment::getPosRef(), SignedHit::hit, PropSegment::hits, PropSegment::init(), Tracklet::invP, GeomSvc::isInPlane(), muonID_hodoAid(), nChamberPlanes, PropSegment::nHodoHits, nStations, Tracklet::seg_x, Tracklet::seg_y, SignedHit::sign, Tracklet::stationID, Tracklet::tx, and Tracklet::ty.
Referenced by acceptTracklet().
void KalmanDSTrk::printAtDetectorBack | ( | int | stationID, |
std::string | outputFileName | ||
) |
Definition at line 2163 of file KalmanDSTrk.cxx.
References GeomSvc::getPlaneCenterX(), GeomSvc::getPlaneCenterY(), GeomSvc::getPlanePosition(), GeomSvc::getPlaneScaleX(), and GeomSvc::getPlaneScaleY().
void KalmanDSTrk::printTimers | ( | ) |
Definition at line 2377 of file KalmanDSTrk.cxx.
Track fitting stuff.
Definition at line 2207 of file KalmanDSTrk.cxx.
References TrkPar::_covar_kf, TrkPar::_state_kf, TrkPar::_z, PropSegment::a, fitTrack(), Tracklet::getCharge(), KalmanTrack::getChisq(), Tracklet::getExpPositionX(), Tracklet::getExpPositionY(), KalmanTrack::getHitIndexList(), PropSegment::getNHits(), KalmanTrack::getNodeList(), GeomSvc::getPlanePosition(), TriggerRoad::getRoadID(), KalmanTrack::getSRecTrack(), Tracklet::getSRecTrack(), Tracklet::hits, Tracklet::invP, KalmanTrack::isValid(), LogInfo, KalmanTrack::print(), KalmanTrack::printNodes(), Tracklet::seg_x, Tracklet::seg_y, KalmanTrack::setCurrTrkpar(), SRecTrack::setKalmanStatus(), SRecTrack::setNHitsInPT(), SRecTrack::setPTSlope(), SRecTrack::setTriggerRoad(), Tracklet::tx, and Tracklet::ty.
Referenced by buildGlobalTracks(), and setRawEventWorker().
int KalmanDSTrk::reduceTrackletList | ( | std::list< Tracklet > & | tracklets | ) |
Definition at line 2050 of file KalmanDSTrk.cxx.
References LogInfo.
Referenced by buildBackPartialTracks().
void KalmanDSTrk::removeBadHits | ( | Tracklet & | tracklet | ) |
Definition at line 1276 of file KalmanDSTrk.cxx.
References Tracklet::calcChisq(), Hit::detectorID, Hit::driftDistance, fitTracklet(), GeomSvc::getPlaneType(), SignedHit::hit, Tracklet::hits, Hit::index, Tracklet::isValid(), LogInfo, nChamberPlanes, Tracklet::nUHits, NULL, Tracklet::nVHits, Tracklet::nXHits, Tracklet::print(), Hit::print(), Tracklet::residual, resolveSingleLeftRight(), and SignedHit::sign.
Referenced by buildBackPartialTracks(), and buildGlobalTracks().
void KalmanDSTrk::resolveLeftRight | ( | KalmanTrack & | kmtrk | ) |
Definition at line 2337 of file KalmanDSTrk.cxx.
References fitTrack(), KalmanTrack::getHitIndexList(), KalmanTrack::getNodeList(), GeomSvc::getPlaneResolution(), and GeomSvc::getUinStereoPlane().
void KalmanDSTrk::resolveLeftRight | ( | SRawEvent::hit_pair | hpair, |
int & | LR1, | ||
int & | LR2 | ||
) |
Definition at line 1376 of file KalmanDSTrk.cxx.
Referenced by buildBackPartialTracks(), and buildGlobalTracks().
void KalmanDSTrk::resolveLeftRight | ( | Tracklet & | tracklet, |
double | threshold | ||
) |
Definition at line 1145 of file KalmanDSTrk.cxx.
References Tracklet::err_tx, Tracklet::err_ty, Tracklet::err_x0, Tracklet::err_y0, fitTracklet(), Tracklet::getExpPositionX(), Tracklet::getExpPositionY(), Tracklet::getXZErrorInSt1(), Tracklet::getXZInfoInSt1(), Tracklet::hits, LogInfo, Tracklet::print(), Tracklet::stationID, Tracklet::tx, Tracklet::ty, Tracklet::x0, and Tracklet::y0.
void KalmanDSTrk::resolveSingleLeftRight | ( | Tracklet & | tracklet | ) |
Definition at line 1253 of file KalmanDSTrk.cxx.
References fitTracklet(), Tracklet::getExpPositionX(), Tracklet::getExpPositionY(), Tracklet::hits, LogInfo, and Tracklet::print().
Referenced by buildGlobalTracks(), and removeBadHits().
|
inline |
Definition at line 136 of file KalmanDSTrk.h.
|
inline |
Definition at line 144 of file KalmanDSTrk.h.
int KalmanDSTrk::setRawEvent | ( | SRawEvent * | event_input | ) |
Definition at line 445 of file KalmanDSTrk.cxx.
References setRawEventWorker().
void KalmanDSTrk::setRawEventDebug | ( | SRawEvent * | event_input | ) |
Definition at line 438 of file KalmanDSTrk.cxx.
References SRawEvent::getAllHits().
int KalmanDSTrk::setRawEventWorker | ( | SRawEvent * | event_input | ) |
Definition at line 482 of file KalmanDSTrk.cxx.
References acceptEvent(), buildBackPartialTracks(), buildGlobalTracks(), buildPropSegments(), buildTrackletsInStation(), SRawEvent::getAllHits(), SRawEvent::getHitsIndexInDetector(), SRawEvent::getHitsIndexInDetectors(), SRawEvent::isFPGATriggered(), LogInfo, processOneTracklet(), TFEXIT_FAIL_BACKPARTIAL, TFEXIT_FAIL_GLOABL, TFEXIT_FAIL_MULTIPLICITY, TFEXIT_FAIL_ST2_TRACKLET, TFEXIT_FAIL_ST3_TRACKLET, and TFEXIT_SUCCESS.
Referenced by setRawEvent().
|
inline |
Definition at line 60 of file KalmanDSTrk.h.
Referenced by acceptEvent(), buildBackPartialTracks(), buildGlobalTracks(), and buildTrackletsInStation().
|
inline |
Definition at line 59 of file KalmanDSTrk.h.