#include <DTSegmentUpdator.h>
Public Member Functions | |
void | calculateT0corr (DTRecSegment2D *seg) const |
void | calculateT0corr (DTRecSegment4D *seg) const |
DTSegmentUpdator (const edm::ParameterSet &config, edm::ConsumesCollector) | |
Constructor. More... | |
bool | fit (DTSegmentCand *seg, bool allow3par, const bool fitdebug) const |
void | fit (DTRecSegment2D *seg, bool allow3par, bool block3par) const |
void | fit (DTRecSegment4D *seg, bool allow3par) const |
void | setES (const edm::EventSetup &setup) |
set the setup More... | |
void | update (DTRecSegment4D *seg, const bool calcT0, bool allow3par) const |
recompute hits position and refit the segment4D More... | |
void | update (DTRecSegment2D *seg, bool allow3par) const |
recompute hits position and refit the segment2D More... | |
~DTSegmentUpdator () | |
Destructor. More... | |
Private Member Functions | |
void | fit (const std::vector< float > &x, const std::vector< float > &y, const std::vector< int > &lfit, const std::vector< double > &dist, const std::vector< float > &sigy, LocalPoint &pos, LocalVector &dir, float &cminf, float &vminf, AlgebraicSymMatrix &covMat, double &chi2, const bool allow3par=false, const bool block3par=false) const |
interface to LinearFit More... | |
void | rejectBadHits (DTChamberRecSegment2D *) const |
void | updateHits (DTRecSegment2D *seg, GlobalPoint &gpos, GlobalVector &gdir, const int step=2) const |
Private Attributes | |
bool | debug |
double | intime_cut |
bool | perform_delta_rejecting |
double | T0_hit_resolution |
std::unique_ptr< DTRecHitBaseAlgo > | theAlgo |
std::unique_ptr< DTLinearFit > | theFitter |
edm::ESHandle< DTGeometry > | theGeom |
const edm::ESGetToken< DTGeometry, MuonGeometryRecord > | theGeomToken |
bool | vdrift_4parfit |
Perform linear fit and hits update for DT segments. Update a segment by improving the hits thanks to the refined knowledge of impact angle and position (also along the wire) and perform linear fit on improved hits.
Definition at line 46 of file DTSegmentUpdator.h.
DTSegmentUpdator::DTSegmentUpdator | ( | const edm::ParameterSet & | config, |
edm::ConsumesCollector | cc | ||
) |
Constructor.
Definition at line 47 of file DTSegmentUpdator.cc.
|
default |
Destructor.
void DTSegmentUpdator::calculateT0corr | ( | DTRecSegment2D * | seg | ) | const |
Definition at line 615 of file DTSegmentUpdator.cc.
References a, b, gather_cfg::cout, debug, HLT_2023v12_cff::distance, TrackingRecHit::geographicalId(), hfClusterShapes_cfi::hits, DTGeometry::idToDet(), nano_mu_digi_cff::layer, DTGeometry::layer(), DTEnums::Left, DTRecSegment2D::setT0(), DTRecSegment2D::setVdrift(), DTRecSegment2D::specificRecHits(), theFitter, theGeom, vdrift_4parfit, x, hit::x, and y.
Referenced by calculateT0corr(), DTMeantimerPatternReco4D::reconstruct(), DTCombinatorialPatternReco4D::reconstruct(), and update().
void DTSegmentUpdator::calculateT0corr | ( | DTRecSegment4D * | seg | ) | const |
Definition at line 608 of file DTSegmentUpdator.cc.
References calculateT0corr(), DTRecSegment4D::hasPhi(), DTRecSegment4D::hasZed(), DTRecSegment4D::phiSegment(), and DTRecSegment4D::zSegment().
bool DTSegmentUpdator::fit | ( | DTSegmentCand * | seg, |
bool | allow3par, | ||
const bool | fitdebug | ||
) | const |
do the linear fit on the hits of the segment candidate and update it. Returns false if the segment candidate is not good()
Definition at line 217 of file DTSegmentUpdator.cc.
References nano_mu_local_reco_cff::chi2, gather_cfg::cout, debug, DeadROC_duringRun::dir, HLT_2023v12_cff::distance, DTSegmentCand::hits(), DTEnums::Left, DTEnums::Right, DTSegmentCand::setChi2(), DTSegmentCand::setCovMatrix(), DTSegmentCand::setDirection(), DTSegmentCand::setPosition(), DTSegmentCand::sett0(), mathSSE::sqrt(), x, and y.
Referenced by DTCombinatorialExtendedPatternReco::buildPointsCollection(), DTCombinatorialPatternReco::buildPointsCollection(), DTCombinatorialExtendedPatternReco::extendCandidates(), fit(), DTMeantimerPatternReco::fitWithT0(), trackingPlots.Iteration::modules(), DTRefitAndCombineReco4D::refitSuperSegments(), and update().
void DTSegmentUpdator::fit | ( | DTRecSegment2D * | seg, |
bool | allow3par, | ||
bool | block3par | ||
) | const |
ditto for true segment: since the fit is applied on a true segment, by definition the segment is "good", while it's not the case for just candidates
Definition at line 282 of file DTSegmentUpdator.cc.
References nano_mu_local_reco_cff::chi2, gather_cfg::cout, debug, DeadROC_duringRun::dir, HLT_2023v12_cff::distance, fit(), TrackingRecHit::geographicalId(), hfClusterShapes_cfi::hits, DTGeometry::idToDet(), nano_mu_digi_cff::layer, DTGeometry::layer(), DTEnums::Left, DTRecSegment2D::setChi2(), DTRecSegment2D::setCovMatrix(), DTRecSegment2D::setDirection(), DTRecSegment2D::setPosition(), DTRecSegment2D::setT0(), DTRecSegment2D::specificRecHits(), mathSSE::sqrt(), theGeom, ErrorFrameTransformer::transform(), x, hit::x, LocalError::xx(), and y.
Referenced by trackingPlots.Iteration::modules().
void DTSegmentUpdator::fit | ( | DTRecSegment4D * | seg, |
bool | allow3par | ||
) | const |
ditto for true segment 4D, the fit is done on either projection and then the 4D direction and position is built. Since the fit is applied on a true segment, by definition the segment is "good", while it's not the case for just candidates
Definition at line 116 of file DTSegmentUpdator.cc.
References DTGeometry::chamber(), DTSuperLayerId::chamberId(), DTRecSegment4D::chamberId(), DTRecSegment2D::chi2(), funct::cos(), gather_cfg::cout, debug, DeadROC_duringRun::dir, fit(), DTRecSegment4D::hasPhi(), DTRecSegment4D::hasZed(), intime_cut, DTRecSegment2D::localDirection(), DTRecSegment2D::localPosition(), DTRecSegment2D::parametersError(), DTRecSegment4D::phiSegment(), DTRecSegment4D::setCovMatrix(), DTRecSegment4D::setCovMatrixForZed(), DTRecSegment4D::setDirection(), DTRecSegment4D::setPosition(), DTGeometry::superLayer(), DTSLRecSegment2D::superLayerId(), DTRecSegment2D::t0(), theGeom, PV3DBase< T, PVType, FrameType >::theta(), GeomDet::toGlobal(), GeomDet::toLocal(), PV3DBase< T, PVType, FrameType >::x(), y, PV3DBase< T, PVType, FrameType >::y(), PV3DBase< T, PVType, FrameType >::z(), and DTRecSegment4D::zSegment().
Referenced by trackingPlots.Iteration::modules().
|
private |
interface to LinearFit
Definition at line 353 of file DTSegmentUpdator.cc.
References nano_mu_local_reco_cff::chi2, debug, DeadROC_duringRun::dir, mps_fire::i, intime_cut, slope, theFitter, Vector3DBase< T, FrameTag >::unit(), x, and y.
Referenced by trackingPlots.Iteration::modules().
|
private |
Definition at line 489 of file DTSegmentUpdator.cc.
References funct::abs(), gather_cfg::cout, debug, dumpMFGeometry_cfg::delta, TrackingRecHit::geographicalId(), hfClusterShapes_cfi::hits, mps_fire::i, DTGeometry::idToDet(), DTGeometry::layer(), N, DTRecSegment2D::specificRecHits(), theGeom, DTRecSegment2D::update(), x, and y.
Referenced by update().
void DTSegmentUpdator::setES | ( | const edm::EventSetup & | setup | ) |
set the setup
Definition at line 69 of file DTSegmentUpdator.cc.
References singleTopDQM_cfi::setup, theAlgo, theGeom, and theGeomToken.
Referenced by DTRefitAndCombineReco4D::setES(), DTMeantimerPatternReco4D::setES(), DTCombinatorialPatternReco4D::setES(), DTCombinatorialPatternReco::setES(), DTCombinatorialExtendedPatternReco::setES(), and DTMeantimerPatternReco::setES().
void DTSegmentUpdator::update | ( | DTRecSegment4D * | seg, |
const bool | calcT0, | ||
bool | allow3par | ||
) | const |
recompute hits position and refit the segment4D
Definition at line 74 of file DTSegmentUpdator.cc.
References calculateT0corr(), gather_cfg::cout, debug, DeadROC_duringRun::dir, fit(), TrackingRecHit::geographicalId(), DTRecSegment4D::hasPhi(), DTRecSegment4D::hasZed(), DTGeometry::idToDet(), DTRecSegment4D::localDirection(), DTRecSegment4D::localPosition(), perform_delta_rejecting, DTRecSegment4D::phiSegment(), rejectBadHits(), theGeom, updateHits(), and DTRecSegment4D::zSegment().
Referenced by progressbar.ProgressBar::__next__(), MatrixUtil.Matrix::__setitem__(), MatrixUtil.Steps::__setitem__(), progressbar.ProgressBar::finish(), MatrixUtil.Steps::overwrite(), DTRefitAndCombineReco4D::reconstruct(), DTMeantimerPatternReco4D::reconstruct(), DTCombinatorialPatternReco4D::reconstruct(), DTCombinatorialPatternReco::reconstruct(), DTCombinatorialExtendedPatternReco::reconstruct(), and DTMeantimerPatternReco::reconstruct().
void DTSegmentUpdator::update | ( | DTRecSegment2D * | seg, |
bool | allow3par | ||
) | const |
recompute hits position and refit the segment2D
Definition at line 106 of file DTSegmentUpdator.cc.
References gather_cfg::cout, debug, DeadROC_duringRun::dir, fit(), TrackingRecHit::geographicalId(), DTGeometry::idToDet(), DTRecSegment2D::localDirection(), DTRecSegment2D::localPosition(), theGeom, and updateHits().
Referenced by progressbar.ProgressBar::__next__(), MatrixUtil.Matrix::__setitem__(), MatrixUtil.Steps::__setitem__(), progressbar.ProgressBar::finish(), and MatrixUtil.Steps::overwrite().
|
private |
Definition at line 415 of file DTSegmentUpdator.cc.
References angle(), funct::cos(), HLT_2023v12_cff::distance, relativeConstraints::error, Exception, DTRecSegment2D::ist0Valid(), nano_mu_digi_cff::layer, DTGeometry::layer(), DTEnums::Left, convertSQLiteXML::ok, point, DTRecSegment2D::specificRecHits(), DTRecSegment2D::t0(), T0_hit_resolution, theAlgo, theGeom, PV3DBase< T, PVType, FrameType >::theta(), DTRecSegment2D::update(), DTRecSegment2D::vDrift(), vdrift_4parfit, PV3DBase< T, PVType, FrameType >::x(), hit::x, and PV3DBase< T, PVType, FrameType >::z().
Referenced by update().
|
private |
Definition at line 114 of file DTSegmentUpdator.h.
Referenced by calculateT0corr(), fit(), runTauIdMVA.TauIDEmbedder::loadMVA_WPs_run2_2017(), rejectBadHits(), runTauIdMVA.TauIDEmbedder::runTauID(), and update().
|
private |
Definition at line 110 of file DTSegmentUpdator.h.
Referenced by fit().
|
private |
Definition at line 113 of file DTSegmentUpdator.h.
Referenced by update().
|
private |
Definition at line 112 of file DTSegmentUpdator.h.
Referenced by updateHits().
|
private |
Definition at line 86 of file DTSegmentUpdator.h.
Referenced by setES(), and updateHits().
|
private |
Definition at line 85 of file DTSegmentUpdator.h.
Referenced by calculateT0corr(), and fit().
|
private |
Definition at line 87 of file DTSegmentUpdator.h.
Referenced by calculateT0corr(), fit(), rejectBadHits(), setES(), update(), and updateHits().
|
private |
Definition at line 88 of file DTSegmentUpdator.h.
Referenced by setES().
|
private |
Definition at line 111 of file DTSegmentUpdator.h.
Referenced by calculateT0corr(), and updateHits().