CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Private Attributes
RectangularEtaPhiTrackingRegion Class Referencefinal

#include <RectangularEtaPhiTrackingRegion.h>

Inheritance diagram for RectangularEtaPhiTrackingRegion:
TrackingRegion

Public Types

typedef TkTrackingRegionsMargin< float > Margin
 
enum  UseMeasurementTracker { UseMeasurementTracker::kNever = -1, UseMeasurementTracker::kForSiStrips = 0, UseMeasurementTracker::kAlways = 1 }
 
- Public Types inherited from TrackingRegion
typedef SeedingLayerSetsHits::ConstRecHitPointer Hit
 
typedef SeedingLayerSetsHits::Hits Hits
 
typedef PixelRecoRange< float > Range
 

Public Member Functions

std::unique_ptr< HitRZCompatibilitycheckRZ (const DetLayer *layer, const Hit &outerHit, const edm::EventSetup &iSetup, const DetLayer *outerlayer=nullptr, float lr=0, float gz=0, float dr=0, float dz=0) const override
 
std::unique_ptr< TrackingRegionclone () const override
 
const RangeetaRange () const
 allowed eta range [eta_min, eta_max] interval More...
 
TrackingRegion::Hits hits (const edm::EventSetup &es, const SeedingLayerSetsHits::SeedingLayer &layer) const override
 get hits from layer compatible with region constraints More...
 
bool isPrecise () const
 is precise error calculation switched on More...
 
std::string name () const override
 
RectangularEtaPhiTrackingRegionoperator= (RectangularEtaPhiTrackingRegion &&)=delete
 
RectangularEtaPhiTrackingRegionoperator= (RectangularEtaPhiTrackingRegion const &)=delete
 
const MarginphiMargin () const
 
std::string print () const override
 
 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)
 
 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)
 
 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, bool useMS=true)
 
 RectangularEtaPhiTrackingRegion (RectangularEtaPhiTrackingRegion &&)=default
 
 RectangularEtaPhiTrackingRegion (RectangularEtaPhiTrackingRegion const &rh)
 
const RangetanLambdaRange () const
 
- Public Member Functions inherited from TrackingRegion
GlobalVector const & direction () const
 the direction around which region is constructed More...
 
Range invPtRange () const
 inverse pt range More...
 
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
 
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 (const GlobalVector &direction, const GlobalPoint &originPos, const Range &invPtRange, const float &originRBound, const float &originZBound)
 
GlobalVector const & unitDirection () const
 
virtual ~TrackingRegion ()
 

Static Public Member Functions

static UseMeasurementTracker doubleToUseMeasurementTracker (double value)
 
static UseMeasurementTracker intToUseMeasurementTracker (int value)
 
static UseMeasurementTracker stringToUseMeasurementTracker (const std::string &name)
 

Private Types

using cacheHitPointer = mayown_ptr< BaseTrackerRecHit >
 
using cacheHits = std::vector< cacheHitPointer >
 

Private Member Functions

std::unique_ptr< HitRZCompatibilitycheckRZOld (const DetLayer *layer, const Hit &outerHit, const edm::EventSetup &iSetup, const DetLayer *outerlayer) const
 
std::unique_ptr< MeasurementEstimatorestimator (const BarrelDetLayer *layer, const edm::EventSetup &iSetup) const
 
std::unique_ptr< MeasurementEstimatorestimator (const ForwardDetLayer *layer, const edm::EventSetup &iSetup) const
 
void initEtaRange (const GlobalVector &dir, const Margin &margin)
 
OuterHitPhiPrediction phiWindow (const edm::EventSetup &iSetup) const
 
HitRZConstraint rzConstraint () const
 

Private Attributes

cacheHits cache
 
Range theEtaRange
 
Range theLambdaRange
 
float theMeanLambda
 
const MeasurementTrackerEventtheMeasurementTracker = nullptr
 
const UseMeasurementTracker theMeasurementTrackerUsage = UseMeasurementTracker::kNever
 
Margin thePhiMargin
 
bool thePrecise = false
 
bool theUseEtaPhi = false
 
bool theUseMS = false
 

Detailed Description

A concrete implementation of TrackingRegion. Apart of vertex constraint from TrackingRegion in this implementation the region of interest is further constrainted in phi and eta around the direction of the region

Definition at line 25 of file RectangularEtaPhiTrackingRegion.h.

Member Typedef Documentation

◆ cacheHitPointer

Definition at line 223 of file RectangularEtaPhiTrackingRegion.h.

◆ cacheHits

Definition at line 224 of file RectangularEtaPhiTrackingRegion.h.

◆ Margin

Definition at line 60 of file RectangularEtaPhiTrackingRegion.h.

Member Enumeration Documentation

◆ UseMeasurementTracker

Enumerator
kNever 
kForSiStrips 
kAlways 

Definition at line 27 of file RectangularEtaPhiTrackingRegion.h.

27 { kNever = -1, kForSiStrips = 0, kAlways = 1 };

Constructor & Destructor Documentation

◆ RectangularEtaPhiTrackingRegion() [1/5]

RectangularEtaPhiTrackingRegion::RectangularEtaPhiTrackingRegion ( RectangularEtaPhiTrackingRegion const &  rh)
inline

Definition at line 45 of file RectangularEtaPhiTrackingRegion.h.

46  : TrackingRegion(rh),
47  theEtaRange(rh.theEtaRange),
48  theLambdaRange(rh.theLambdaRange),
49  thePhiMargin(rh.thePhiMargin),
50  theMeanLambda(rh.theMeanLambda),
51  theMeasurementTrackerUsage(rh.theMeasurementTrackerUsage),
52  thePrecise(rh.thePrecise),
53  theUseEtaPhi(rh.theUseEtaPhi),
54  theMeasurementTracker(rh.theMeasurementTracker) {}

◆ RectangularEtaPhiTrackingRegion() [2/5]

RectangularEtaPhiTrackingRegion::RectangularEtaPhiTrackingRegion ( RectangularEtaPhiTrackingRegion &&  )
default

◆ RectangularEtaPhiTrackingRegion() [3/5]

RectangularEtaPhiTrackingRegion::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 
)
inline

constructor (symmetric eta and phi margins).
dir - the direction around which region is constructed
the initial direction of the momentum of the particle should be in the range
phi of dir +- deltaPhi
eta of dir +- deltaEta

vertexPos - the position of the vertex (origin) of the of the region.
It is a centre of cylinder constraind with rVertex, zVertex. The track of the particle should cross the cylinder
WARNING: in the current implementaion the vertexPos is supposed to be placed on the beam line, i.e. to be of the form (0,0,float)

ptMin - minimal pt of interest
rVertex - radius of the cylinder around beam line where the tracks of interest should point to.
zVertex - half height of the cylinder around the beam line where the tracks of interest should point to.
deltaEta - allowed deviation of the initial direction of particle in eta in respect to direction of the region
deltaPhi - allowed deviation of the initial direction of particle in phi in respect to direction of the region whereToUseMeasurementTracker: 1=everywhere, 0=outside pixles, -1=nowhere

Definition at line 87 of file RectangularEtaPhiTrackingRegion.h.

99  vertexPos,
100  Range(-1 / ptMin, 1 / ptMin),
101  rVertex,
102  zVertex,
106  precise,
108  etaPhiRegion) {}

◆ RectangularEtaPhiTrackingRegion() [4/5]

RectangularEtaPhiTrackingRegion::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 
)
inline

constructor (asymmetrinc eta and phi margins).
non equal left-right eta and phi bounds around direction are possible. The ranges are defined using Margin. the meaning of other arguments is the same as in the case of symmetring bounds to direction of the region.

Definition at line 116 of file RectangularEtaPhiTrackingRegion.h.

128  vertexPos,
129  Range(-1 / ptMin, 1 / ptMin),
130  rVertex,
131  zVertex,
132  etaMargin,
133  phiMargin,
135  precise,
137  etaPhiRegion) {}

◆ RectangularEtaPhiTrackingRegion() [5/5]

RectangularEtaPhiTrackingRegion::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,
bool  useMS = true 
)
inline

constructor (explicit pt range, asymmetrinc eta and phi margins).
the meaning of other arguments is the same as in the case of symmetring bounds to direction of the region.

Definition at line 143 of file RectangularEtaPhiTrackingRegion.h.

References DeadROC_duringRun::dir, and initEtaRange().

Member Function Documentation

◆ checkRZ()

std::unique_ptr<HitRZCompatibility> RectangularEtaPhiTrackingRegion::checkRZ ( const DetLayer layer,
const Hit outerHit,
const edm::EventSetup iSetup,
const DetLayer outerlayer = nullptr,
float  lr = 0,
float  gz = 0,
float  dr = 0,
float  dz = 0 
) const
inlineoverridevirtual

utility to check eta/theta hit compatibility with region constraints and outer hit constraint

Implements TrackingRegion.

Definition at line 178 of file RectangularEtaPhiTrackingRegion.h.

185  {
186  return checkRZOld(layer, outerHit, iSetup, outerlayer);
187  }

References checkRZOld().

◆ checkRZOld()

std::unique_ptr< HitRZCompatibility > RectangularEtaPhiTrackingRegion::checkRZOld ( const DetLayer layer,
const Hit outerHit,
const edm::EventSetup iSetup,
const DetLayer outerlayer 
) const
private

Definition at line 71 of file RectangularEtaPhiTrackingRegion.cc.

74  {
75  bool isBarrel = (layer->location() == GeomDetEnumerators::barrel);
76  GlobalPoint ohit = outerHit->globalPosition();
77  float outerred_r = std::sqrt(sqr(ohit.x() - origin().x()) + sqr(ohit.y() - origin().y()));
78  PixelRecoPointRZ outer(outerred_r, ohit.z());
79 
80  float zMinOrigin = origin().z() - originZBound();
81  float zMaxOrigin = origin().z() + originZBound();
82 
83  if (!thePrecise) {
84  float vcotMin = (outer.z() > zMaxOrigin) ? (outer.z() - zMaxOrigin) / (outer.r() + originRBound())
85  : (outer.z() - zMaxOrigin) / (outer.r() - originRBound());
86  float vcotMax = (outer.z() > zMinOrigin) ? (outer.z() - zMinOrigin) / (outer.r() - originRBound())
87  : (outer.z() - zMinOrigin) / (outer.r() + originRBound());
88  float cotRight = std::max(vcotMin, theLambdaRange.min());
89  float cotLeft = std::min(vcotMax, theLambdaRange.max());
90  return std::make_unique<HitEtaCheck>(isBarrel, outer, cotLeft, cotRight);
91  }
92 
93  float outerZscatt = 0;
94  float innerScatt = 0;
95  //CHECK
96  if (theUseMS) {
97  MultipleScatteringParametrisation oSigma(layer, iSetup);
98  float cotThetaOuter = theMeanLambda;
99  float sinThetaOuterInv = std::sqrt(1.f + sqr(cotThetaOuter));
100  outerZscatt = 3.f * oSigma(ptMin(), cotThetaOuter) * sinThetaOuterInv;
101  }
102 
105  float zMinLine = boundL.zAtR(0.) - outerZscatt;
106  float zMaxLine = boundR.zAtR(0.) + outerZscatt;
107  PixelRecoPointRZ vtxL(0., max(zMinLine, zMinOrigin));
108  PixelRecoPointRZ vtxR(0., min(zMaxLine, zMaxOrigin));
109  PixelRecoPointRZ vtxMean(0., (vtxL.z() + vtxR.z()) * 0.5f);
110  //CHECK
111 
112  if (theUseMS) {
113  MultipleScatteringParametrisation iSigma(layer, iSetup);
114 
115  innerScatt =
116  3.f * (outerlayer ? iSigma(ptMin(), vtxMean, outer, outerlayer->seqNum()) : iSigma(ptMin(), vtxMean, outer));
117 
118  // innerScatt = 3.f *iSigma( ptMin(), vtxMean, outer);
119  }
120 
121  SimpleLineRZ leftLine(vtxL, outer);
122  SimpleLineRZ rightLine(vtxR, outer);
123 
124  HitRZConstraint rzConstraint(leftLine, rightLine);
125  auto cotTheta = std::abs(leftLine.cotLine() + rightLine.cotLine()) * 0.5f;
126 
127  // std::cout << "RectangularEtaPhiTrackingRegion " << outer.r()<<','<< outer.z() << " " << innerScatt << " " << cotTheta << " " << hitZErr << std::endl;
128 
129  if (isBarrel) {
130  auto sinThetaInv = std::sqrt(1.f + sqr(cotTheta));
131  auto corr = innerScatt * sinThetaInv;
132  return std::make_unique<HitZCheck>(rzConstraint, HitZCheck::Margin(corr, corr));
133  } else {
134  auto cosThetaInv = std::sqrt(1.f + sqr(1.f / cotTheta));
135  auto corr = innerScatt * cosThetaInv;
136  return std::make_unique<HitRCheck>(rzConstraint, HitRCheck::Margin(corr, corr));
137  }
138 }

References funct::abs(), GeomDetEnumerators::barrel, alignCSCRings::corr, SimpleLineRZ::cotLine(), f, PixelPluginsPhase0_cfi::isBarrel, DetLayer::location(), SiStripPI::max, min(), SurfaceOrientation::outer, ptMin, DetLayer::seqNum(), sqr(), mathSSE::sqrt(), vtxMean(), PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), PixelRecoPointRZ::z(), PV3DBase< T, PVType, FrameType >::z(), and PixelRecoLineRZ::zAtR().

Referenced by checkRZ().

◆ clone()

std::unique_ptr<TrackingRegion> RectangularEtaPhiTrackingRegion::clone ( void  ) const
inlineoverridevirtual

Implements TrackingRegion.

Definition at line 189 of file RectangularEtaPhiTrackingRegion.h.

189  {
190  return std::make_unique<RectangularEtaPhiTrackingRegion>(*this);
191  }

◆ doubleToUseMeasurementTracker()

static UseMeasurementTracker RectangularEtaPhiTrackingRegion::doubleToUseMeasurementTracker ( double  value)
inlinestatic

Definition at line 34 of file RectangularEtaPhiTrackingRegion.h.

34  {
35  // mimic the old behaviour
36  if (value > 0.5)
38  if (value > -0.5)
41  }

References kAlways, kForSiStrips, and kNever.

◆ estimator() [1/2]

std::unique_ptr< MeasurementEstimator > RectangularEtaPhiTrackingRegion::estimator ( const BarrelDetLayer layer,
const edm::EventSetup iSetup 
) const
private

Definition at line 140 of file RectangularEtaPhiTrackingRegion.cc.

141  {
142  using Algo = HitZCheck;
143 
144  // det dimensions
145  float halfLength = 0.5f * layer->surface().bounds().length();
146  float halfThickness = 0.5f * layer->surface().bounds().thickness();
147  float z0 = layer->position().z();
148  float radius = layer->specificSurface().radius();
149 
150  // det ranges
151  Range detRWindow(radius - halfThickness, radius + halfThickness);
152  Range detZWindow(z0 - halfLength, z0 + halfLength);
153 
154  // z prediction, skip if not intersection
155  HitZCheck zPrediction(rzConstraint());
156  Range hitZWindow = zPrediction.range(detRWindow.min()).intersection(detZWindow);
157  if (hitZWindow.empty())
158  return nullptr;
159 
160  // phi prediction
161  OuterHitPhiPrediction phiPrediction = phiWindow(iSetup);
162 
163  //
164  // optional corrections for tolerance (mult.scatt, error, bending)
165  //
167  if (thePrecise) {
168  auto invR = 1.f / radius;
169  auto cotTheta = (hitZWindow.mean() - origin().z()) * invR;
170  auto sinThetaInv = std::sqrt(1.f + sqr(cotTheta));
171  MultipleScatteringParametrisation msSigma(layer, iSetup);
172  auto scatt = 3.f * msSigma(ptMin(), cotTheta);
173  auto bendR = longitudinalBendingCorrection(radius, ptMin(), iSetup);
174 
175  float hitErrRPhi = 0.;
176  float hitErrZ = 0.;
177  float corrPhi = (scatt + hitErrRPhi) * invR;
178  float corrZ = scatt * sinThetaInv + bendR * std::abs(cotTheta) + hitErrZ;
179 
180  phiPrediction.setTolerance(corrPhi);
181  zPrediction.setTolerance(HitZCheck::Margin(corrZ, corrZ));
182 
183  //
184  // hit ranges in det
185  //
186  OuterHitPhiPrediction::Range phi1 = phiPrediction(detRWindow.min());
187  OuterHitPhiPrediction::Range phi2 = phiPrediction(detRWindow.max());
188  phiRange = Range(std::min(phi1.min(), phi2.min()), std::max(phi1.max(), phi2.max()));
189  Range w1 = zPrediction.range(detRWindow.min());
190  Range w2 = zPrediction.range(detRWindow.max());
191  hitZWindow = Range(std::min(w1.min(), w2.min()), std::max(w1.max(), w2.max())).intersection(detZWindow);
192  } else {
193  phiRange = phiPrediction(detRWindow.mean());
194  }
195 
196  return std::make_unique<OuterEstimator<Algo>>(OuterDetCompatibility(layer, phiRange, detRWindow, hitZWindow),
197  OuterHitCompatibility<Algo>(phiPrediction, zPrediction),
198  iSetup);
199 }

References funct::abs(), Surface::bounds(), PixelRecoRange< T >::empty(), f, reco::helper::VirtualJetProducerHelper::intersection(), PixelRecoRange< T >::intersection(), Bounds::length(), PixelRecoUtilities::longitudinalBendingCorrection(), PixelRecoRange< T >::max(), SiStripPI::max, PixelRecoRange< T >::mean(), PixelRecoRange< T >::min(), min(), trackingPOGFilters_cfi::phiWindow, GeometricSearchDet::position(), ptMin, CosmicsPD_Skims::radius, HitZCheck::range(), OuterHitPhiPrediction::setTolerance(), HitZCheck::setTolerance(), BarrelDetLayer::specificSurface(), sqr(), mathSSE::sqrt(), BarrelDetLayer::surface(), Bounds::thickness(), w2, PV3DBase< T, PVType, FrameType >::z(), and HLTMuonOfflineAnalyzer_cfi::z0.

◆ estimator() [2/2]

std::unique_ptr< MeasurementEstimator > RectangularEtaPhiTrackingRegion::estimator ( const ForwardDetLayer layer,
const edm::EventSetup iSetup 
) const
private

Definition at line 201 of file RectangularEtaPhiTrackingRegion.cc.

202  {
203  using Algo = HitRCheck;
204  // det dimensions, ranges
205  float halfThickness = 0.5f * layer->surface().bounds().thickness();
206  float zLayer = layer->position().z();
207  Range detZWindow(zLayer - halfThickness, zLayer + halfThickness);
208  Range detRWindow(layer->specificSurface().innerRadius(), layer->specificSurface().outerRadius());
209 
210  // r prediction, skip if not intersection
211  HitRCheck rPrediction(rzConstraint());
212  Range hitRWindow = rPrediction.range(zLayer).intersection(detRWindow);
213  if (hitRWindow.empty())
214  return nullptr;
215 
216  // phi prediction
217  OuterHitPhiPrediction phiPrediction = phiWindow(iSetup);
218  OuterHitPhiPrediction::Range phiRange = phiPrediction(detRWindow.max());
219 
220  //
221  // optional corrections for tolerance (mult.scatt, error, bending)
222  //
223  if (thePrecise) {
224  float cotTheta = (detZWindow.mean() - origin().z()) / hitRWindow.mean();
225  float cosThetaInv = std::sqrt(1 + sqr(cotTheta)) / cotTheta;
226  MultipleScatteringParametrisation msSigma(layer, iSetup);
227  float scatt = 3.f * msSigma(ptMin(), cotTheta);
228  float bendR = longitudinalBendingCorrection(hitRWindow.max(), ptMin(), iSetup);
229  float hitErrRPhi = 0.;
230  float hitErrR = 0.;
231  float corrPhi = (scatt + hitErrRPhi) / detRWindow.min();
232  float corrR = scatt * std::abs(cosThetaInv) + bendR + hitErrR;
233 
234  phiPrediction.setTolerance(corrPhi);
235  rPrediction.setTolerance(HitRCheck::Margin(corrR, corrR));
236 
237  //
238  // hit ranges in det
239  //
240  Range w1, w2;
241  if (zLayer > 0) {
242  w1 = rPrediction.range(detZWindow.min());
243  w2 = rPrediction.range(detZWindow.max());
244  } else {
245  w1 = rPrediction.range(detZWindow.max());
246  w2 = rPrediction.range(detZWindow.min());
247  }
248  hitRWindow = Range(w1.min(), w2.max()).intersection(detRWindow);
249  }
250 
251  return std::make_unique<OuterEstimator<Algo>>(OuterDetCompatibility(layer, phiRange, hitRWindow, detZWindow),
252  OuterHitCompatibility<Algo>(phiPrediction, rPrediction),
253  iSetup);
254 }

References funct::abs(), Surface::bounds(), PixelRecoRange< T >::empty(), reco::helper::VirtualJetProducerHelper::intersection(), PixelRecoRange< T >::intersection(), PixelRecoUtilities::longitudinalBendingCorrection(), PixelRecoRange< T >::max(), PixelRecoRange< T >::mean(), PixelRecoRange< T >::min(), trackingPOGFilters_cfi::phiWindow, GeometricSearchDet::position(), ptMin, OuterHitPhiPrediction::setTolerance(), ForwardDetLayer::specificSurface(), sqr(), mathSSE::sqrt(), ForwardDetLayer::surface(), Bounds::thickness(), w2, and PV3DBase< T, PVType, FrameType >::z().

◆ etaRange()

const Range& RectangularEtaPhiTrackingRegion::etaRange ( ) const
inline

allowed eta range [eta_min, eta_max] interval

Definition at line 166 of file RectangularEtaPhiTrackingRegion.h.

166 { return theEtaRange; }

References theEtaRange.

◆ hits()

TrackingRegion::Hits RectangularEtaPhiTrackingRegion::hits ( const edm::EventSetup es,
const SeedingLayerSetsHits::SeedingLayer layer 
) const
overridevirtual

get hits from layer compatible with region constraints

Implements TrackingRegion.

Definition at line 283 of file RectangularEtaPhiTrackingRegion.cc.

284  {
286 
287  //ESTIMATOR
288 
289  const DetLayer* detLayer = layer.detLayer();
290 
291  bool measurementMethod = false;
293  measurementMethod = true;
296  measurementMethod = true;
297 
298  if (measurementMethod) {
300  es.get<IdealMagneticFieldRecord>().get(field);
301  const MagneticField* magField = field.product();
302 
303  const GlobalPoint vtx = origin();
305 
306  std::unique_ptr<MeasurementEstimator> est;
309  (!theUseEtaPhi && detLayer->location() == GeomDetEnumerators::barrel)) {
310  const BarrelDetLayer& bl = dynamic_cast<const BarrelDetLayer&>(*detLayer);
311  est = estimator(&bl, es);
312  } else if ((GeomDetEnumerators::isTrackerPixel(detLayer->subDetector()) &&
314  (!theUseEtaPhi && detLayer->location() == GeomDetEnumerators::endcap)) {
315  const ForwardDetLayer& fl = dynamic_cast<const ForwardDetLayer&>(*detLayer);
316  est = estimator(&fl, es);
317  }
318 
319  EtaPhiMeasurementEstimator etaPhiEstimator((theEtaRange.second - theEtaRange.first) * 0.5f,
320  (thePhiMargin.left() + thePhiMargin.right()) * 0.5f);
321  MeasurementEstimator* findDetAndHits = &etaPhiEstimator;
322  if (est) {
323  LogDebug("RectangularEtaPhiTrackingRegion") << "use pixel specific estimator.";
324  findDetAndHits = est.get();
325  } else {
326  LogDebug("RectangularEtaPhiTrackingRegion") << "use generic etat phi estimator.";
327  }
328 
329  // TSOS
330  float phi = phiDirection();
331  // std::cout << "dir " << direction().x()/direction().perp() <<','<< direction().y()/direction().perp() << " " << sin(phi) <<','<<cos(phi)<< std::endl;
332  Surface::RotationType rot(sin(phi), -cos(phi), 0, 0, 0, -1, cos(phi), sin(phi), 0);
333 
334  Plane::PlanePointer surface = Plane::build(GlobalPoint(0., 0., 0.), rot);
335  //TrajectoryStateOnSurface tsos(lpar, *surface, magField);
336 
338  TrajectoryStateOnSurface tsos(fts, *surface);
339 
340  // propagator
341  StraightLinePropagator prop(magField, alongMomentum);
342 
344 
345  auto hits = lm.recHits(*detLayer, tsos, prop, *findDetAndHits);
346 
347  result.reserve(hits.size());
348  for (auto h : hits) {
349  cache.emplace_back(h);
350  result.emplace_back(h);
351  }
352 
353  LogDebug("RectangularEtaPhiTrackingRegion")
354  << " found " << hits.size() << " minus one measurements on layer: " << detLayer->subDetector();
355  // std::cout << "RectangularEtaPhiTrackingRegion" <<" found "<< meas.size()<<" minus one measurements on layer: "<<detLayer->subDetector() << std::endl;
356 
357  } else {
358  //
359  // temporary solution (actually heavily used for Pixels....)
360  //
361  if (detLayer->location() == GeomDetEnumerators::barrel) {
362  const BarrelDetLayer& bl = dynamic_cast<const BarrelDetLayer&>(*detLayer);
363  auto est = estimator(&bl, es);
364  if (!est)
365  return result;
366  using Algo = HitZCheck;
367  auto const& hitComp = (reinterpret_cast<OuterEstimator<Algo> const&>(*est)).hitCompatibility();
368  auto layerHits = layer.hits();
369  result.reserve(layerHits.size());
370  for (auto&& ih : layerHits) {
371  if (hitComp(*ih))
372  result.emplace_back(std::move(ih));
373  }
374 
375  } else {
376  const ForwardDetLayer& fl = dynamic_cast<const ForwardDetLayer&>(*detLayer);
377  auto est = estimator(&fl, es);
378  if (!est)
379  return result;
380  using Algo = HitRCheck;
381  auto const& hitComp = (reinterpret_cast<OuterEstimator<Algo> const&>(*est)).hitCompatibility();
382  auto layerHits = layer.hits();
383  result.reserve(layerHits.size());
384  for (auto&& ih : layerHits) {
385  if (hitComp(*ih))
386  result.emplace_back(std::move(ih));
387  }
388  }
389  }
390 
391  // std::cout << "RectangularEtaPhiTrackingRegion hits " << result.size() << std::endl;
392 
393  return result;
394 }

References alongMomentum, GeomDetEnumerators::barrel, Plane::build(), utilities::cache(), watchdog::const, funct::cos(), SeedingLayerSetsHits::SeedingLayer::detLayer(), DeadROC_duringRun::dir, GeomDetEnumerators::endcap, f, edm::EventSetup::get(), get, hfClusterShapes_cfi::hits, SeedingLayerSetsHits::SeedingLayer::hits(), GeomDetEnumerators::isBarrel(), GeomDetEnumerators::isEndcap(), GeomDetEnumerators::isTrackerPixel(), GeomDetEnumerators::isTrackerStrip(), DetLayer::location(), LogDebug, eostools::move(), edm::ESHandle< T >::product(), mps_fire::result, makeMuonMisalignmentScenario::rot, funct::sin(), DetLayer::subDetector(), and badGlobalMuonTaggersAOD_cff::vtx.

◆ initEtaRange()

void RectangularEtaPhiTrackingRegion::initEtaRange ( const GlobalVector dir,
const Margin margin 
)
private

Definition at line 64 of file RectangularEtaPhiTrackingRegion.cc.

64  {
65  float eta = dir.eta();
66  theEtaRange = Range(eta - margin.left(), eta + margin.right());
67  theLambdaRange = Range(std::sinh(theEtaRange.min()), std::sinh(theEtaRange.max()));
68  theMeanLambda = std::sinh(theEtaRange.mean());
69 }

References DeadROC_duringRun::dir, PVValHelper::eta, and margin.

Referenced by RectangularEtaPhiTrackingRegion().

◆ intToUseMeasurementTracker()

static UseMeasurementTracker RectangularEtaPhiTrackingRegion::intToUseMeasurementTracker ( int  value)
inlinestatic

Definition at line 29 of file RectangularEtaPhiTrackingRegion.h.

29  {
30  assert(value >= -1 && value <= 1);
31  return static_cast<UseMeasurementTracker>(value);
32  }

References cms::cuda::assert().

Referenced by MuonTrackingRegionBuilder::build().

◆ isPrecise()

bool RectangularEtaPhiTrackingRegion::isPrecise ( ) const
inline

is precise error calculation switched on

Definition at line 174 of file RectangularEtaPhiTrackingRegion.h.

174 { return thePrecise; }

References thePrecise.

◆ name()

std::string RectangularEtaPhiTrackingRegion::name ( void  ) const
inlineoverridevirtual

Reimplemented from TrackingRegion.

Definition at line 193 of file RectangularEtaPhiTrackingRegion.h.

193 { return "RectangularEtaPhiTrackingRegion"; }

Referenced by config.CFG::__str__(), and validation.Sample::digest().

◆ operator=() [1/2]

RectangularEtaPhiTrackingRegion& RectangularEtaPhiTrackingRegion::operator= ( RectangularEtaPhiTrackingRegion &&  )
delete

◆ operator=() [2/2]

RectangularEtaPhiTrackingRegion& RectangularEtaPhiTrackingRegion::operator= ( RectangularEtaPhiTrackingRegion const &  )
delete

◆ phiMargin()

const Margin& RectangularEtaPhiTrackingRegion::phiMargin ( ) const
inline

defined phi range around phi0, margin is [phi_left,phi_right]. region is defined in a range: [phi0-phi_left, phi0+phi_right]

Definition at line 171 of file RectangularEtaPhiTrackingRegion.h.

171 { return thePhiMargin; }

References thePhiMargin.

Referenced by SeedFromConsecutiveHitsCreator::makeSeed().

◆ phiWindow()

OuterHitPhiPrediction RectangularEtaPhiTrackingRegion::phiWindow ( const edm::EventSetup iSetup) const
private

Definition at line 256 of file RectangularEtaPhiTrackingRegion.cc.

256  {
257  auto phi0 = phiDirection();
258  return OuterHitPhiPrediction(
261  originRBound());
262 }

References PixelRecoUtilities::curvature(), SiStripPI::max, and min().

◆ print()

std::string RectangularEtaPhiTrackingRegion::print ( void  ) const
overridevirtual

Reimplemented from TrackingRegion.

Definition at line 396 of file RectangularEtaPhiTrackingRegion.cc.

396  {
397  std::ostringstream str;
398  str << TrackingRegionBase::print() << " eta: " << theEtaRange << " phi:" << thePhiMargin << "precise: " << thePrecise;
399  return str.str();
400 }

References TrackingRegion::print(), and str.

◆ rzConstraint()

HitRZConstraint RectangularEtaPhiTrackingRegion::rzConstraint ( ) const
private

Definition at line 264 of file RectangularEtaPhiTrackingRegion.cc.

264  {
265  HitRZConstraint::Point pLeft, pRight;
266  float zMin = origin().z() - originZBound();
267  float zMax = origin().z() + originZBound();
268  float rMin = -originRBound();
269  float rMax = originRBound();
270  if (theEtaRange.max() > 0) {
271  pRight = HitRZConstraint::Point(rMin, zMax);
272  } else {
273  pRight = HitRZConstraint::Point(rMax, zMax);
274  }
275  if (theEtaRange.min() > 0.) {
276  pLeft = HitRZConstraint::Point(rMax, zMin);
277  } else {
278  pLeft = HitRZConstraint::Point(rMin, zMin);
279  }
280  return HitRZConstraint(pLeft, theLambdaRange.min(), pRight, theLambdaRange.max());
281 }

References photonAnalyzer_cfi::rMax, photonAnalyzer_cfi::rMin, photonAnalyzer_cfi::zMax, and photonAnalyzer_cfi::zMin.

◆ stringToUseMeasurementTracker()

RectangularEtaPhiTrackingRegion::UseMeasurementTracker RectangularEtaPhiTrackingRegion::stringToUseMeasurementTracker ( const std::string &  name)
static

◆ tanLambdaRange()

const Range& RectangularEtaPhiTrackingRegion::tanLambdaRange ( ) const
inline

Definition at line 167 of file RectangularEtaPhiTrackingRegion.h.

167 { return theLambdaRange; }

References theLambdaRange.

Referenced by SeedFromConsecutiveHitsCreator::makeSeed().

Member Data Documentation

◆ cache

cacheHits RectangularEtaPhiTrackingRegion::cache
mutableprivate

Definition at line 230 of file RectangularEtaPhiTrackingRegion.h.

◆ theEtaRange

Range RectangularEtaPhiTrackingRegion::theEtaRange
private

Definition at line 213 of file RectangularEtaPhiTrackingRegion.h.

Referenced by etaRange().

◆ theLambdaRange

Range RectangularEtaPhiTrackingRegion::theLambdaRange
private

Definition at line 214 of file RectangularEtaPhiTrackingRegion.h.

Referenced by tanLambdaRange().

◆ theMeanLambda

float RectangularEtaPhiTrackingRegion::theMeanLambda
private

Definition at line 216 of file RectangularEtaPhiTrackingRegion.h.

◆ theMeasurementTracker

const MeasurementTrackerEvent* RectangularEtaPhiTrackingRegion::theMeasurementTracker = nullptr
private

Definition at line 221 of file RectangularEtaPhiTrackingRegion.h.

◆ theMeasurementTrackerUsage

const UseMeasurementTracker RectangularEtaPhiTrackingRegion::theMeasurementTrackerUsage = UseMeasurementTracker::kNever
private

Definition at line 217 of file RectangularEtaPhiTrackingRegion.h.

◆ thePhiMargin

Margin RectangularEtaPhiTrackingRegion::thePhiMargin
private

Definition at line 215 of file RectangularEtaPhiTrackingRegion.h.

Referenced by phiMargin().

◆ thePrecise

bool RectangularEtaPhiTrackingRegion::thePrecise = false
private

Definition at line 218 of file RectangularEtaPhiTrackingRegion.h.

Referenced by isPrecise().

◆ theUseEtaPhi

bool RectangularEtaPhiTrackingRegion::theUseEtaPhi = false
private

Definition at line 220 of file RectangularEtaPhiTrackingRegion.h.

◆ theUseMS

bool RectangularEtaPhiTrackingRegion::theUseMS = false
private

Definition at line 219 of file RectangularEtaPhiTrackingRegion.h.

Vector3DBase
Definition: Vector3DBase.h:8
OuterHitPhiPrediction::setTolerance
void setTolerance(float tolerance)
Definition: OuterHitPhiPrediction.h:22
TrackingRegion::origin
GlobalPoint const & origin() const
Definition: TrackingRegion.h:71
edm::ESHandle::product
T const * product() const
Definition: ESHandle.h:86
MeasurementEstimator
Definition: MeasurementEstimator.h:19
TkRotation< float >
RectangularEtaPhiTrackingRegion::theLambdaRange
Range theLambdaRange
Definition: RectangularEtaPhiTrackingRegion.h:214
TrackingRegion::invPtRange
Range invPtRange() const
inverse pt range
Definition: TrackingRegion.h:83
photonAnalyzer_cfi.rMax
rMax
Definition: photonAnalyzer_cfi.py:91
w2
common ppss p3p6s2 common epss epspn46 common const1 w2
Definition: inclppp.h:1
RectangularEtaPhiTrackingRegion::theMeanLambda
float theMeanLambda
Definition: RectangularEtaPhiTrackingRegion.h:216
photonAnalyzer_cfi.zMax
zMax
Definition: photonAnalyzer_cfi.py:95
RectangularEtaPhiTrackingRegion::theUseEtaPhi
bool theUseEtaPhi
Definition: RectangularEtaPhiTrackingRegion.h:220
RectangularEtaPhiTrackingRegion::theEtaRange
Range theEtaRange
Definition: RectangularEtaPhiTrackingRegion.h:213
hltPixelTracks_cff.precise
precise
Definition: hltPixelTracks_cff.py:32
DetLayer::subDetector
virtual SubDetector subDetector() const =0
The type of detector (PixelBarrel, PixelEndcap, TIB, TOB, TID, TEC, CSC, DT, RPCBarrel,...
HLTSiStripMonitoring_cff.measurementTracker
measurementTracker
Definition: HLTSiStripMonitoring_cff.py:178
DetLayer
Definition: DetLayer.h:21
f
double f[11][100]
Definition: MuScleFitUtils.cc:78
PV3DBase::x
T x() const
Definition: PV3DBase.h:59
BarrelDetLayer::surface
const BoundSurface & surface() const final
GeometricSearchDet interface.
Definition: BarrelDetLayer.h:29
min
T min(T a, T b)
Definition: MathUtil.h:58
TrackingRegion::TrackingRegion
TrackingRegion(const GlobalVector &direction, const GlobalPoint &originPos, const Range &invPtRange, const float &originRBound, const float &originZBound)
Definition: TrackingRegion.h:47
SeedingLayerSetsHits::SeedingLayer::detLayer
const DetLayer * detLayer() const
Definition: SeedingLayerSetsHits.h:50
ForwardDetLayer::surface
const BoundSurface & surface() const final
The surface of the GeometricSearchDet.
Definition: ForwardDetLayer.h:29
RectangularEtaPhiTrackingRegion::theMeasurementTrackerUsage
const UseMeasurementTracker theMeasurementTrackerUsage
Definition: RectangularEtaPhiTrackingRegion.h:217
PixelRecoRange::mean
T mean() const
Definition: PixelRecoRange.h:27
HLT_FULL_cff.rVertex
rVertex
Definition: HLT_FULL_cff.py:109727
sqr
int sqr(const T &t)
Definition: pfalgo_common_ref.h:9
cms::cuda::assert
assert(be >=bs)
ReferenceCountingPointer< Plane >
RectangularEtaPhiTrackingRegion::phiMargin
const Margin & phiMargin() const
Definition: RectangularEtaPhiTrackingRegion.h:171
RectangularEtaPhiTrackingRegion::estimator
std::unique_ptr< MeasurementEstimator > estimator(const BarrelDetLayer *layer, const edm::EventSetup &iSetup) const
Definition: RectangularEtaPhiTrackingRegion.cc:140
GeometricSearchDet::position
virtual const Surface::PositionType & position() const
Returns position of the surface.
Definition: GeometricSearchDet.h:31
PixelRecoUtilities::curvature
T curvature(T InversePt, const edm::EventSetup &iSetup)
Definition: PixelRecoUtilities.h:42
createJobs.tmp
tmp
align.sh
Definition: createJobs.py:716
watchdog.const
const
Definition: watchdog.py:83
RectangularEtaPhiTrackingRegion::hits
TrackingRegion::Hits hits(const edm::EventSetup &es, const SeedingLayerSetsHits::SeedingLayer &layer) const override
get hits from layer compatible with region constraints
Definition: RectangularEtaPhiTrackingRegion.cc:283
PixelRecoRange::min
T min() const
Definition: PixelRecoRange.h:25
Bounds::length
virtual float length() const =0
HLT_FULL_cff.zVertex
zVertex
Definition: HLT_FULL_cff.py:109725
funct::sin
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
TrackingRegion::print
virtual std::string print() const
Definition: TrackingRegion.h:113
PV3DBase::z
T z() const
Definition: PV3DBase.h:61
HitZCheck
Definition: HitZCheck.h:10
GeomDetEnumerators::barrel
Definition: GeomDetEnumerators.h:9
IdealMagneticFieldRecord
Definition: IdealMagneticFieldRecord.h:11
DetLayer::location
virtual Location location() const =0
Which part of the detector (barrel, endcap)
OuterEstimator
Definition: OuterEstimator.h:23
TrajectoryStateOnSurface
Definition: TrajectoryStateOnSurface.h:16
RectangularEtaPhiTrackingRegion::initEtaRange
void initEtaRange(const GlobalVector &dir, const Margin &margin)
Definition: RectangularEtaPhiTrackingRegion.cc:64
TkTrackingRegionsMargin::left
const T & left() const
Definition: TkTrackingRegionsMargin.h:18
LayerMeasurements
Definition: LayerMeasurements.h:18
funct::cos
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
PixelRecoLineRZ::zAtR
float zAtR(float r) const
Definition: PixelRecoLineRZ.h:36
h
edm::EventSetup::get
T get() const
Definition: EventSetup.h:73
spr::deltaEta
static const double deltaEta
Definition: CaloConstants.h:8
TrackingRegion::Hits
SeedingLayerSetsHits::Hits Hits
Definition: TrackingRegion.h:44
SiPixelRawToDigiRegional_cfi.deltaPhi
deltaPhi
Definition: SiPixelRawToDigiRegional_cfi.py:9
alignCSCRings.corr
dictionary corr
Definition: alignCSCRings.py:124
PVValHelper::eta
Definition: PVValidationHelpers.h:69
PixelRecoRange::max
T max() const
Definition: PixelRecoRange.h:26
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
Surface::bounds
const Bounds & bounds() const
Definition: Surface.h:87
str
#define str(s)
Definition: TestProcessor.cc:48
edm::ESHandle< MagneticField >
HitRZConstraint
Definition: HitRZConstraint.h:8
TrackingRegion::phiDirection
float phiDirection() const
Definition: TrackingRegion.h:65
HcalDetIdTransform::transform
unsigned transform(const HcalDetId &id, unsigned transformCode)
Definition: HcalDetIdTransform.cc:7
GlobalTrajectoryParameters
Definition: GlobalTrajectoryParameters.h:15
HLTMuonOfflineAnalyzer_cfi.z0
z0
Definition: HLTMuonOfflineAnalyzer_cfi.py:98
GlobalPoint
Global3DPoint GlobalPoint
Definition: GlobalPoint.h:10
TrackingRegion::ptMin
float ptMin() const
minimal pt of interest
Definition: TrackingRegion.h:80
Point3DBase< float, GlobalTag >
TrackingRegion::originRBound
float originRBound() const
bounds the particle vertex in the transverse plane
Definition: TrackingRegion.h:74
PixelRecoRange::intersection
PixelRecoRange< T > intersection(const PixelRecoRange< T > &r) const
Definition: PixelRecoRange.h:40
RectangularEtaPhiTrackingRegion::theUseMS
bool theUseMS
Definition: RectangularEtaPhiTrackingRegion.h:219
Algo
Definition: fakeMenu.h:6
DetLayer::seqNum
int seqNum() const
Definition: DetLayer.h:35
badGlobalMuonTaggersAOD_cff.vtx
vtx
Definition: badGlobalMuonTaggersAOD_cff.py:5
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
OuterHitCompatibility
Definition: OuterHitCompatibility.h:21
RectangularEtaPhiTrackingRegion::thePrecise
bool thePrecise
Definition: RectangularEtaPhiTrackingRegion.h:218
RectangularEtaPhiTrackingRegion::UseMeasurementTracker::kForSiStrips
Plane::build
static PlanePointer build(Args &&... args)
Definition: Plane.h:33
PixelPluginsPhase0_cfi.isBarrel
isBarrel
Definition: PixelPluginsPhase0_cfi.py:17
OuterHitPhiPrediction
Definition: OuterHitPhiPrediction.h:12
RectangularEtaPhiTrackingRegion::theMeasurementTracker
const MeasurementTrackerEvent * theMeasurementTracker
Definition: RectangularEtaPhiTrackingRegion.h:221
PixelRecoRange< float >
RectangularEtaPhiTrackingRegion::UseMeasurementTracker::kNever
Bounds::thickness
virtual float thickness() const =0
StraightLinePropagator
Definition: StraightLinePropagator.h:16
LogDebug
#define LogDebug(id)
Definition: MessageLogger.h:670
SiStripPI::max
Definition: SiStripPayloadInspectorHelper.h:169
GeomDetEnumerators::endcap
Definition: GeomDetEnumerators.h:9
TrackingRegion::originZBound
float originZBound() const
bounds the particle vertex in the longitudinal plane
Definition: TrackingRegion.h:77
photonAnalyzer_cfi.zMin
zMin
Definition: photonAnalyzer_cfi.py:94
PV3DBase::y
T y() const
Definition: PV3DBase.h:60
TrackingRegion::direction
GlobalVector const & direction() const
the direction around which region is constructed
Definition: TrackingRegion.h:62
GeomDetEnumerators::isTrackerPixel
bool isTrackerPixel(GeomDetEnumerators::SubDetector m)
Definition: GeomDetEnumerators.cc:68
RectangularEtaPhiTrackingRegion::name
std::string name() const override
Definition: RectangularEtaPhiTrackingRegion.h:193
PixelRecoLineRZ
Definition: PixelRecoLineRZ.h:12
GeomDetEnumerators::isBarrel
bool isBarrel(GeomDetEnumerators::SubDetector m)
Definition: GeomDetEnumerators.cc:57
value
Definition: value.py:1
EtaPhiMeasurementEstimator
Definition: EtaPhiMeasurementEstimator.h:15
TrackingRegion::Range
PixelRecoRange< float > Range
Definition: TrackingRegion.h:42
TkTrackingRegionsMargin< float >
RectangularEtaPhiTrackingRegion::phiWindow
OuterHitPhiPrediction phiWindow(const edm::EventSetup &iSetup) const
Definition: RectangularEtaPhiTrackingRegion.cc:256
OuterDetCompatibility
Definition: OuterDetCompatibility.h:16
RectangularEtaPhiTrackingRegion::UseMeasurementTracker::kAlways
get
#define get
TkTrackingRegionsMargin::right
const T & right() const
Definition: TkTrackingRegionsMargin.h:19
BarrelDetLayer
Definition: BarrelDetLayer.h:22
PixelRecoPointRZ
Definition: PixelRecoPointRZ.h:6
SeedingLayerSetsHits::SeedingLayer::hits
Hits hits() const
Definition: SeedingLayerSetsHits.h:51
RectangularEtaPhiTrackingRegion::RectangularEtaPhiTrackingRegion
RectangularEtaPhiTrackingRegion(RectangularEtaPhiTrackingRegion const &rh)
Definition: RectangularEtaPhiTrackingRegion.h:45
HitRCheck
Definition: HitRCheck.h:10
RectangularEtaPhiTrackingRegion::cache
cacheHits cache
Definition: RectangularEtaPhiTrackingRegion.h:230
DDAxes::phi
SimpleLineRZ
Definition: PixelRecoLineRZ.h:63
PixelRecoUtilities::longitudinalBendingCorrection
double longitudinalBendingCorrection(double radius, double pt, const edm::EventSetup &iSetup)
Definition: PixelRecoUtilities.h:55
eostools.move
def move(src, dest)
Definition: eostools.py:511
ForwardDetLayer
Definition: ForwardDetLayer.h:22
FreeTrajectoryState
Definition: FreeTrajectoryState.h:27
RectangularEtaPhiTrackingRegion::checkRZOld
std::unique_ptr< HitRZCompatibility > checkRZOld(const DetLayer *layer, const Hit &outerHit, const edm::EventSetup &iSetup, const DetLayer *outerlayer) const
Definition: RectangularEtaPhiTrackingRegion.cc:71
Exception
Definition: hltDiff.cc:246
HitRZConstraint::Point
SimpleLineRZ::Point Point
Definition: HitRZConstraint.h:11
RectangularEtaPhiTrackingRegion::rzConstraint
HitRZConstraint rzConstraint() const
Definition: RectangularEtaPhiTrackingRegion.cc:264
makeMuonMisalignmentScenario.rot
rot
Definition: makeMuonMisalignmentScenario.py:322
CosmicsPD_Skims.radius
radius
Definition: CosmicsPD_Skims.py:135
hltPixelTracks_cff.whereToUseMeasurementTracker
whereToUseMeasurementTracker
Definition: hltPixelTracks_cff.py:47
MultipleScatteringParametrisation
Definition: MultipleScatteringParametrisation.h:16
photonAnalyzer_cfi.rMin
rMin
Definition: photonAnalyzer_cfi.py:90
mps_fire.result
result
Definition: mps_fire.py:303
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
RectangularEtaPhiTrackingRegion::Margin
TkTrackingRegionsMargin< float > Margin
Definition: RectangularEtaPhiTrackingRegion.h:60
SurfaceOrientation::outer
Definition: Surface.h:19
MagneticField
Definition: MagneticField.h:19
vtxMean
static GlobalPoint vtxMean(const GlobalPoint &p1, const GlobalError &e1, const GlobalPoint &p2, const GlobalError &e2)
Definition: GhostTrackVertexFinder.cc:121
GeomDetEnumerators::isEndcap
bool isEndcap(GeomDetEnumerators::SubDetector m)
Definition: GeomDetEnumerators.cc:62
BarrelDetLayer::specificSurface
virtual const BoundCylinder & specificSurface() const final
Extension of the interface.
Definition: BarrelDetLayer.h:39
reco::helper::VirtualJetProducerHelper::intersection
double intersection(double r12)
Definition: VirtualJetProducerHelper.h:14
alongMomentum
Definition: PropagationDirection.h:4
GeomDetEnumerators::isTrackerStrip
bool isTrackerStrip(GeomDetEnumerators::SubDetector m)
Definition: GeomDetEnumerators.cc:64
RectangularEtaPhiTrackingRegion::thePhiMargin
Margin thePhiMargin
Definition: RectangularEtaPhiTrackingRegion.h:215
TrackingRegionBase
TrackingRegion TrackingRegionBase
Definition: TrackingRegion.h:133
ForwardDetLayer::specificSurface
virtual const BoundDisk & specificSurface() const final
Definition: ForwardDetLayer.h:39
DeadROC_duringRun.dir
dir
Definition: DeadROC_duringRun.py:23
margin
Double_t margin
Definition: trackSplitPlot.h:45