CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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
< HitRZCompatibility
checkRZ (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
< TrackingRegion
clone () 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

Definition at line 45 of file TrackingRegion.h.

Definition at line 46 of file TrackingRegion.h.

Definition at line 44 of file TrackingRegion.h.

Constructor & Destructor Documentation

virtual TrackingRegion::~TrackingRegion ( )
inlinevirtual

Definition at line 43 of file TrackingRegion.h.

43 {}
TrackingRegion::TrackingRegion ( )
inline

Definition at line 49 of file TrackingRegion.h.

49 {}
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.

56  : theDirection(direction),
57  theUnitDirection(direction.unit()),
58  theVertexPos(originPos),
60  thePhi(direction.barePhi()),
float originRBound() const
bounds the particle vertex in the transverse plane
T max() const
GlobalVector theUnitDirection
GlobalVector theDirection
T min() const
T barePhi() const
Definition: PV3DBase.h:65
GlobalPoint theVertexPos
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
float originZBound() const
bounds the particle vertex in the longitudinal plane
Vector3DBase unit() const
Definition: Vector3DBase.h:54
Range invPtRange() const
inverse pt range

Member Function Documentation

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

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

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
virtual std::unique_ptr<TrackingRegion> TrackingRegion::clone ( ) const
pure virtual
GlobalVector const& TrackingRegion::direction ( ) const
inline
virtual Hits TrackingRegion::hits ( const SeedingLayerSetsHits::SeedingLayer layer) const
pure virtual
Range TrackingRegion::invPtRange ( ) const
inline

inverse pt range

Definition at line 87 of file TrackingRegion.h.

References theInvPtRange.

87 { return theInvPtRange; }
virtual std::string TrackingRegion::name ( void  ) const
inlinevirtual
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 SeedForPhotonConversionFromQuadruplets::buildSeedBool(), CellularAutomaton::createAndConnectCells(), HitQuadrupletGeneratorFromLayerPairForPhotonConversion::failCheckRZCompatibility(), HitQuadrupletGeneratorFromLayerPairForPhotonConversion::failCheckSlopeTest(), CellularAutomaton::findTriplets(), HitQuadrupletGeneratorFromLayerPairForPhotonConversion::getEffectiveErrorOnZ(), HitQuadrupletGeneratorFromLayerPairForPhotonConversion::getSqrEffectiveErrorOnZ(), SeedForPhotonConversionFromQuadruplets::getSqrEffectiveErrorOnZ(), CAHitTripletGenerator::hitNtuplets(), CAHitQuadrupletGenerator::hitNtuplets(), HitPairGeneratorFromLayerPairForPhotonConversion::hitPairs(), PixelTripletNoTipGenerator::hitTriplets(), PixelTripletHLTGenerator::hitTriplets(), SeedFromConsecutiveHitsStraightLineCreator::initialKinematic(), SeedFromConsecutiveHitsTripletOnlyCreator::initialKinematic(), SeedFromConsecutiveHitsCreator::initialKinematic(), SeedFromConsecutiveHitsCreator::makeSeed(), LayerHitMapCache::operator()(), SeedFinderSelector::pass(), MultiHitGeneratorFromChi2::refit2Hits(), PixelNtupletsFitter::run(), PixelFitterByHelixProjections::run(), PixelFitterByConformalMappingAndLine::run(), KFBasedPixelFitter::run(), SeedForPhotonConversionFromQuadruplets::simpleGetSlope(), ThirdHitPrediction::ThirdHitPrediction(), and SeedForPhotonConversionFromQuadruplets::trajectorySeed().

75 { return theVertexPos; }
GlobalPoint theVertexPos
float TrackingRegion::originRBound ( ) const
inline
float TrackingRegion::originZBound ( ) const
inline
float TrackingRegion::phiDirection ( ) const
inline

Definition at line 69 of file TrackingRegion.h.

References thePhi.

69 { return thePhi; }
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 PhotonConversionTrajectorySeedProducerFromSingleLegAlgo::loopOnPriVtx(), 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  }
T max() const
GlobalVector theDirection
GlobalPoint theVertexPos
virtual std::string name() const
#define str(s)
float TrackingRegion::ptMin ( ) const
inline
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  }
float originRBound() const
bounds the particle vertex in the transverse plane
virtual std::unique_ptr< TrackingRegion > clone() const =0
float originZBound() const
bounds the particle vertex in the longitudinal plane
GlobalVector const& TrackingRegion::unitDirection ( ) const
inline

Definition at line 67 of file TrackingRegion.h.

References theUnitDirection.

67 { return theUnitDirection; }
GlobalVector theUnitDirection

Member Data Documentation

GlobalVector TrackingRegion::theDirection
private

Definition at line 136 of file TrackingRegion.h.

Referenced by direction(), and print().

Range TrackingRegion::theInvPtRange
private

Definition at line 139 of file TrackingRegion.h.

Referenced by invPtRange(), and print().

float TrackingRegion::thePhi
private

Definition at line 140 of file TrackingRegion.h.

Referenced by phiDirection().

float TrackingRegion::thePtMin
private

Definition at line 141 of file TrackingRegion.h.

Referenced by ptMin().

GlobalVector TrackingRegion::theUnitDirection
private

Definition at line 137 of file TrackingRegion.h.

Referenced by unitDirection().

GlobalPoint TrackingRegion::theVertexPos
private

Definition at line 138 of file TrackingRegion.h.

Referenced by origin(), and print().

float TrackingRegion::theVertexRBound
private

Definition at line 142 of file TrackingRegion.h.

Referenced by originRBound(), and print().

float TrackingRegion::theVertexZBound
private

Definition at line 143 of file TrackingRegion.h.

Referenced by originZBound(), and print().