CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Static Private Attributes | Friends
DTRecSegment2D Class Reference

#include <DTRecSegment2D.h>

Inheritance diagram for DTRecSegment2D:
RecSegment TrackingRecHit DTChamberRecSegment2D DTSLRecSegment2D

Public Member Functions

virtual double chi2 () const
 the chi2 of the fit More...
 
virtual DTRecSegment2Dclone () const
 
AlgebraicSymMatrix covMatrix () const
 the Covariance Matrix More...
 
virtual int degreesOfFreedom () const
 return the DOF of the segment More...
 
virtual int dimension () const
 return 2. The dimension of the matrix More...
 
 DTRecSegment2D ()
 
 DTRecSegment2D (DetId id, const std::vector< DTRecHit1D > &hits)
 c'tor from hits More...
 
 DTRecSegment2D (DetId id, LocalPoint &position, LocalVector &direction, AlgebraicSymMatrix &covMatrix, double chi2, std::vector< DTRecHit1D > &hits1D)
 complete constructor More...
 
bool ist0Valid () const
 
virtual LocalVector localDirection () const
 the local direction in SL frame More...
 
virtual LocalError localDirectionError () const
 the local direction error (xx,xy,yy) in SL frame: only xx is not 0. More...
 
virtual LocalPoint localPosition () const
 local position in SL frame More...
 
virtual LocalError localPositionError () const
 local position error in SL frame More...
 
virtual AlgebraicVector parameters () const
 the vector of parameters (dx/dz,x) More...
 
virtual AlgebraicSymMatrix parametersError () const
 
virtual AlgebraicMatrix projectionMatrix () const
 
virtual std::vector< const
TrackingRecHit * > 
recHits () const
 Access to component RecHits (if any) More...
 
virtual std::vector
< TrackingRecHit * > 
recHits ()
 Non-const access to component RecHits (if any) More...
 
std::vector< DTRecHit1DspecificRecHits () const
 Access to specific components. More...
 
double t0 () const
 Get the segment t0 (if recomputed, 0 is returned otherwise) More...
 
double vDrift () const
 
virtual ~DTRecSegment2D ()
 Destructor. More...
 
- Public Member Functions inherited from RecSegment
 RecSegment (DetId id)
 
 RecSegment (TrackingRecHit::id_type id=0)
 
virtual ~RecSegment ()
 Destructor. More...
 
- Public Member Functions inherited from TrackingRecHit
DetId geographicalId () const
 
virtual void getKfComponents (KfComponentsHolder &holder) const
 
unsigned int getRTTI () const
 
Type getType () const
 
virtual bool hasPositionAndError () const
 to be redefined by daughter class More...
 
bool isValid () const
 
id_type rawId () const
 
virtual void recHitsV (std::vector< const TrackingRecHit * > &) const
 
virtual void recHitsV (std::vector< TrackingRecHit * > &)
 
virtual bool sharesInput (const TrackingRecHit *other, SharedInputType what) const
 
 TrackingRecHit (DetId id, Type type=valid)
 
 TrackingRecHit (id_type id=0, Type type=valid)
 
 TrackingRecHit (DetId id, unsigned int rt, Type type=valid)
 
Type type () const
 
virtual float weight () const
 
virtual ~TrackingRecHit ()
 

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 Member Functions inherited from TrackingRecHit
void setId (id_type iid)
 
void setRTTI (unsigned int rt)
 
void setType (Type ttype)
 

Protected Attributes

double theChi2
 
AlgebraicSymMatrix theCovMatrix
 
LocalVector theDirection
 
std::vector< DTRecHit1DtheHits
 
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
 

Additional Inherited Members

- Public Types inherited from TrackingRecHit
typedef unsigned int id_type
 
enum  SharedInputType { all, some }
 definition of equality via shared input More...
 
enum  Type { valid = 0, missing = 1, inactive = 2, bad = 3 }
 
- Static Public Attributes inherited from TrackingRecHit
static const int rttiShift = 24
 
static const int typeMask = 0xf
 

Detailed Description

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).

Date:
2012/04/30 08:32:03
Revision:
1.18
Author
Stefano Lacaprara - INFN Legnaro stefa.nosp@m.no.l.nosp@m.acapr.nosp@m.ara@.nosp@m.pd.in.nosp@m.fn.i.nosp@m.t
Riccardo Bellan - INFN TO ricca.nosp@m.rdo..nosp@m.bella.nosp@m.n@ce.nosp@m.rn.ch

Definition at line 47 of file DTRecSegment2D.h.

Constructor & Destructor Documentation

DTRecSegment2D::DTRecSegment2D ( )
inline

Constructor empty c'tor needed by POOL (I guess)

Definition at line 53 of file DTRecSegment2D.h.

Referenced by clone().

53 : theChi2(0.0), theT0(0.), theVdrift(0.) {}
DTRecSegment2D::DTRecSegment2D ( DetId  id,
const std::vector< DTRecHit1D > &  hits 
)

c'tor from hits

Definition at line 53 of file DTRecSegment2D.cc.

53  :
54  RecSegment(id), theChi2(0.0), theT0(0.), theVdrift(0.), theHits(hits){
55 }
std::vector< DTRecHit1D > theHits
RecSegment(DetId id)
Definition: RecSegment.h:32
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.

60  :
61  RecSegment(id), thePosition(position),theDirection(direction),
virtual double chi2() const
the chi2 of the fit
std::vector< DTRecHit1D > theHits
AlgebraicSymMatrix theCovMatrix
AlgebraicSymMatrix covMatrix() const
the Covariance Matrix
LocalPoint thePosition
LocalVector theDirection
RecSegment(DetId id)
Definition: RecSegment.h:32
DTRecSegment2D::~DTRecSegment2D ( )
virtual

Destructor.

Definition at line 51 of file DTRecSegment2D.cc.

51 {}

Member Function Documentation

virtual double DTRecSegment2D::chi2 ( void  ) const
inlinevirtual

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().

104 { return theChi2; }
virtual DTRecSegment2D* DTRecSegment2D::clone ( void  ) const
inlinevirtual

Implements TrackingRecHit.

Reimplemented in DTChamberRecSegment2D, and DTSLRecSegment2D.

Definition at line 69 of file DTRecSegment2D.h.

References DTRecSegment2D().

69 { 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().

119 {return theCovMatrix;}
AlgebraicSymMatrix 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().

73  {
74  return theHits.size()-dimension();
75 }
std::vector< DTRecHit1D > theHits
virtual int dimension() const
return 2. The dimension of the matrix
virtual int DTRecSegment2D::dimension ( ) const
inlinevirtual

return 2. The dimension of the matrix

Implements RecSegment.

Definition at line 89 of file DTRecSegment2D.h.

Referenced by degreesOfFreedom().

89 { return 2;}
void DTRecSegment2D::initialize ( ) const
inlineprivate

Definition at line 159 of file DTRecSegment2D.h.

References isInitialized, and theProjectionMatrix.

Referenced by projectionMatrix().

159  {
160  isInitialized=true;
162  theProjectionMatrix[0][1]=1;
163  theProjectionMatrix[1][3]=1;
164  }
static bool isInitialized
CLHEP::HepMatrix AlgebraicMatrix
static AlgebraicMatrix theProjectionMatrix
bool DTRecSegment2D::ist0Valid ( ) const
inline
virtual LocalVector DTRecSegment2D::localDirection ( ) const
inlinevirtual
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 DTSegment2DQuality::analyze(), DTSegment4DQuality::analyze(), and DTSegment2DSLPhiQuality::analyze().

69  {
70  return LocalError(theCovMatrix[0][0],0.,0.);
71 }
AlgebraicSymMatrix theCovMatrix
virtual LocalPoint DTRecSegment2D::localPosition ( ) const
inlinevirtual
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 DTSegment2DQuality::analyze(), DTSegment4DQuality::analyze(), DTSegment2DSLPhiQuality::analyze(), and DTCombinatorialPatternReco4D::segmentSpecialZed().

65  {
66  return LocalError(theCovMatrix[1][1],0.,0.);
67 }
AlgebraicSymMatrix theCovMatrix
AlgebraicVector DTRecSegment2D::param ( const LocalPoint lp,
const LocalVector lv 
) const
inlineprivate

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().

166  {
168  result[1]=lp.x();
169  result[0]=lv.x()/lv.z();
170  return result;
171  }
T z() const
Definition: PV3DBase.h:64
tuple result
Definition: query.py:137
CLHEP::HepVector AlgebraicVector
T x() const
Definition: PV3DBase.h:62
virtual AlgebraicVector DTRecSegment2D::parameters ( void  ) const
inlinevirtual

the vector of parameters (dx/dz,x)

Implements TrackingRecHit.

Definition at line 73 of file DTRecSegment2D.h.

References localDirection(), localPosition(), and param().

Referenced by Vispa.Plugins.ConfigEditor.ConfigDataAccessor.ConfigDataAccessor::inputTags(), Vispa.Plugins.ConfigEditor.ConfigDataAccessor.ConfigDataAccessor::properties(), and Vispa.Plugins.ConfigEditor.ConfigDataAccessor.ConfigDataAccessor::recursePSetProperties().

73  {
74  return param( localPosition(), localDirection());
75  }
virtual LocalPoint localPosition() const
local position in SL frame
AlgebraicVector param(const LocalPoint &lp, const LocalVector &lv) const
virtual LocalVector localDirection() const
the local direction in SL frame
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().

26  {
31  // if ( det().alignmentPositionError()) {
32  // LocalError lape =
33  // ErrorFrameTransformer().transform( det().alignmentPositionError()->globalError(),
34  // det().surface());
35  // m[0][0] = lv.xx();
36  // m[0][1] = 0.;
37  // m[1][1] = lp.xx()+lape.xx();
38  // } else {
39  m[0][0] = theCovMatrix[0][0];
40  m[0][1] = theCovMatrix[0][1];
41  m[1][1] = theCovMatrix[1][1];
42  //};
43 
44  //cout << "theCovMatrix elements " << theCovMatrix[0][0] << " , " << theCovMatrix[0][1] <<
45  // " , " << theCovMatrix[1][0] << " , " << theCovMatrix[1][1] << endl;
46 
47  return m;
48 
49 }
AlgebraicSymMatrix theCovMatrix
CLHEP::HepSymMatrix AlgebraicSymMatrix
virtual AlgebraicMatrix DTRecSegment2D::projectionMatrix ( ) const
inlinevirtual

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.

83  {
84  if ( !isInitialized) initialize();
85  return theProjectionMatrix;
86  }
static bool isInitialized
void initialize() const
static AlgebraicMatrix 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().

84  {
85 
86  std::vector<const TrackingRecHit*> pointersOfRecHits;
87 
88  for(std::vector<DTRecHit1D>::const_iterator rechit = theHits.begin();
89  rechit != theHits.end(); rechit++)
90  pointersOfRecHits.push_back( &(*rechit) );
91 
92  return pointersOfRecHits;
93 }
std::vector< DTRecHit1D > theHits
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.

95  {
96 
97  std::vector<TrackingRecHit*> pointersOfRecHits;
98 
99  for(std::vector<DTRecHit1D>::iterator rechit = theHits.begin();
100  rechit != theHits.end(); rechit++)
101  pointersOfRecHits.push_back( &(*rechit) );
102 
103  return pointersOfRecHits;
104 }
std::vector< DTRecHit1D > theHits
void DTRecSegment2D::setChi2 ( const double &  chi2)
protected

Definition at line 126 of file DTRecSegment2D.cc.

References chi2(), and theChi2.

Referenced by DTSegmentUpdator::fit().

126  {
127  theChi2=chi2;
128 }
virtual double chi2() const
the chi2 of the fit
void DTRecSegment2D::setCovMatrix ( const AlgebraicSymMatrix cov)
protected

Definition at line 122 of file DTRecSegment2D.cc.

References theCovMatrix.

Referenced by DTSegmentUpdator::fit().

122  {
123  theCovMatrix = cov;
124 }
AlgebraicSymMatrix theCovMatrix
void DTRecSegment2D::setDirection ( const LocalVector dir)
protected

Definition at line 118 of file DTRecSegment2D.cc.

References dir, and theDirection.

Referenced by DTSegmentUpdator::fit().

118  {
120 }
LocalVector theDirection
dbl *** dir
Definition: mlp_gen.cc:35
void DTRecSegment2D::setPosition ( const LocalPoint pos)
protected

Definition at line 114 of file DTRecSegment2D.cc.

References pos, and thePosition.

Referenced by DTSegmentUpdator::fit().

114  {
115  thePosition= pos;
116 }
LocalPoint thePosition
void DTRecSegment2D::setT0 ( const double &  t0)
protected

Definition at line 130 of file DTRecSegment2D.cc.

References t0(), and theT0.

Referenced by DTSegmentUpdator::calculateT0corr().

130  {
131  theT0=t0;
132 }
double t0() const
Get the segment t0 (if recomputed, 0 is returned otherwise)
void DTRecSegment2D::setVdrift ( const double &  vdrift)
protected

Definition at line 134 of file DTRecSegment2D.cc.

References theVdrift.

Referenced by DTSegmentUpdator::calculateT0corr().

134  {
135  theVdrift=vdrift;
136 }
std::vector< DTRecHit1D > DTRecSegment2D::specificRecHits ( ) const
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().

122 {return theT0;}
void DTRecSegment2D::update ( std::vector< DTRecHit1D > &  updatedRecHits)
protected

Definition at line 110 of file DTRecSegment2D.cc.

References theHits.

Referenced by progressbar.ProgressBar::__next__(), relval_steps.Matrix::__setitem__(), relval_steps.Steps::__setitem__(), Vispa.Gui.VispaWidget.VispaWidget::autosize(), Vispa.Views.LineDecayView.LineDecayContainer::createObject(), Vispa.Views.LineDecayView.LineDecayContainer::deselectAllObjects(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::deselectAllWidgets(), Vispa.Gui.VispaWidget.VispaWidget::enableAutosizing(), progressbar.ProgressBar::finish(), Vispa.Gui.MenuWidget.MenuWidget::leaveEvent(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::mouseMoveEvent(), Vispa.Gui.MenuWidget.MenuWidget::mouseMoveEvent(), Vispa.Views.LineDecayView.LineDecayContainer::mouseMoveEvent(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::mouseReleaseEvent(), Vispa.Views.LineDecayView.LineDecayContainer::objectMoved(), relval_steps.Steps::overwrite(), DTSegmentUpdator::rejectBadHits(), Vispa.Views.LineDecayView.LineDecayContainer::removeObject(), Vispa.Gui.ConnectableWidget.ConnectableWidget::removePorts(), Vispa.Gui.FindDialog.FindDialog::reset(), Vispa.Gui.PortConnection.PointToPointConnection::select(), Vispa.Gui.VispaWidget.VispaWidget::select(), Vispa.Views.LineDecayView.LineDecayContainer::select(), Vispa.Gui.VispaWidget.VispaWidget::setText(), Vispa.Gui.VispaWidget.VispaWidget::setTitle(), Vispa.Gui.ZoomableWidget.ZoomableWidget::setZoom(), Vispa.Views.LineDecayView.LineDecayContainer::setZoom(), Vispa.Gui.PortConnection.PointToPointConnection::updateConnection(), and DTSegmentUpdator::updateHits().

110  {
111  theHits = updatedRecHits;
112 }
std::vector< DTRecHit1D > theHits
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().

127 {return theVdrift;}

Friends And Related Function Documentation

friend class DTSegmentUpdator
friend

Definition at line 130 of file DTRecSegment2D.h.

Member Data Documentation

bool DTRecSegment2D::isInitialized
staticprivate

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.

Referenced by chi2(), and setChi2().

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
staticprivate

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().