CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Attributes
TrackingRegion Class Referenceabstract

#include <TrackingRegion.h>

Inheritance diagram for TrackingRegion:
CosmicTrackingRegion GlobalTrackingRegion RectangularEtaPhiTrackingRegion

Public Types

typedef SeedingLayerSetsHits::ConstRecHitPointer Hit
 
typedef SeedingLayerSetsHits::Hits Hits
 
typedef PixelRecoRange< float > Range
 

Public Member Functions

virtual std::unique_ptr< HitRZCompatibilitycheckRZ (const DetLayer *layer, const Hit &outerHit, const DetLayer *outerlayer=nullptr, float lr=0, float gz=0, float dr=0, float dz=0) const =0
 
virtual void checkTracks (reco::TrackCollection const &tracks, std::vector< bool > &mask) const =0
 
std::vector< bool > checkTracks (reco::TrackCollection const &tracks) const
 return a boolean mask over the TrackCollection reflecting the compatibility of each track with the region constraints More...
 
virtual std::unique_ptr< TrackingRegionclone () const =0
 
GlobalVector const & direction () const
 the direction around which region is constructed More...
 
virtual Hits hits (const SeedingLayerSetsHits::SeedingLayer &layer) const =0
 get hits from layer compatible with region constraints More...
 
Range invPtRange () const
 inverse pt range More...
 
virtual std::string name () const
 
GlobalPoint const & origin () const
 
float originRBound () const
 bounds the particle vertex in the transverse plane More...
 
float originZBound () const
 bounds the particle vertex in the longitudinal plane More...
 
float phiDirection () const
 
virtual std::string print () const
 
float ptMin () const
 minimal pt of interest More...
 
std::unique_ptr< TrackingRegionrestrictedRegion (const GlobalPoint &originPos, const float &originRBound, const float &originZBound) const
 clone region with new vertex position More...
 
 TrackingRegion ()
 
 TrackingRegion (const GlobalVector &direction, const GlobalPoint &originPos, const Range &invPtRange, const float &originRBound, const float &originZBound)
 
GlobalVector const & unitDirection () const
 
virtual ~TrackingRegion ()
 

Private Attributes

GlobalVector theDirection
 
Range theInvPtRange
 
float thePhi
 
float thePtMin
 
GlobalVector theUnitDirection
 
GlobalPoint theVertexPos
 
float theVertexRBound
 
float theVertexZBound
 

Detailed Description

kinematic data common to some concreate implementations of TrackingRegion.

Definition at line 40 of file TrackingRegion.h.

Member Typedef Documentation

◆ Hit

Definition at line 45 of file TrackingRegion.h.

◆ Hits

Definition at line 46 of file TrackingRegion.h.

◆ Range

Definition at line 44 of file TrackingRegion.h.

Constructor & Destructor Documentation

◆ ~TrackingRegion()

virtual TrackingRegion::~TrackingRegion ( )
inlinevirtual

Definition at line 43 of file TrackingRegion.h.

43 {}

◆ TrackingRegion() [1/2]

TrackingRegion::TrackingRegion ( )
inline

Definition at line 49 of file TrackingRegion.h.

49 {}

◆ TrackingRegion() [2/2]

TrackingRegion::TrackingRegion ( const GlobalVector direction,
const GlobalPoint originPos,
const Range invPtRange,
const float &  originRBound,
const float &  originZBound 
)
inline

Definition at line 51 of file TrackingRegion.h.

58  theVertexPos(originPos),
GlobalVector theUnitDirection
GlobalVector theDirection
T barePhi() const
Definition: PV3DBase.h:65
GlobalPoint theVertexPos
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
double f[11][100]
float originRBound() const
bounds the particle vertex in the transverse plane
Range invPtRange() const
inverse pt range
GlobalVector const & direction() const
the direction around which region is constructed
float originZBound() const
bounds the particle vertex in the longitudinal plane
Vector3DBase unit() const
Definition: Vector3DBase.h:54

Member Function Documentation

◆ checkRZ()

virtual std::unique_ptr<HitRZCompatibility> TrackingRegion::checkRZ ( const DetLayer layer,
const Hit outerHit,
const DetLayer outerlayer = nullptr,
float  lr = 0,
float  gz = 0,
float  dr = 0,
float  dz = 0 
) const
pure virtual

utility to check eta/theta hit compatibility with region constraints and outer hit constraint

Implemented in RectangularEtaPhiTrackingRegion, CosmicTrackingRegion, and GlobalTrackingRegion.

◆ checkTracks() [1/2]

virtual void TrackingRegion::checkTracks ( reco::TrackCollection const &  tracks,
std::vector< bool > &  mask 
) const
pure virtual

Set the elements of the mask corresponding to the tracks that are compatable with the region. Does not reset the elements corresponding to the tracks that are not compatible.

Implemented in RectangularEtaPhiTrackingRegion, CosmicTrackingRegion, and GlobalTrackingRegion.

Referenced by checkTracks().

◆ checkTracks() [2/2]

std::vector<bool> TrackingRegion::checkTracks ( reco::TrackCollection const &  tracks) const
inline

return a boolean mask over the TrackCollection reflecting the compatibility of each track with the region constraints

Definition at line 107 of file TrackingRegion.h.

References checkTracks(), and tracks.

107  {
108  std::vector<bool> region_mask(tracks.size(), false);
109  checkTracks(tracks, region_mask);
110  return region_mask;
111  }
auto const & tracks
cannot be loose
virtual void checkTracks(reco::TrackCollection const &tracks, std::vector< bool > &mask) const =0

◆ clone()

virtual std::unique_ptr<TrackingRegion> TrackingRegion::clone ( ) const
pure virtual

◆ direction()

GlobalVector const& TrackingRegion::direction ( ) const
inline

the direction around which region is constructed

Definition at line 66 of file TrackingRegion.h.

References theDirection.

Referenced by GlobalTrajectoryBuilderBase::chooseRegionalTrackerTracks(), CosmicSeedCreator::makeSeed(), and SeedFromConsecutiveHitsCreator::makeSeed().

66 { return theDirection; }
GlobalVector theDirection

◆ hits()

virtual Hits TrackingRegion::hits ( const SeedingLayerSetsHits::SeedingLayer layer) const
pure virtual

get hits from layer compatible with region constraints

Implemented in RectangularEtaPhiTrackingRegion, CosmicTrackingRegion, and GlobalTrackingRegion.

◆ invPtRange()

Range TrackingRegion::invPtRange ( ) const
inline

inverse pt range

Definition at line 87 of file TrackingRegion.h.

References theInvPtRange.

87 { return theInvPtRange; }

◆ name()

virtual std::string TrackingRegion::name ( void  ) const
inlinevirtual

Reimplemented in RectangularEtaPhiTrackingRegion, CosmicTrackingRegion, and GlobalTrackingRegion.

Definition at line 125 of file TrackingRegion.h.

Referenced by config.CFG::__str__(), validation.Sample::digest(), and print().

125 { return "TrackingRegion"; }

◆ origin()

GlobalPoint const& TrackingRegion::origin ( ) const
inline

The origin (centre,vertex) of the region.
The origin with bounds is ment to constraint point of the
closest approach of the track to the beam line

Definition at line 75 of file TrackingRegion.h.

References theVertexPos.

Referenced by SeedFromConsecutiveHitsStraightLineCreator::initialKinematic(), SeedFromConsecutiveHitsTripletOnlyCreator::initialKinematic(), SeedFromConsecutiveHitsCreator::initialKinematic(), SeedFromConsecutiveHitsCreator::makeSeed(), and SeedFinderSelector::pass().

75 { return theVertexPos; }
GlobalPoint theVertexPos

◆ originRBound()

float TrackingRegion::originRBound ( ) const
inline

bounds the particle vertex in the transverse plane

Definition at line 78 of file TrackingRegion.h.

References theVertexRBound.

Referenced by SeedFromConsecutiveHitsCreator::initialError(), SeedFromConsecutiveHitsCreator::makeSeed(), and restrictedRegion().

78 { return theVertexRBound; }

◆ originZBound()

float TrackingRegion::originZBound ( ) const
inline

bounds the particle vertex in the longitudinal plane

Definition at line 81 of file TrackingRegion.h.

References theVertexZBound.

Referenced by SeedFromConsecutiveHitsCreator::initialError(), SeedFromConsecutiveHitsCreator::makeSeed(), and restrictedRegion().

81 { return theVertexZBound; }

◆ phiDirection()

float TrackingRegion::phiDirection ( ) const
inline

Definition at line 69 of file TrackingRegion.h.

References thePhi.

69 { return thePhi; }

◆ print()

virtual std::string TrackingRegion::print ( void  ) const
inlinevirtual

Reimplemented in RectangularEtaPhiTrackingRegion, and GlobalTrackingRegion.

Definition at line 126 of file TrackingRegion.h.

References PixelRecoRange< T >::max(), name(), str, theDirection, theInvPtRange, theVertexPos, theVertexRBound, and theVertexZBound.

Referenced by GlobalTrackingRegion::print(), and RectangularEtaPhiTrackingRegion::print().

126  {
127  std::ostringstream str;
128  str << name() << " dir:" << theDirection << " vtx:" << theVertexPos << " dr:" << theVertexRBound
129  << " dz:" << theVertexZBound << " pt:" << 1. / theInvPtRange.max();
130  return str.str();
131  }
GlobalVector theDirection
GlobalPoint theVertexPos
virtual std::string name() const
#define str(s)

◆ ptMin()

float TrackingRegion::ptMin ( ) const
inline

◆ restrictedRegion()

std::unique_ptr<TrackingRegion> TrackingRegion::restrictedRegion ( const GlobalPoint originPos,
const float &  originRBound,
const float &  originZBound 
) const
inline

clone region with new vertex position

Definition at line 113 of file TrackingRegion.h.

References clone(), originRBound(), and originZBound().

115  {
116  auto restr = clone();
117  restr->theVertexPos = originPos;
118  restr->theVertexRBound = originRBound;
119  restr->theVertexZBound = originZBound;
120  return restr;
121  }
virtual std::unique_ptr< TrackingRegion > clone() const =0
float originRBound() const
bounds the particle vertex in the transverse plane
float originZBound() const
bounds the particle vertex in the longitudinal plane

◆ unitDirection()

GlobalVector const& TrackingRegion::unitDirection ( ) const
inline

Definition at line 67 of file TrackingRegion.h.

References theUnitDirection.

67 { return theUnitDirection; }
GlobalVector theUnitDirection

Member Data Documentation

◆ theDirection

GlobalVector TrackingRegion::theDirection
private

Definition at line 136 of file TrackingRegion.h.

Referenced by direction(), and print().

◆ theInvPtRange

Range TrackingRegion::theInvPtRange
private

Definition at line 139 of file TrackingRegion.h.

Referenced by invPtRange(), and print().

◆ thePhi

float TrackingRegion::thePhi
private

Definition at line 140 of file TrackingRegion.h.

Referenced by phiDirection().

◆ thePtMin

float TrackingRegion::thePtMin
private

Definition at line 141 of file TrackingRegion.h.

Referenced by ptMin().

◆ theUnitDirection

GlobalVector TrackingRegion::theUnitDirection
private

Definition at line 137 of file TrackingRegion.h.

Referenced by unitDirection().

◆ theVertexPos

GlobalPoint TrackingRegion::theVertexPos
private

Definition at line 138 of file TrackingRegion.h.

Referenced by origin(), and print().

◆ theVertexRBound

float TrackingRegion::theVertexRBound
private

Definition at line 142 of file TrackingRegion.h.

Referenced by originRBound(), and print().

◆ theVertexZBound

float TrackingRegion::theVertexZBound
private

Definition at line 143 of file TrackingRegion.h.

Referenced by originZBound(), and print().