1 #ifndef TrackingRegion_H
2 #define TrackingRegion_H
93 const DetLayer* outerlayer =
nullptr,
97 float dz = 0)
const = 0;
108 std::vector<bool> region_mask(tracks.size(),
false);
116 auto restr =
clone();
117 restr->theVertexPos = originPos;
123 virtual std::unique_ptr<TrackingRegion>
clone()
const = 0;
127 std::ostringstream
str;
float originRBound() const
bounds the particle vertex in the transverse plane
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 std::unique_ptr< TrackingRegion > clone() const =0
GlobalPoint const & origin() const
GlobalVector theUnitDirection
std::vector< Track > TrackCollection
collection of Tracks
virtual Hits hits(const SeedingLayerSetsHits::SeedingLayer &layer) const =0
get hits from layer compatible with region constraints
GlobalVector theDirection
TrackingRegion(const GlobalVector &direction, const GlobalPoint &originPos, const Range &invPtRange, const float &originRBound, const float &originZBound)
auto const & tracks
cannot be loose
constexpr std::array< uint8_t, layerIndexSize > layer
virtual ~TrackingRegion()
GlobalVector const & direction() const
the direction around which region is constructed
PixelRecoRange< float > Range
Abs< T >::type abs(const T &t)
virtual std::string name() const
float phiDirection() const
float originZBound() const
bounds the particle vertex in the longitudinal plane
BaseTrackerRecHit const * ConstRecHitPointer
SeedingLayerSetsHits::ConstRecHitPointer Hit
std::vector< bool > checkTracks(reco::TrackCollection const &tracks) const
return a boolean mask over the TrackCollection reflecting the compatibility of each track with the re...
GlobalVector const & unitDirection() const
std::vector< ConstRecHitPointer > Hits
SeedingLayerSetsHits::Hits Hits
float ptMin() const
minimal pt of interest
virtual std::string print() const
virtual void checkTracks(reco::TrackCollection const &tracks, std::vector< bool > &mask) const =0
Range invPtRange() const
inverse pt range
std::unique_ptr< TrackingRegion > restrictedRegion(const GlobalPoint &originPos, const float &originRBound, const float &originZBound) const
clone region with new vertex position
Basic3DVector unit() const