1 #ifndef RectangularEtaPhiTrackingRegion_H
2 #define RectangularEtaPhiTrackingRegion_H
38 assert(value >= -1 && value <= 1);
44 if(value > 0.5)
return UseMeasurementTracker::kAlways;
45 if(value > -0.5)
return UseMeasurementTracker::kForSiStrips;
46 return UseMeasurementTracker::kNever;
51 theEtaRange(rh.theEtaRange),
52 theLambdaRange(rh.theLambdaRange),
53 thePhiMargin(rh.thePhiMargin),
54 theMeanLambda(rh.theMeanLambda),
55 theMeasurementTrackerUsage(rh.theMeasurementTrackerUsage),
56 thePrecise(rh.thePrecise),
57 theUseEtaPhi(rh.theUseEtaPhi),
58 theMeasurementTracker(rh.theMeasurementTracker) {}
93 float ptMin,
float rVertex,
float zVertex,
98 bool etaPhiRegion=
false)
102 whereToUseMeasurementTracker,
precise,
103 measurementTracker, etaPhiRegion)
114 float ptMin,
float rVertex,
float zVertex,
120 bool etaPhiRegion=
false)
122 etaMargin, phiMargin,
123 whereToUseMeasurementTracker,
precise,
124 measurementTracker, etaPhiRegion)
134 float rVertex,
float zVertex,
140 bool etaPhiRegion=
false)
142 thePhiMargin( phiMargin), theMeasurementTrackerUsage(whereToUseMeasurementTracker), thePrecise(
precise),theUseEtaPhi(etaPhiRegion),
143 theMeasurementTracker(measurementTracker)
144 { initEtaRange(dir, etaMargin); }
163 const Hit & outerHit,
166 float lr=0,
float gz=0,
float dr=0,
float dz=0)
const
167 {
return checkRZOld(layer,outerHit->hit(),iSetup); }
RectangularEtaPhiTrackingRegion(const GlobalVector &dir, const GlobalPoint &vertexPos, float ptMin, float rVertex, float zVertex, Margin etaMargin, Margin phiMargin, UseMeasurementTracker whereToUseMeasurementTracker=UseMeasurementTracker::kNever, bool precise=true, const MeasurementTrackerEvent *measurementTracker=nullptr, bool etaPhiRegion=false)
const Margin & phiMargin() const
GloballyPositioned< float >::GlobalPoint GlobalPoint
std::string print(const Track &, edm::Verbosity=edm::Concise)
Track print utility.
virtual RectangularEtaPhiTrackingRegion * clone() const
TkTrackingRegionsMargin< float > Margin
virtual std::string name() const
bool isPrecise() const
is precise error calculation switched on
RectangularEtaPhiTrackingRegion(const GlobalVector &dir, const GlobalPoint &vertexPos, Range invPtRange, float rVertex, float zVertex, Margin etaMargin, Margin phiMargin, UseMeasurementTracker whereToUseMeasurementTracker=UseMeasurementTracker::kNever, bool precise=true, const MeasurementTrackerEvent *measurementTracker=nullptr, bool etaPhiRegion=false)
Abs< T >::type abs(const T &t)
RectangularEtaPhiTrackingRegion(const GlobalVector &dir, const GlobalPoint &vertexPos, float ptMin, float rVertex, float zVertex, float deltaEta, float deltaPhi, UseMeasurementTracker whereToUseMeasurementTracker=UseMeasurementTracker::kNever, bool precise=true, const MeasurementTrackerEvent *measurementTracker=nullptr, bool etaPhiRegion=false)
static UseMeasurementTracker intToUseMeasurementTracker(int value)
RectangularEtaPhiTrackingRegion(RectangularEtaPhiTrackingRegion const &rh)
std::vector< cacheHitPointer > cacheHits
SeedingLayerSetsHits::Hits Hits
GloballyPositioned< float >::GlobalVector GlobalVector
std::pair< ContainerIterator, ContainerIterator > Range
static UseMeasurementTracker doubleToUseMeasurementTracker(double value)
virtual HitRZCompatibility * checkRZ(const DetLayer *layer, const Hit &outerHit, const edm::EventSetup &iSetup, const DetLayer *outerlayer=0, float lr=0, float gz=0, float dr=0, float dz=0) const
const Range & etaRange() const
allowed eta range [eta_min, eta_max] interval
Unlimited (trivial) bounds.