CMS 3D CMS Logo

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

#include <DTSegmentCand.h>

Inheritance diagram for DTSegmentCand:
DTSegmentExtendedCand

Classes

struct  AssPointLessZ
 

Public Types

typedef std::pair
< std::shared_ptr
< DTHitPairForFit >
, DTEnums::DTCellSide
AssPoint
 
typedef std::set< AssPoint,
AssPointLessZ
AssPointCont
 

Public Member Functions

virtual void add (AssPoint newHit)
 add hits to the hit list. More...
 
virtual void add (std::shared_ptr< DTHitPairForFit > hit, DTEnums::DTCellSide code)
 
virtual double chi2 () const
 the chi2 (NOT chi2/NDOF) of the fit More...
 
virtual double chi2ndof () const
 the chi2/NDOF of the fit More...
 
virtual AssPointCont conflictingHitPairs (const DTSegmentCand &seg) const
 
virtual AlgebraicSymMatrix covMatrix () const
 the covariance matrix More...
 
virtual LocalVector direction () const
 
 DTSegmentCand (AssPointCont &hits, const DTSuperLayer *sl)
 Constructor. More...
 
 DTSegmentCand (const AssPointCont &hits, LocalPoint &position, LocalVector &direction, double chi2, const AlgebraicSymMatrix &covMat, const DTSuperLayer *sl)
 
virtual bool good () const
 
virtual const AssPointConthits () const
 the used hits More...
 
virtual bool hitsShareLayer () const
 
virtual unsigned int NDOF () const
 
virtual unsigned int nHits () const
 
virtual int nLayers () const
 number of different layers with hits More...
 
virtual int nSharedHitPairs (const DTSegmentCand &seg) const
 number of shared hit pair with other segment candidate More...
 
 operator DTChamberRecSegment2D * () const
 convert this DTSegmentCand into a DTChamberRecSegment2D More...
 
 operator DTSLRecSegment2D * () const
 convert this DTSegmentCand into a DTRecSegment2D More...
 
virtual bool operator< (const DTSegmentCand &seg)
 less operator based on nHits and chi2 More...
 
virtual bool operator== (const DTSegmentCand &seg)
 equality operator based on position, direction, chi2 and nHits More...
 
virtual LocalPoint position () const
 
virtual void removeHit (AssPoint hit)
 remove hit from the candidate More...
 
virtual void setChi2 (double &chi2)
 set chi2 More...
 
virtual void setCovMatrix (AlgebraicSymMatrix &cov)
 set the cov matrix More...
 
virtual void setDirection (LocalVector &dir)
 set direction More...
 
virtual void setPosition (LocalPoint &pos)
 set position More...
 
virtual void sett0 (double &t0)
 set t0 More...
 
const DTSuperLayersuperLayer () const
 the super layer on which relies More...
 
virtual double t0 () const
 the t0 of the segment More...
 
virtual ~DTSegmentCand ()
 Destructor. More...
 

Static Protected Attributes

static const double chi2max =20.
 
static const unsigned int nHitsMin =3
 

Private Attributes

double theChi2
 
AlgebraicSymMatrix theCovMatrix
 
LocalVector theDirection
 
AssPointCont theHits
 
LocalPoint thePosition
 
const DTSuperLayertheSL
 
double thet0
 

Detailed Description

A Candidate for a DT segment. It's used by the algorithm to build segments and store relative information. It must be transformed into a DTSegment for further use.

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 35 of file DTSegmentCand.h.

Member Typedef Documentation

typedef std::pair<std::shared_ptr<DTHitPairForFit>, DTEnums::DTCellSide> DTSegmentCand::AssPoint

Definition at line 38 of file DTSegmentCand.h.

Definition at line 40 of file DTSegmentCand.h.

Constructor & Destructor Documentation

DTSegmentCand::DTSegmentCand ( AssPointCont hits,
const DTSuperLayer sl 
)

Constructor.

Definition at line 23 of file DTSegmentCand.cc.

DTSegmentCand::DTSegmentCand ( const AssPointCont hits,
LocalPoint position,
LocalVector direction,
double  chi2,
const AlgebraicSymMatrix covMat,
const DTSuperLayer sl 
)

Definition at line 28 of file DTSegmentCand.cc.

DTSegmentCand::~DTSegmentCand ( )
virtual

Destructor.

Definition at line 39 of file DTSegmentCand.cc.

Member Function Documentation

void DTSegmentCand::add ( AssPoint  newHit)
virtual

add hits to the hit list.

Definition at line 61 of file DTSegmentCand.cc.

Referenced by counter.Counter::register().

void DTSegmentCand::add ( std::shared_ptr< DTHitPairForFit hit,
DTEnums::DTCellSide  code 
)
virtual

Definition at line 65 of file DTSegmentCand.cc.

Referenced by counter.Counter::register().

virtual double DTSegmentCand::chi2 ( void  ) const
inlinevirtual

the chi2 (NOT chi2/NDOF) of the fit

Definition at line 64 of file DTSegmentCand.h.

References theChi2.

Referenced by setChi2().

64 { return theChi2; }
virtual double DTSegmentCand::chi2ndof ( ) const
inlinevirtual

the chi2/NDOF of the fit

Definition at line 67 of file DTSegmentCand.h.

References nHits(), and theChi2.

67 { return theChi2/(nHits()-2.); }
virtual unsigned int nHits() const
Definition: DTSegmentCand.h:61
DTSegmentCand::AssPointCont DTSegmentCand::conflictingHitPairs ( const DTSegmentCand seg) const
virtual

return the hits shared with other segment and with confliction L/R assignment

Definition at line 92 of file DTSegmentCand.cc.

virtual AlgebraicSymMatrix DTSegmentCand::covMatrix ( ) const
inlinevirtual

the covariance matrix

Definition at line 88 of file DTSegmentCand.h.

References theCovMatrix.

88 {return theCovMatrix; }
AlgebraicSymMatrix theCovMatrix
virtual LocalVector DTSegmentCand::direction ( ) const
inlinevirtual

Definition at line 85 of file DTSegmentCand.h.

References theDirection.

85 { return theDirection;}
LocalVector theDirection
bool DTSegmentCand::good ( ) const
virtual

Reimplemented in DTSegmentExtendedCand.

Definition at line 112 of file DTSegmentCand.cc.

virtual const AssPointCont& DTSegmentCand::hits ( void  ) const
inlinevirtual

the used hits

Definition at line 125 of file DTSegmentCand.h.

References theHits.

125 { return theHits;}
AssPointCont theHits
bool DTSegmentCand::hitsShareLayer ( ) const
virtual

Definition at line 123 of file DTSegmentCand.cc.

virtual unsigned int DTSegmentCand::NDOF ( ) const
inlinevirtual

Definition at line 90 of file DTSegmentCand.h.

References nHits().

90 { return nHits()-2; }
virtual unsigned int nHits() const
Definition: DTSegmentCand.h:61
virtual unsigned int DTSegmentCand::nHits ( void  ) const
inlinevirtual

Reimplemented in DTSegmentExtendedCand.

Definition at line 61 of file DTSegmentCand.h.

References theHits.

Referenced by chi2ndof(), DTSegmentExtendedCand::good(), NDOF(), and DTSegmentExtendedCand::nHits().

61 { return theHits.size(); }
AssPointCont theHits
int DTSegmentCand::nLayers ( ) const
virtual

number of different layers with hits

Definition at line 146 of file DTSegmentCand.cc.

int DTSegmentCand::nSharedHitPairs ( const DTSegmentCand seg) const
virtual

number of shared hit pair with other segment candidate

Definition at line 74 of file DTSegmentCand.cc.

DTSegmentCand::operator DTChamberRecSegment2D * ( ) const

convert this DTSegmentCand into a DTChamberRecSegment2D

Definition at line 181 of file DTSegmentCand.cc.

DTSegmentCand::operator DTSLRecSegment2D * ( ) const

convert this DTSegmentCand into a DTRecSegment2D

Definition at line 151 of file DTSegmentCand.cc.

bool DTSegmentCand::operator< ( const DTSegmentCand seg)
virtual

less operator based on nHits and chi2

Definition at line 56 of file DTSegmentCand.cc.

bool DTSegmentCand::operator== ( const DTSegmentCand seg)
virtual

equality operator based on position, direction, chi2 and nHits

Definition at line 43 of file DTSegmentCand.cc.

virtual LocalPoint DTSegmentCand::position ( ) const
inlinevirtual

Definition at line 82 of file DTSegmentCand.h.

References thePosition.

82 { return thePosition; }
LocalPoint thePosition
void DTSegmentCand::removeHit ( AssPoint  hit)
virtual

remove hit from the candidate

Definition at line 70 of file DTSegmentCand.cc.

virtual void DTSegmentCand::setChi2 ( double &  chi2)
inlinevirtual

set chi2

Definition at line 106 of file DTSegmentCand.h.

References chi2(), and theChi2.

106 { theChi2 = chi2; }
virtual double chi2() const
the chi2 (NOT chi2/NDOF) of the fit
Definition: DTSegmentCand.h:64
virtual void DTSegmentCand::setCovMatrix ( AlgebraicSymMatrix cov)
inlinevirtual

set the cov matrix

Definition at line 119 of file DTSegmentCand.h.

References theCovMatrix.

119 { theCovMatrix = cov; }
AlgebraicSymMatrix theCovMatrix
virtual void DTSegmentCand::setDirection ( LocalVector dir)
inlinevirtual

set direction

Definition at line 96 of file DTSegmentCand.h.

References dir, and theDirection.

96 { theDirection = dir; }
LocalVector theDirection
dbl *** dir
Definition: mlp_gen.cc:35
virtual void DTSegmentCand::setPosition ( LocalPoint pos)
inlinevirtual

set position

Definition at line 93 of file DTSegmentCand.h.

References thePosition.

93 { thePosition=pos; }
LocalPoint thePosition
virtual void DTSegmentCand::sett0 ( double &  t0)
inlinevirtual

set t0

Definition at line 109 of file DTSegmentCand.h.

References t0(), and thet0.

109 { thet0 = t0; }
virtual double t0() const
the t0 of the segment
Definition: DTSegmentCand.h:70
const DTSuperLayer* DTSegmentCand::superLayer ( ) const
inline

the super layer on which relies

Definition at line 79 of file DTSegmentCand.h.

References theSL.

79 {return theSL;}
const DTSuperLayer * theSL
virtual double DTSegmentCand::t0 ( ) const
inlinevirtual

the t0 of the segment

Definition at line 70 of file DTSegmentCand.h.

References thet0.

Referenced by sett0().

70 { return thet0; }

Member Data Documentation

const double DTSegmentCand::chi2max =20.
staticprotected

Definition at line 157 of file DTSegmentCand.h.

const unsigned int DTSegmentCand::nHitsMin =3
staticprotected

Definition at line 158 of file DTSegmentCand.h.

double DTSegmentCand::theChi2
private

Definition at line 146 of file DTSegmentCand.h.

Referenced by chi2(), chi2ndof(), and setChi2().

AlgebraicSymMatrix DTSegmentCand::theCovMatrix
private

mat[1][1]=sigma (dx/dz) mat[2][2]=sigma (x) mat[1][2]=cov(dx/dz,x)

Definition at line 152 of file DTSegmentCand.h.

Referenced by covMatrix(), and setCovMatrix().

LocalVector DTSegmentCand::theDirection
private

Definition at line 145 of file DTSegmentCand.h.

Referenced by direction(), and setDirection().

AssPointCont DTSegmentCand::theHits
private

Definition at line 154 of file DTSegmentCand.h.

Referenced by hits(), and nHits().

LocalPoint DTSegmentCand::thePosition
private

Definition at line 144 of file DTSegmentCand.h.

Referenced by position(), and setPosition().

const DTSuperLayer* DTSegmentCand::theSL
private

Definition at line 143 of file DTSegmentCand.h.

Referenced by superLayer().

double DTSegmentCand::thet0
private

Definition at line 147 of file DTSegmentCand.h.

Referenced by sett0(), and t0().