#include <DTSegmentUpdator.h>
Public Member Functions | |
void | calculateT0corr (DTRecSegment2D *seg) const |
void | calculateT0corr (DTRecSegment4D *seg) const |
DTSegmentUpdator (const edm::ParameterSet &config) | |
Constructor. More... | |
void | fit (DTRecSegment2D *seg, bool allow3par, bool block3par) const |
void | fit (DTRecSegment4D *seg, bool allow3par) const |
bool | fit (DTSegmentCand *seg, bool allow3par, const bool fitdebug) const |
void | setES (const edm::EventSetup &setup) |
set the setup More... | |
void | update (DTRecSegment2D *seg, bool allow3par) const |
recompute hits position and refit the segment2D More... | |
void | update (DTRecSegment4D *seg, const bool calcT0, bool allow3par) const |
recompute hits position and refit the segment4D 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 |
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 43 of file DTSegmentUpdator.h.
DTSegmentUpdator::DTSegmentUpdator | ( | const edm::ParameterSet & | config | ) |
|
default |
Destructor.
void DTSegmentUpdator::calculateT0corr | ( | DTRecSegment2D * | seg | ) | const |
Definition at line 618 of file DTSegmentUpdator.cc.
References a, b, gather_cfg::cout, debug, HLT_FULL_cff::distance, TrackingRecHit::geographicalId(), hfClusterShapes_cfi::hits, DTGeometry::idToDet(), DTGeometry::layer(), phase1PixelTopology::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 611 of file DTSegmentUpdator.cc.
References calculateT0corr(), DTRecSegment4D::hasPhi(), DTRecSegment4D::hasZed(), DTRecSegment4D::phiSegment(), and DTRecSegment4D::zSegment().
|
private |
interface to LinearFit
Definition at line 354 of file DTSegmentUpdator.cc.
References hltPixelTracks_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().
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 283 of file DTSegmentUpdator.cc.
References hltPixelTracks_cff::chi2, gather_cfg::cout, debug, DeadROC_duringRun::dir, HLT_FULL_cff::distance, fit(), TrackingRecHit::geographicalId(), hfClusterShapes_cfi::hits, DTGeometry::idToDet(), DTGeometry::layer(), phase1PixelTopology::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 115 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().
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 216 of file DTSegmentUpdator.cc.
References hltPixelTracks_cff::chi2, gather_cfg::cout, debug, DeadROC_duringRun::dir, HLT_FULL_cff::distance, DTSegmentCand::hits(), mps_fire::i, 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().
|
private |
Definition at line 490 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 68 of file DTSegmentUpdator.cc.
References get, singleTopDQM_cfi::setup, theAlgo, and theGeom.
Referenced by DTRefitAndCombineReco4D::setES(), DTMeantimerPatternReco4D::setES(), DTCombinatorialPatternReco4D::setES(), DTCombinatorialExtendedPatternReco::setES(), DTCombinatorialPatternReco::setES(), and DTMeantimerPatternReco::setES().
void DTSegmentUpdator::update | ( | DTRecSegment2D * | seg, |
bool | allow3par | ||
) | const |
recompute hits position and refit the segment2D
Definition at line 105 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().
void DTSegmentUpdator::update | ( | DTRecSegment4D * | seg, |
const bool | calcT0, | ||
bool | allow3par | ||
) | const |
recompute hits position and refit the segment4D
Definition at line 73 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(), DTCombinatorialExtendedPatternReco::reconstruct(), DTCombinatorialPatternReco::reconstruct(), and DTMeantimerPatternReco::reconstruct().
|
private |
Definition at line 416 of file DTSegmentUpdator.cc.
References angle(), funct::cos(), HLT_FULL_cff::distance, relativeConstraints::error, Exception, DTRecSegment2D::ist0Valid(), DTGeometry::layer(), phase1PixelTopology::layer, DTEnums::Left, convertSQLiteXML::ok, point, GeomDet::setPosition(), 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 110 of file DTSegmentUpdator.h.
Referenced by calculateT0corr(), fit(), runTauIdMVA.TauIDEmbedder::loadMVA_WPs_run2_2017(), rejectBadHits(), runTauIdMVA.TauIDEmbedder::runTauID(), and update().
|
private |
Definition at line 106 of file DTSegmentUpdator.h.
Referenced by fit().
|
private |
Definition at line 109 of file DTSegmentUpdator.h.
Referenced by update().
|
private |
Definition at line 108 of file DTSegmentUpdator.h.
Referenced by updateHits().
|
private |
Definition at line 83 of file DTSegmentUpdator.h.
Referenced by setES(), and updateHits().
|
private |
Definition at line 82 of file DTSegmentUpdator.h.
Referenced by calculateT0corr(), and fit().
|
private |
Definition at line 84 of file DTSegmentUpdator.h.
Referenced by calculateT0corr(), fit(), rejectBadHits(), setES(), update(), and updateHits().
|
private |
Definition at line 107 of file DTSegmentUpdator.h.
Referenced by calculateT0corr(), and updateHits().