CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Attributes
CSCSegment Class Referencefinal

#include <CSCSegment.h>

Inheritance diagram for CSCSegment:
RecSegment TrackingRecHit

Public Member Functions

double chi2 () const
 Chi2 of the segment fit. More...
 
CSCSegmentclone () const
 
CSCDetId cscDetId () const
 
 CSCSegment ()
 Default constructor. More...
 
 CSCSegment (const std::vector< const CSCRecHit2D * > &proto_segment, LocalPoint origin, LocalVector direction, const AlgebraicSymMatrix &errors, double chi2)
 Constructor. More...
 
virtual int degreesOfFreedom () const
 Degrees of freedom of the segment fit. More...
 
virtual int dimension () const
 Dimension (in parameter space) More...
 
const std::vector< CSCSegment > & duplicateSegments () const
 
bool isME11a_duplicate () const
 
LocalVector localDirection () const
 Local direction. More...
 
LocalError localDirectionError () const
 Error on the local direction. More...
 
LocalPoint localPosition () const
 
LocalError localPositionError () const
 
int nRecHits () const
 
AlgebraicVector parameters () const
 Parameters of the segment, for the track fit in the order (dx/dz, dy/dz, x, y ) More...
 
AlgebraicSymMatrix parametersError () const
 Covariance matrix of parameters() More...
 
void print () const
 
virtual AlgebraicMatrix projectionMatrix () const
 The projection matrix relates the trajectory state parameters to the segment parameters(). More...
 
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...
 
void setDuplicateSegments (std::vector< CSCSegment * > &duplicates)
 
bool sharesRecHits (const CSCSegment &anotherSegment, CSCRecHit2D::SharedInputType sharesInput) const
 
bool sharesRecHits (const CSCSegment &anotherSegment) const
 
const std::vector< CSCRecHit2D > & specificRecHits () const
 
bool testSharesAllInSpecificRecHits (const std::vector< CSCRecHit2D > &specificRecHits_1, const std::vector< CSCRecHit2D > &specificRecHits_2, CSCRecHit2D::SharedInputType) const
 
float time () const
 
virtual ~CSCSegment ()
 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
virtual bool canImproveWithTrack () const
 
RecHitPointer cloneForFit (const GeomDet &idet) const
 
virtual TrackingRecHitcloneHit () const
 
virtual RecHitPointer cloneSH () const
 
const GeomDetdet () const
 
virtual const GeomDetUnitdetUnit () const
 
virtual float errorGlobalR () const
 
virtual float errorGlobalRPhi () const
 
virtual float errorGlobalZ () const
 
DetId geographicalId () const
 
virtual void getKfComponents (KfComponentsHolder &holder) const
 
unsigned int getRTTI () const
 
Type getType () const
 
virtual GlobalPoint globalPosition () const
 
virtual GlobalError globalPositionError () const
 
virtual bool hasPositionAndError () const
 to be redefined by daughter class More...
 
virtual TrackingRecHit const * hit () const
 
bool isValid () const
 
id_type rawId () const
 
virtual void recHitsV (std::vector< const TrackingRecHit * > &) const
 
virtual void recHitsV (std::vector< TrackingRecHit * > &)
 
virtual void setDet (const GeomDet &idet)
 
virtual bool sharesInput (const TrackingRecHit *other, SharedInputType what) const
 
virtual const Surfacesurface () const
 
 TrackingRecHit (DetId id, Type type=valid)
 
 TrackingRecHit (id_type id=0, Type type=valid)
 
 TrackingRecHit (DetId id, unsigned int rt, Type type=valid)
 
 TrackingRecHit (const GeomDet &idet, Type type=valid)
 
 TrackingRecHit (const GeomDet &idet, unsigned int rt, Type type=valid)
 
 TrackingRecHit (const GeomDet &idet, TrackingRecHit const &rh)
 
virtual ConstRecHitContainer transientHits () const
 
Type type () const
 
virtual float weight () const
 
virtual ~TrackingRecHit ()
 

Private Attributes

bool aME11a_duplicate
 
double theChi2
 
AlgebraicSymMatrix theCovMatrix
 
std::vector< CSCRecHit2DtheCSCRecHits
 
std::vector< CSCSegmenttheDuplicateSegments
 
LocalVector theLocalDirection
 
LocalPoint theOrigin
 

Additional Inherited Members

- Public Types inherited from TrackingRecHit
typedef std::vector
< ConstRecHitPointer
ConstRecHitContainer
 
using ConstRecHitPointer = std::shared_ptr< TrackingRecHit const >
 
typedef unsigned int id_type
 
typedef std::vector
< ConstRecHitPointer
RecHitContainer
 
using RecHitPointer = std::shared_ptr< TrackingRecHit const >
 
enum  SharedInputType { all, some }
 definition of equality via shared input More...
 
enum  Type {
  valid = 0, missing = 1, inactive = 2, bad = 3,
  missing_inner = 4, missing_outer = 5
}
 
- Static Public Attributes inherited from TrackingRecHit
static const int rttiShift = 24
 
static const int typeMask = 0xf
 
- Protected Member Functions inherited from TrackingRecHit
void setId (id_type iid)
 
void setRTTI (unsigned int rt)
 
void setType (Type ttype)
 

Detailed Description

Describes a reconstructed track segment in the 6 layers of a CSC chamber. This is 4-dimensional since it has an origin (x,y) and a direction (x,y) in the local coordinate system of the chamber.

Author
Matteo Sani
Rick Wilkinson
Tim Cox

Definition at line 21 of file CSCSegment.h.

Constructor & Destructor Documentation

CSCSegment::CSCSegment ( )
inline

Default constructor.

Definition at line 26 of file CSCSegment.h.

Referenced by clone().

26 : theChi2(0.), aME11a_duplicate(false) {}
bool aME11a_duplicate
Definition: CSCSegment.h:98
double theChi2
Definition: CSCSegment.h:97
CSCSegment::CSCSegment ( const std::vector< const CSCRecHit2D * > &  proto_segment,
LocalPoint  origin,
LocalVector  direction,
const AlgebraicSymMatrix errors,
double  chi2 
)

Constructor.

Definition at line 18 of file CSCSegment.cc.

CSCSegment::~CSCSegment ( )
virtual

Destructor.

Definition at line 28 of file CSCSegment.cc.

Member Function Documentation

double CSCSegment::chi2 ( ) const
inlinevirtual

Chi2 of the segment fit.

Implements RecSegment.

Definition at line 57 of file CSCSegment.h.

References theChi2.

Referenced by MuonTrackCSCChamberResidual::setSegmentResidual().

57 { return theChi2; };
double theChi2
Definition: CSCSegment.h:97
CSCSegment* CSCSegment::clone ( void  ) const
inlinevirtual

Implements TrackingRecHit.

Definition at line 36 of file CSCSegment.h.

References CSCSegment().

36 { return new CSCSegment(*this); }
CSCSegment()
Default constructor.
Definition: CSCSegment.h:26
CSCDetId CSCSegment::cscDetId ( ) const
inline

Definition at line 69 of file CSCSegment.h.

References TrackingRecHit::geographicalId().

Referenced by FWCSCSegmentProxyBuilder::build(), and GEMCSCSegment::GEMCSCSegment().

69 { return geographicalId(); }
DetId geographicalId() const
virtual int CSCSegment::degreesOfFreedom ( ) const
inlinevirtual

Degrees of freedom of the segment fit.

Implements RecSegment.

Definition at line 61 of file CSCSegment.h.

References nRecHits().

Referenced by MuonTrackCSCChamberResidual::setSegmentResidual().

61 { return 2*nRecHits() - 4;}
int nRecHits() const
Definition: CSCSegment.h:67
virtual int CSCSegment::dimension ( ) const
inlinevirtual

Dimension (in parameter space)

Implements RecSegment.

Definition at line 59 of file CSCSegment.h.

59 { return 4; }
const std::vector< CSCSegment>& CSCSegment::duplicateSegments ( ) const
inline

Definition at line 75 of file CSCSegment.h.

References theDuplicateSegments.

75 { return theDuplicateSegments; }
std::vector< CSCSegment > theDuplicateSegments
Definition: CSCSegment.h:99
bool CSCSegment::isME11a_duplicate ( ) const
inline

Definition at line 73 of file CSCSegment.h.

References theDuplicateSegments.

73 { return (theDuplicateSegments.size() > 0 ? true : false); }
std::vector< CSCSegment > theDuplicateSegments
Definition: CSCSegment.h:99
LocalVector CSCSegment::localDirection ( ) const
inlinevirtual

Local direction.

Implements RecSegment.

Definition at line 41 of file CSCSegment.h.

References theLocalDirection.

Referenced by FWCSCSegmentProxyBuilder::build().

41 { return theLocalDirection; }
LocalVector theLocalDirection
Definition: CSCSegment.h:95
LocalError CSCSegment::localDirectionError ( ) const
virtual

Error on the local direction.

Implements RecSegment.

Definition at line 51 of file CSCSegment.cc.

LocalPoint CSCSegment::localPosition ( ) const
inlinevirtual

Implements TrackingRecHit.

Definition at line 38 of file CSCSegment.h.

References theOrigin.

Referenced by FWCSCSegmentProxyBuilder::build().

38 { return theOrigin; }
LocalPoint theOrigin
Definition: CSCSegment.h:94
LocalError CSCSegment::localPositionError ( ) const
virtual

Implements TrackingRecHit.

Definition at line 47 of file CSCSegment.cc.

int CSCSegment::nRecHits ( ) const
inline

Definition at line 67 of file CSCSegment.h.

References theCSCRecHits.

Referenced by degreesOfFreedom(), and MuonTrackCSCChamberResidual::setSegmentResidual().

67 { return theCSCRecHits.size(); }
std::vector< CSCRecHit2D > theCSCRecHits
Definition: CSCSegment.h:93
AlgebraicVector CSCSegment::parameters ( void  ) const
virtual

Parameters of the segment, for the track fit in the order (dx/dz, dy/dz, x, y )

Implements TrackingRecHit.

Definition at line 56 of file CSCSegment.cc.

Referenced by StateSegmentMatcher::StateSegmentMatcher().

AlgebraicSymMatrix CSCSegment::parametersError ( ) const
inlinevirtual

Covariance matrix of parameters()

Implements TrackingRecHit.

Definition at line 48 of file CSCSegment.h.

References theCovMatrix.

Referenced by StateSegmentMatcher::StateSegmentMatcher().

48 { return theCovMatrix; }
AlgebraicSymMatrix theCovMatrix
Definition: CSCSegment.h:96
void CSCSegment::print ( void  ) const

Definition at line 186 of file CSCSegment.cc.

AlgebraicMatrix CSCSegment::projectionMatrix ( ) const
virtual

The projection matrix relates the trajectory state parameters to the segment parameters().

Implements TrackingRecHit.

Definition at line 82 of file CSCSegment.cc.

std::vector< const TrackingRecHit * > CSCSegment::recHits ( ) const
virtual

Access to component RecHits (if any)

Implements TrackingRecHit.

Definition at line 30 of file CSCSegment.cc.

std::vector< TrackingRecHit * > CSCSegment::recHits ( )
virtual

Non-const access to component RecHits (if any)

Implements TrackingRecHit.

Definition at line 38 of file CSCSegment.cc.

void CSCSegment::setDuplicateSegments ( std::vector< CSCSegment * > &  duplicates)

Definition at line 86 of file CSCSegment.cc.

bool CSCSegment::sharesRecHits ( const CSCSegment anotherSegment,
CSCRecHit2D::SharedInputType  sharesInput 
) const

Definition at line 133 of file CSCSegment.cc.

bool CSCSegment::sharesRecHits ( const CSCSegment anotherSegment) const

Definition at line 138 of file CSCSegment.cc.

const std::vector<CSCRecHit2D>& CSCSegment::specificRecHits ( ) const
inline

Definition at line 65 of file CSCSegment.h.

References theCSCRecHits.

Referenced by GEMCSCSegment::cscRecHits(), GEMCSCSegment::GEMCSCSegment(), GEMCSCSegment::nRecHits(), and GEMCSCSegment::recHits().

65 { return theCSCRecHits; }
std::vector< CSCRecHit2D > theCSCRecHits
Definition: CSCSegment.h:93
bool CSCSegment::testSharesAllInSpecificRecHits ( const std::vector< CSCRecHit2D > &  specificRecHits_1,
const std::vector< CSCRecHit2D > &  specificRecHits_2,
CSCRecHit2D::SharedInputType  sharesInput 
) const

Definition at line 95 of file CSCSegment.cc.

float CSCSegment::time ( ) const

Definition at line 149 of file CSCSegment.cc.

Member Data Documentation

bool CSCSegment::aME11a_duplicate
private

Definition at line 98 of file CSCSegment.h.

double CSCSegment::theChi2
private

Definition at line 97 of file CSCSegment.h.

Referenced by chi2().

AlgebraicSymMatrix CSCSegment::theCovMatrix
private

Definition at line 96 of file CSCSegment.h.

Referenced by parametersError().

std::vector<CSCRecHit2D> CSCSegment::theCSCRecHits
private

Definition at line 93 of file CSCSegment.h.

Referenced by nRecHits(), and specificRecHits().

std::vector<CSCSegment> CSCSegment::theDuplicateSegments
private

Definition at line 99 of file CSCSegment.h.

Referenced by duplicateSegments(), and isME11a_duplicate().

LocalVector CSCSegment::theLocalDirection
private

Definition at line 95 of file CSCSegment.h.

Referenced by localDirection().

LocalPoint CSCSegment::theOrigin
private

Definition at line 94 of file CSCSegment.h.

Referenced by localPosition().