#include <DTRecSegment2D.h>
Public Member Functions | |
virtual double | chi2 () const |
the chi2 of the fit | |
virtual DTRecSegment2D * | clone () const |
AlgebraicSymMatrix | covMatrix () const |
the Covariance Matrix | |
virtual int | degreesOfFreedom () const |
return the DOF of the segment | |
virtual int | dimension () const |
return 2. The dimension of the matrix | |
DTRecSegment2D () | |
DTRecSegment2D (DetId id, const std::vector< DTRecHit1D > &hits) | |
c'tor from hits | |
DTRecSegment2D (DetId id, LocalPoint &position, LocalVector &direction, AlgebraicSymMatrix &covMatrix, double chi2, std::vector< DTRecHit1D > &hits1D) | |
complete constructor | |
bool | ist0Valid () const |
virtual LocalVector | localDirection () const |
the local direction in SL frame | |
virtual LocalError | localDirectionError () const |
the local direction error (xx,xy,yy) in SL frame: only xx is not 0. | |
virtual LocalPoint | localPosition () const |
local position in SL frame | |
virtual LocalError | localPositionError () const |
local position error in SL frame | |
virtual AlgebraicVector | parameters () const |
the vector of parameters (dx/dz,x) | |
virtual AlgebraicSymMatrix | parametersError () const |
virtual AlgebraicMatrix | projectionMatrix () const |
virtual std::vector< const TrackingRecHit * > | recHits () const |
Access to component RecHits (if any) | |
virtual std::vector < TrackingRecHit * > | recHits () |
Non-const access to component RecHits (if any) | |
std::vector< DTRecHit1D > | specificRecHits () const |
Access to specific components. | |
double | t0 () const |
Get the segment t0 (if recomputed, 0 is returned otherwise) | |
double | vDrift () const |
virtual | ~DTRecSegment2D () |
Destructor. | |
Protected Member Functions | |
void | setChi2 (const double &chi2) |
void | setCovMatrix (const AlgebraicSymMatrix &cov) |
void | setDirection (const LocalVector &dir) |
void | setPosition (const LocalPoint &pos) |
void | setT0 (const double &t0) |
void | setVdrift (const double &vdrift) |
void | update (std::vector< DTRecHit1D > &updatedRecHits) |
Protected Attributes | |
double | theChi2 |
AlgebraicSymMatrix | theCovMatrix |
LocalVector | theDirection |
std::vector< DTRecHit1D > | theHits |
LocalPoint | thePosition |
double | theT0 |
double | theVdrift |
Private Member Functions | |
void | initialize () const |
AlgebraicVector | param (const LocalPoint &lp, const LocalVector &lv) const |
Static Private Attributes | |
static bool | isInitialized |
static AlgebraicMatrix | theProjectionMatrix |
Friends | |
class | DTSegmentUpdator |
Base class for 2-parameters segments measuring position and direction in X projection.
Implements the AbstractDetMeasurement part of the interface for 2D RecHits in terms of localPosition() and localPositionError() and Direction. This segment is measuring the position and the direction in just one projection, the "X". Typical use case is a segment reconstructed only in X projection. To be used as base class for all 2D positional-directional segments. The coordinate measured is assumend to be the local "x" and "dx/dz"
2D Segments for the muon barrel system. 2D means that this segment has information about position and direction in one projection (r-phi or r-theta/zeta).
Definition at line 47 of file DTRecSegment2D.h.
DTRecSegment2D::DTRecSegment2D | ( | ) | [inline] |
DTRecSegment2D::DTRecSegment2D | ( | DetId | id, |
const std::vector< DTRecHit1D > & | hits | ||
) |
c'tor from hits
DTRecSegment2D::DTRecSegment2D | ( | DetId | id, |
LocalPoint & | position, | ||
LocalVector & | direction, | ||
AlgebraicSymMatrix & | covMatrix, | ||
double | chi2, | ||
std::vector< DTRecHit1D > & | hits1D | ||
) |
complete constructor
Definition at line 57 of file DTRecSegment2D.cc.
: RecSegment(id), thePosition(position),theDirection(direction), theCovMatrix(covMatrix),theChi2(chi2),theT0(0.),theVdrift(0.),theHits(hits1D){}
DTRecSegment2D::~DTRecSegment2D | ( | ) | [virtual] |
virtual double DTRecSegment2D::chi2 | ( | void | ) | const [inline, virtual] |
the chi2 of the fit
Implements RecSegment.
Definition at line 104 of file DTRecSegment2D.h.
References theChi2.
Referenced by DTRecSegment4D::chi2(), operator<<(), DTRefitAndCombineReco4D::refitSuperSegments(), DTCombinatorialPatternReco4D::segmentSpecialZed(), and setChi2().
{ return theChi2; }
virtual DTRecSegment2D* DTRecSegment2D::clone | ( | void | ) | const [inline, virtual] |
Implements TrackingRecHit.
Reimplemented in DTChamberRecSegment2D, and DTSLRecSegment2D.
Definition at line 69 of file DTRecSegment2D.h.
References DTRecSegment2D().
{ return new DTRecSegment2D(*this);}
AlgebraicSymMatrix DTRecSegment2D::covMatrix | ( | ) | const [inline] |
the Covariance Matrix
Definition at line 119 of file DTRecSegment2D.h.
References theCovMatrix.
Referenced by DTRecSegment4D::DTRecSegment4D(), and DTCombinatorialPatternReco4D::segmentSpecialZed().
{return theCovMatrix;}
int DTRecSegment2D::degreesOfFreedom | ( | ) | const [virtual] |
return the DOF of the segment
Implements RecSegment.
Definition at line 73 of file DTRecSegment2D.cc.
References dimension(), and theHits.
Referenced by DTLocalTriggerLutTask::analyze(), DTLocalTriggerSynchTask::analyze(), DTRecSegment4D::degreesOfFreedom(), operator<<(), and DTLocalTriggerTask::runSegmentAnalysis().
virtual int DTRecSegment2D::dimension | ( | ) | const [inline, virtual] |
return 2. The dimension of the matrix
Implements RecSegment.
Definition at line 89 of file DTRecSegment2D.h.
Referenced by degreesOfFreedom().
{ return 2;}
void DTRecSegment2D::initialize | ( | ) | const [inline, private] |
Definition at line 159 of file DTRecSegment2D.h.
References isInitialized, and theProjectionMatrix.
Referenced by projectionMatrix().
{ isInitialized=true; theProjectionMatrix = AlgebraicMatrix( 2, 5, 0); theProjectionMatrix[0][1]=1; theProjectionMatrix[1][3]=1; }
bool DTRecSegment2D::ist0Valid | ( | ) | const [inline] |
Definition at line 123 of file DTRecSegment2D.h.
References theT0.
Referenced by TrackDetectorAssociator::addTAMuonSegmentMatch(), DTLocalTriggerSynchTask::analyze(), DTTimingExtractor::fillTiming(), CosmicMuonTrajectoryBuilder::t0(), and DTSegmentUpdator::updateHits().
{return (theT0 > -998.) ? true : false;}
virtual LocalVector DTRecSegment2D::localDirection | ( | ) | const [inline, virtual] |
the local direction in SL frame
Implements RecSegment.
Definition at line 98 of file DTRecSegment2D.h.
References theDirection.
Referenced by DTSegment4DQuality::analyze(), DTSegment2DQuality::analyze(), DTVDriftCalibration::analyze(), DTSegment2DSLPhiQuality::analyze(), DTRecSegment4D::DTRecSegment4D(), DTSegmentUpdator::fit(), operator<<(), parameters(), DTCombinatorialPatternReco4D::segmentSpecialZed(), and DTSegmentUpdator::update().
{ return theDirection; }
LocalError DTRecSegment2D::localDirectionError | ( | ) | const [virtual] |
the local direction error (xx,xy,yy) in SL frame: only xx is not 0.
Implements RecSegment.
Definition at line 69 of file DTRecSegment2D.cc.
References theCovMatrix.
Referenced by DTSegment4DQuality::analyze(), DTSegment2DQuality::analyze(), and DTSegment2DSLPhiQuality::analyze().
{ return LocalError(theCovMatrix[0][0],0.,0.); }
virtual LocalPoint DTRecSegment2D::localPosition | ( | ) | const [inline, virtual] |
local position in SL frame
Implements TrackingRecHit.
Definition at line 92 of file DTRecSegment2D.h.
References thePosition.
Referenced by DTSegment4DQuality::analyze(), DTSegment2DQuality::analyze(), DTVDriftCalibration::analyze(), DTSegment2DSLPhiQuality::analyze(), DTRecSegment4D::DTRecSegment4D(), DTSegmentUpdator::fit(), operator<<(), parameters(), DTMeantimerPatternReco4D::reconstruct(), DTCombinatorialPatternReco4D::segmentSpecialZed(), and DTSegmentUpdator::update().
{return thePosition; }
LocalError DTRecSegment2D::localPositionError | ( | ) | const [virtual] |
local position error in SL frame
Implements TrackingRecHit.
Definition at line 65 of file DTRecSegment2D.cc.
References theCovMatrix.
Referenced by DTSegment4DQuality::analyze(), DTSegment2DQuality::analyze(), DTSegment2DSLPhiQuality::analyze(), and DTCombinatorialPatternReco4D::segmentSpecialZed().
{ return LocalError(theCovMatrix[1][1],0.,0.); }
AlgebraicVector DTRecSegment2D::param | ( | const LocalPoint & | lp, |
const LocalVector & | lv | ||
) | const [inline, private] |
Definition at line 166 of file DTRecSegment2D.h.
References query::result, PV3DBase< T, PVType, FrameType >::x(), and PV3DBase< T, PVType, FrameType >::z().
Referenced by parameters().
virtual AlgebraicVector DTRecSegment2D::parameters | ( | void | ) | const [inline, virtual] |
the vector of parameters (dx/dz,x)
Implements TrackingRecHit.
Definition at line 73 of file DTRecSegment2D.h.
References localDirection(), localPosition(), and param().
{ return param( localPosition(), localDirection()); }
AlgebraicSymMatrix DTRecSegment2D::parametersError | ( | ) | const [virtual] |
mat[0][0]=sigma (dx/dz) mat[1][1]=sigma (x) mat[0][1]=cov(dx/dz,x)
Implements TrackingRecHit.
Definition at line 26 of file DTRecSegment2D.cc.
References m.
Referenced by DTSegmentUpdator::fit(), and DTRecSegment4D::setCovMatrixForZed().
{ AlgebraicSymMatrix m(2); // if ( det().alignmentPositionError()) { // LocalError lape = // ErrorFrameTransformer().transform( det().alignmentPositionError()->globalError(), // det().surface()); // m[0][0] = lv.xx(); // m[0][1] = 0.; // m[1][1] = lp.xx()+lape.xx(); // } else { m[0][0] = theCovMatrix[0][0]; m[0][1] = theCovMatrix[0][1]; m[1][1] = theCovMatrix[1][1]; //}; //cout << "theCovMatrix elements " << theCovMatrix[0][0] << " , " << theCovMatrix[0][1] << // " , " << theCovMatrix[1][0] << " , " << theCovMatrix[1][1] << endl; return m; }
virtual AlgebraicMatrix DTRecSegment2D::projectionMatrix | ( | ) | const [inline, virtual] |
return the projection matrix, which must project a parameter vector, whose components are (q/p, dx/dz, dy/dz, x, y), into the vector returned by parameters()
Implements TrackingRecHit.
Definition at line 83 of file DTRecSegment2D.h.
References initialize(), isInitialized, and theProjectionMatrix.
{ if ( !isInitialized) initialize(); return theProjectionMatrix; }
std::vector< const TrackingRecHit * > DTRecSegment2D::recHits | ( | ) | const [virtual] |
Access to component RecHits (if any)
Implements TrackingRecHit.
Definition at line 84 of file DTRecSegment2D.cc.
References theHits.
Referenced by DTChamberEfficiencyTask::getBestSegment(), MuonAssociatorByHits::getMatchedIds(), TrackerMuonHitExtractor::getMuonHits(), DTChamberEfficiencyTask::isGoodSegment(), MuonSegmentMatcher::matchDT(), operator<<(), and MuonTrackProducer::produce().
std::vector< TrackingRecHit * > DTRecSegment2D::recHits | ( | ) | [virtual] |
Non-const access to component RecHits (if any)
Implements TrackingRecHit.
Definition at line 95 of file DTRecSegment2D.cc.
References theHits.
void DTRecSegment2D::setChi2 | ( | const double & | chi2 | ) | [protected] |
Definition at line 126 of file DTRecSegment2D.cc.
References chi2(), and theChi2.
Referenced by DTSegmentUpdator::fit().
void DTRecSegment2D::setCovMatrix | ( | const AlgebraicSymMatrix & | cov | ) | [protected] |
Definition at line 122 of file DTRecSegment2D.cc.
References theCovMatrix.
Referenced by DTSegmentUpdator::fit().
{ theCovMatrix = cov; }
void DTRecSegment2D::setDirection | ( | const LocalVector & | dir | ) | [protected] |
Definition at line 118 of file DTRecSegment2D.cc.
References dir, and theDirection.
Referenced by DTSegmentUpdator::fit().
{ theDirection=dir; }
void DTRecSegment2D::setPosition | ( | const LocalPoint & | pos | ) | [protected] |
Definition at line 114 of file DTRecSegment2D.cc.
References pos, and thePosition.
Referenced by DTSegmentUpdator::fit().
{ thePosition= pos; }
void DTRecSegment2D::setT0 | ( | const double & | t0 | ) | [protected] |
Definition at line 130 of file DTRecSegment2D.cc.
Referenced by DTSegmentUpdator::calculateT0corr().
void DTRecSegment2D::setVdrift | ( | const double & | vdrift | ) | [protected] |
Definition at line 134 of file DTRecSegment2D.cc.
References theVdrift.
Referenced by DTSegmentUpdator::calculateT0corr().
{ theVdrift=vdrift; }
std::vector< DTRecHit1D > DTRecSegment2D::specificRecHits | ( | ) | const |
Access to specific components.
Definition at line 106 of file DTRecSegment2D.cc.
References theHits.
Referenced by TrackDetectorAssociator::addTAMuonSegmentMatch(), DTResolutionAnalysisTask::analyze(), DTEfficiencyTask::analyze(), DTSegmentsTask::analyze(), SegmentTrackAnalyzer::analyze(), DTVDriftCalibration::analyze(), DTResidualCalibration::analyze(), DTSegmentAnalysisTask::analyze(), DTSegmentUpdator::calculateT0corr(), DTCalibValidation::compute(), DTTimingExtractor::fillTiming(), DTSegmentUpdator::fit(), ChamberSegmentUtility::getDTRHmap(), MuonSegmentMatcher::matchDT(), DTSegmentSelector::operator()(), DTSegmentUpdator::rejectBadHits(), DTCombinatorialPatternReco4D::segmentSpecialZed(), CosmicMuonTrajectoryBuilder::t0(), and DTSegmentUpdator::updateHits().
{ return theHits; }
double DTRecSegment2D::t0 | ( | ) | const [inline] |
Get the segment t0 (if recomputed, 0 is returned otherwise)
Definition at line 122 of file DTRecSegment2D.h.
References theT0.
Referenced by TrackDetectorAssociator::addTAMuonSegmentMatch(), DTTimingExtractor::fillTiming(), setT0(), CosmicMuonTrajectoryBuilder::t0(), and DTSegmentUpdator::updateHits().
{return theT0;}
void DTRecSegment2D::update | ( | std::vector< DTRecHit1D > & | updatedRecHits | ) | [protected] |
Definition at line 110 of file DTRecSegment2D.cc.
References theHits.
Referenced by DTSegmentUpdator::rejectBadHits(), and DTSegmentUpdator::updateHits().
{ theHits = updatedRecHits; }
double DTRecSegment2D::vDrift | ( | ) | const [inline] |
Get the vDirft as computed by the algo for the computation of the segment t0 (if recomputed, 0 is returned otherwise)
Definition at line 127 of file DTRecSegment2D.h.
References theVdrift.
Referenced by DTSegmentUpdator::updateHits().
{return theVdrift;}
friend class DTSegmentUpdator [friend] |
Reimplemented in DTChamberRecSegment2D, and DTSLRecSegment2D.
Definition at line 130 of file DTRecSegment2D.h.
bool DTRecSegment2D::isInitialized [static, private] |
Definition at line 156 of file DTRecSegment2D.h.
Referenced by initialize(), and projectionMatrix().
double DTRecSegment2D::theChi2 [protected] |
Definition at line 147 of file DTRecSegment2D.h.
AlgebraicSymMatrix DTRecSegment2D::theCovMatrix [protected] |
mat[0][0]=sigma (dx/dz) mat[1][1]=sigma (x) mat[0][1]=cov(dx/dz,x)
Definition at line 145 of file DTRecSegment2D.h.
Referenced by covMatrix(), localDirectionError(), localPositionError(), and setCovMatrix().
LocalVector DTRecSegment2D::theDirection [protected] |
Definition at line 140 of file DTRecSegment2D.h.
Referenced by localDirection(), and setDirection().
std::vector<DTRecHit1D> DTRecSegment2D::theHits [protected] |
Definition at line 151 of file DTRecSegment2D.h.
Referenced by degreesOfFreedom(), recHits(), specificRecHits(), and update().
LocalPoint DTRecSegment2D::thePosition [protected] |
Definition at line 139 of file DTRecSegment2D.h.
Referenced by localPosition(), and setPosition().
AlgebraicMatrix DTRecSegment2D::theProjectionMatrix [static, private] |
Definition at line 157 of file DTRecSegment2D.h.
Referenced by initialize(), and projectionMatrix().
double DTRecSegment2D::theT0 [protected] |
Definition at line 148 of file DTRecSegment2D.h.
Referenced by ist0Valid(), setT0(), and t0().
double DTRecSegment2D::theVdrift [protected] |
Definition at line 149 of file DTRecSegment2D.h.
Referenced by setVdrift(), and vDrift().