1 #ifndef RectangularEtaPhiTrackingRegion_H 2 #define RectangularEtaPhiTrackingRegion_H 104 bool etaPhiRegion =
false)
137 bool etaPhiRegion =
false)
168 bool etaPhiRegion =
false,
201 const DetLayer* outerlayer =
nullptr,
205 float dz = 0)
const override {
209 std::unique_ptr<TrackingRegion>
clone()
const override {
210 return std::make_unique<RectangularEtaPhiTrackingRegion>(*this);
OuterHitPhiPrediction phiWindow(const MagneticField &field) const
std::string print() const override
std::unique_ptr< MeasurementEstimator > estimator(const BarrelDetLayer *layer) const
const Range & etaRange() const
allowed eta range [eta_min, eta_max] interval
std::unique_ptr< HitRZCompatibility > checkRZOld(const DetLayer *layer, const Hit &outerHit, const DetLayer *outerlayer) const
RectangularEtaPhiTrackingRegion & operator=(RectangularEtaPhiTrackingRegion const &)=delete
bool isPrecise() const
is precise error calculation switched on
std::vector< Track > TrackCollection
collection of Tracks
const UseMeasurementTracker theMeasurementTrackerUsage
const MultipleScatteringParametrisationMaker * theMSMaker
static UseMeasurementTracker stringToUseMeasurementTracker(const std::string &name)
static const double deltaEta
TrackingRegion::Hits hits(const SeedingLayerSetsHits::SeedingLayer &layer) const override
get hits from layer compatible with region constraints
const Range & tanLambdaRange() const
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)
float ptMin() const
minimal pt of interest
std::string name() const override
Abs< T >::type abs(const T &t)
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)
auto const & tracks
cannot be loose
void checkTracks(reco::TrackCollection const &tracks, std::vector< bool > &mask) const override
SeedingLayerSetsHits::Hits Hits
Range invPtRange() const
inverse pt range
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)
HitRZConstraint rzConstraint() const
const Margin & phiMargin() const
const MagneticField * theField
RectangularEtaPhiTrackingRegion(RectangularEtaPhiTrackingRegion const &rh)
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
whereToUseMeasurementTracker