CMS 3D CMS Logo

List of all members | Classes | Public Member Functions | Private Attributes
DTSegmentExtendedCand Class Reference

#include <DTSegmentExtendedCand.h>

Inheritance diagram for DTSegmentExtendedCand:
DTSegmentCand

Classes

struct  DTSLRecClusterForFit
 

Public Member Functions

void addClus (const DTSegmentExtendedCand::DTSLRecClusterForFit &clus)
 
std::vector< DTSegmentExtendedCand::DTSLRecClusterForFitclusters () const
 
 DTSegmentExtendedCand (DTSegmentCand *cand)
 
bool good () const override
 
bool isCompatible (const DTSegmentExtendedCand::DTSLRecClusterForFit &clus)
 
unsigned int nHits () const override
 
 ~DTSegmentExtendedCand () override
 
- Public Member Functions inherited from DTSegmentCand
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 const AssPointConthits () const
 the used hits More...
 
virtual bool hitsShareLayer () const
 
virtual unsigned int NDOF () 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...
 

Private Attributes

std::vector< DTSLRecClusterForFittheClus
 

Additional Inherited Members

- Public Types inherited from DTSegmentCand
typedef std::pair< std::shared_ptr< DTHitPairForFit >, DTEnums::DTCellSideAssPoint
 
typedef std::set< AssPoint, AssPointLessZAssPointCont
 
- Static Protected Attributes inherited from DTSegmentCand
static const double chi2max = 20.
 
static const unsigned int nHitsMin = 3
 

Detailed Description

Description:

detailed description

Author
: Stefano Lacaprara - INFN LNL stefa.nosp@m.no.l.nosp@m.acapr.nosp@m.ara@.nosp@m.pd.in.nosp@m.fn.i.nosp@m.t

Modification:

Definition at line 29 of file DTSegmentExtendedCand.h.

Constructor & Destructor Documentation

◆ DTSegmentExtendedCand()

DTSegmentExtendedCand::DTSegmentExtendedCand ( DTSegmentCand cand)
inline

Definition at line 34 of file DTSegmentExtendedCand.h.

34 : DTSegmentCand(*cand), theClus(std::vector<DTSLRecClusterForFit>()) {}

◆ ~DTSegmentExtendedCand()

DTSegmentExtendedCand::~DTSegmentExtendedCand ( )
inlineoverride

Definition at line 37 of file DTSegmentExtendedCand.h.

37 {}

Member Function Documentation

◆ addClus()

void DTSegmentExtendedCand::addClus ( const DTSegmentExtendedCand::DTSLRecClusterForFit clus)
inline

Definition at line 40 of file DTSegmentExtendedCand.h.

40 { theClus.push_back(clus); }

References theClus.

Referenced by DTCombinatorialExtendedPatternReco::extendCandidates().

◆ clusters()

std::vector<DTSegmentExtendedCand::DTSLRecClusterForFit> DTSegmentExtendedCand::clusters ( ) const
inline

Definition at line 42 of file DTSegmentExtendedCand.h.

42 { return theClus; }

References theClus.

◆ good()

bool DTSegmentExtendedCand::good ( ) const
overridevirtual

Reimplemented from DTSegmentCand.

Definition at line 40 of file DTSegmentExtendedCand.cc.

40  {
41  if (superLayer()->id().superLayer() == 2)
42  return DTSegmentCand::nHits() >= nHitsMin && chi2() / NDOF() < chi2max * 2.;
43  return DTSegmentCand::nHits() >= nHitsMin && chi2() / NDOF() < chi2max;
44 }

References hltPixelTracks_cff::chi2, gpuVertexFinder::chi2max, and DTSegmentCand::nHits().

Referenced by DTCombinatorialExtendedPatternReco::buildSegments().

◆ isCompatible()

bool DTSegmentExtendedCand::isCompatible ( const DTSegmentExtendedCand::DTSLRecClusterForFit clus)

Definition at line 29 of file DTSegmentExtendedCand.cc.

29  {
30  LocalPoint posAtSL = position() + direction() * (clus.pos.z() - position().z()) / cos(direction().theta());
31  // cout << "pos :" << clus.pos << " posAtSL " << posAtSL << endl;
32  static constexpr float errScaleFact = 10.;
33  static constexpr float minError = 25.; // (cm)
34  // cout << "clus.err.xx() " << clus.err << endl;
35  return std::abs((posAtSL - clus.pos).x()) < max(errScaleFact * sqrt(clus.err.xx()), minError);
36 }

References funct::abs(), funct::cos(), DTSegmentExtendedCand::DTSLRecClusterForFit::err, SiStripPI::max, DTSegmentExtendedCand::DTSLRecClusterForFit::pos, position, mathSSE::sqrt(), LocalError::xx(), and PV3DBase< T, PVType, FrameType >::z().

Referenced by DTCombinatorialExtendedPatternReco::extendCandidates().

◆ nHits()

unsigned int DTSegmentExtendedCand::nHits ( void  ) const
overridevirtual

Reimplemented from DTSegmentCand.

Definition at line 38 of file DTSegmentExtendedCand.cc.

38 { return DTSegmentCand::nHits() + theClus.size(); }

References DTSegmentCand::nHits().

Referenced by DTCombinatorialExtendedPatternReco::extendCandidates().

Member Data Documentation

◆ theClus

std::vector<DTSLRecClusterForFit> DTSegmentExtendedCand::theClus
private

Definition at line 62 of file DTSegmentExtendedCand.h.

Referenced by addClus(), and clusters().

PV3DBase::theta
Geom::Theta< T > theta() const
Definition: PV3DBase.h:72
DTSegmentCand::direction
virtual LocalVector direction() const
Definition: DTSegmentCand.h:82
DTSegmentCand::nHits
virtual unsigned int nHits() const
Definition: DTSegmentCand.h:58
PV3DBase::z
T z() const
Definition: PV3DBase.h:61
DTSegmentCand::NDOF
virtual unsigned int NDOF() const
Definition: DTSegmentCand.h:87
DTSegmentCand::chi2max
static const double chi2max
Definition: DTSegmentCand.h:151
funct::cos
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
DTSegmentCand::superLayer
const DTSuperLayer * superLayer() const
the super layer on which relies
Definition: DTSegmentCand.h:76
LocalError::xx
float xx() const
Definition: LocalError.h:22
DTSegmentCand::position
virtual LocalPoint position() const
Definition: DTSegmentCand.h:79
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
DTSegmentCand::chi2
virtual double chi2() const
the chi2 (NOT chi2/NDOF) of the fit
Definition: DTSegmentCand.h:61
Point3DBase< float, LocalTag >
SiStripPI::max
Definition: SiStripPayloadInspectorHelper.h:169
DTSegmentExtendedCand::theClus
std::vector< DTSLRecClusterForFit > theClus
Definition: DTSegmentExtendedCand.h:62
cand
Definition: decayParser.h:32
DTSegmentCand::nHitsMin
static const unsigned int nHitsMin
Definition: DTSegmentCand.h:152
DTSegmentCand::DTSegmentCand
DTSegmentCand(AssPointCont &hits, const DTSuperLayer *sl)
Constructor.
Definition: DTSegmentCand.cc:23
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
DTSegmentExtendedCand::DTSLRecClusterForFit::pos
LocalPoint pos
Definition: DTSegmentExtendedCand.h:56
DTSegmentExtendedCand::DTSLRecClusterForFit::err
LocalError err
Definition: DTSegmentExtendedCand.h:57