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 edm::EventSetup &iSetup, const DetLayer *outerlayer=nullptr, float lr=0, float gz=0, float dr=0, float dz=0) 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 void checkTracks (reco::TrackCollection const &tracks, std::vector< bool > &mask) const =0
 
virtual std::unique_ptr< TrackingRegionclone () const =0
 
GlobalVector const & direction () const
 the direction around which region is constructed More...
 
virtual Hits hits (const edm::EventSetup &es, 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 (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 41 of file TrackingRegion.h.

Member Typedef Documentation

◆ Hit

Definition at line 46 of file TrackingRegion.h.

◆ Hits

Definition at line 47 of file TrackingRegion.h.

◆ Range

Definition at line 45 of file TrackingRegion.h.

Constructor & Destructor Documentation

◆ ~TrackingRegion()

virtual TrackingRegion::~TrackingRegion ( )
inlinevirtual

Definition at line 44 of file TrackingRegion.h.

44 {}

◆ TrackingRegion()

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

Member Function Documentation

◆ checkRZ()

virtual std::unique_ptr<HitRZCompatibility> TrackingRegion::checkRZ ( const DetLayer layer,
const Hit outerHit,
const edm::EventSetup iSetup,
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]

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.

107  {
108  std::vector<bool> region_mask(tracks.size(), false);
109  checkTracks(tracks, region_mask);
110  return region_mask;
111  }

References checkTracks(), and tracks.

◆ checkTracks() [2/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().

◆ 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 65 of file TrackingRegion.h.

65 { return theDirection; }

References theDirection.

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

◆ hits()

virtual Hits TrackingRegion::hits ( const edm::EventSetup es,
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 86 of file TrackingRegion.h.

86 { return theInvPtRange; }

References theInvPtRange.

◆ name()

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

Reimplemented in RectangularEtaPhiTrackingRegion, CosmicTrackingRegion, and GlobalTrackingRegion.

Definition at line 125 of file TrackingRegion.h.

125 { return "TrackingRegion"; }

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

◆ 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 74 of file TrackingRegion.h.

74 { return theVertexPos; }

References theVertexPos.

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

◆ originRBound()

float TrackingRegion::originRBound ( ) const
inline

bounds the particle vertex in the transverse plane

Definition at line 77 of file TrackingRegion.h.

77 { return theVertexRBound; }

References theVertexRBound.

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

◆ originZBound()

float TrackingRegion::originZBound ( ) const
inline

bounds the particle vertex in the longitudinal plane

Definition at line 80 of file TrackingRegion.h.

80 { return theVertexZBound; }

References theVertexZBound.

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

◆ phiDirection()

float TrackingRegion::phiDirection ( ) const
inline

Definition at line 68 of file TrackingRegion.h.

68 { return thePhi; }

References thePhi.

◆ print()

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

Reimplemented in RectangularEtaPhiTrackingRegion, and GlobalTrackingRegion.

Definition at line 126 of file TrackingRegion.h.

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  }

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

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

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

115  {
116  auto restr = clone();
117  restr->theVertexPos = originPos;
118  restr->theVertexRBound = originRBound;
119  restr->theVertexZBound = originZBound;
120  return restr;
121  }

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

◆ unitDirection()

GlobalVector const& TrackingRegion::unitDirection ( ) const
inline

Definition at line 66 of file TrackingRegion.h.

66 { return theUnitDirection; }

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

TrackingRegion::invPtRange
Range invPtRange() const
inverse pt range
Definition: TrackingRegion.h:86
f
double f[11][100]
Definition: MuScleFitUtils.cc:78
TrackingRegion::theInvPtRange
Range theInvPtRange
Definition: TrackingRegion.h:139
TrackingRegion::theVertexZBound
float theVertexZBound
Definition: TrackingRegion.h:143
TrackingRegion::theDirection
GlobalVector theDirection
Definition: TrackingRegion.h:136
TrackingRegion::checkTracks
virtual void checkTracks(reco::TrackCollection const &tracks, std::vector< bool > &mask) const =0
PixelRecoRange::min
T min() const
Definition: PixelRecoRange.h:25
TrackingRegion::thePtMin
float thePtMin
Definition: TrackingRegion.h:141
Vector3DBase::unit
Vector3DBase unit() const
Definition: Vector3DBase.h:54
TrackingRegion::thePhi
float thePhi
Definition: TrackingRegion.h:140
TrackingRegion::theUnitDirection
GlobalVector theUnitDirection
Definition: TrackingRegion.h:137
PixelRecoRange::max
T max() const
Definition: PixelRecoRange.h:26
str
#define str(s)
Definition: TestProcessor.cc:52
TrackingRegion::originRBound
float originRBound() const
bounds the particle vertex in the transverse plane
Definition: TrackingRegion.h:77
TrackingRegion::theVertexRBound
float theVertexRBound
Definition: TrackingRegion.h:142
tracks
const uint32_t *__restrict__ const HitContainer *__restrict__ TkSoA *__restrict__ tracks
Definition: CAHitNtupletGeneratorKernelsImpl.h:159
PV3DBase::barePhi
T barePhi() const
Definition: PV3DBase.h:65
SiStripPI::max
Definition: SiStripPayloadInspectorHelper.h:169
TrackingRegion::originZBound
float originZBound() const
bounds the particle vertex in the longitudinal plane
Definition: TrackingRegion.h:80
TrackingRegion::direction
GlobalVector const & direction() const
the direction around which region is constructed
Definition: TrackingRegion.h:65
TrackingRegion::theVertexPos
GlobalPoint theVertexPos
Definition: TrackingRegion.h:138
TrackingRegion::clone
virtual std::unique_ptr< TrackingRegion > clone() const =0
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
TrackingRegion::name
virtual std::string name() const
Definition: TrackingRegion.h:125