1 #ifndef RectangularEtaPhiTrackingRegion_H
2 #define RectangularEtaPhiTrackingRegion_H
31 assert(value >= -1 && value <= 1);
104 bool etaPhiRegion =
false)
107 Range(-1 / ptMin, 1 / ptMin),
137 bool etaPhiRegion =
false)
140 Range(-1 / ptMin, 1 / ptMin),
168 bool etaPhiRegion =
false,
201 const DetLayer* outerlayer =
nullptr,
205 float dz = 0)
const override {
206 return checkRZOld(layer, outerHit, outerlayer);
209 std::unique_ptr<TrackingRegion>
clone()
const override {
210 return std::make_unique<RectangularEtaPhiTrackingRegion>(*this);
std::string print() const override
RectangularEtaPhiTrackingRegion & operator=(RectangularEtaPhiTrackingRegion const &)=delete
std::unique_ptr< HitRZCompatibility > checkRZOld(const DetLayer *layer, const Hit &outerHit, const DetLayer *outerlayer) const
const Margin & phiMargin() const
std::vector< Track > TrackCollection
collection of Tracks
const UseMeasurementTracker theMeasurementTrackerUsage
const MultipleScatteringParametrisationMaker * theMSMaker
auto const & tracks
cannot be loose
static UseMeasurementTracker stringToUseMeasurementTracker(const std::string &name)
HitRZConstraint rzConstraint() const
OuterHitPhiPrediction phiWindow(const MagneticField &field) const
static const double deltaEta
TrackingRegion::Hits hits(const SeedingLayerSetsHits::SeedingLayer &layer) const override
get hits from layer compatible with region constraints
constexpr std::array< uint8_t, layerIndexSize > layer
std::vector< cacheHitPointer > cacheHits
const MeasurementTrackerEvent * theMeasurementTracker
std::unique_ptr< TrackingRegion > clone() const override
void initEtaRange(const GlobalVector &dir, const Margin &margin)
std::string name() const override
Abs< T >::type abs(const T &t)
std::unique_ptr< MeasurementEstimator > estimator(const BarrelDetLayer *layer) const
RectangularEtaPhiTrackingRegion(const GlobalVector &dir, const GlobalPoint &vertexPos, float ptMin, float rVertex, float zVertex, float deltaEta, float deltaPhi, const MagneticField &field, const MultipleScatteringParametrisationMaker *msmaker, bool precise=true, UseMeasurementTracker whereToUseMeasurementTracker=UseMeasurementTracker::kNever, const MeasurementTrackerEvent *measurementTracker=nullptr, bool etaPhiRegion=false)
RectangularEtaPhiTrackingRegion()
static UseMeasurementTracker doubleToUseMeasurementTracker(double value)
void checkTracks(reco::TrackCollection const &tracks, std::vector< bool > &mask) const override
SeedingLayerSetsHits::Hits Hits
RectangularEtaPhiTrackingRegion(const GlobalVector &dir, const GlobalPoint &vertexPos, Range invPtRange, float rVertex, float zVertex, Margin etaMargin, Margin phiMargin, const MagneticField &field, const MultipleScatteringParametrisationMaker *msmaker, bool precise=true, UseMeasurementTracker whereToUseMeasurementTracker=UseMeasurementTracker::kNever, const MeasurementTrackerEvent *measurementTracker=nullptr, bool etaPhiRegion=false, bool useMS=true)
RectangularEtaPhiTrackingRegion(const GlobalVector &dir, const GlobalPoint &vertexPos, float ptMin, float rVertex, float zVertex, Margin etaMargin, Margin phiMargin, const MagneticField &field, const MultipleScatteringParametrisationMaker *msmaker, bool precise=true, UseMeasurementTracker whereToUseMeasurementTracker=UseMeasurementTracker::kNever, const MeasurementTrackerEvent *measurementTracker=nullptr, bool etaPhiRegion=false)
float ptMin() const
minimal pt of interest
Range invPtRange() const
inverse pt range
const MagneticField * theField
tuple whereToUseMeasurementTracker
RectangularEtaPhiTrackingRegion(RectangularEtaPhiTrackingRegion const &rh)
bool isPrecise() const
is precise error calculation switched on
const Range & tanLambdaRange() const
static UseMeasurementTracker intToUseMeasurementTracker(int value)
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 override
TkTrackingRegionsMargin< float > Margin
const Range & etaRange() const
allowed eta range [eta_min, eta_max] interval