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
 
void checkTracks (reco::TrackCollection const &tracks, std::vector< bool > &mask) 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
std::vector< bool > checkTracks (reco::TrackCollection const &tracks) const
 return a boolean mask over the TrackCollection reflecting the compatibility of each track with the region constraints More...
 
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 227 of file RectangularEtaPhiTrackingRegion.h.

◆ cacheHits

Definition at line 228 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 182 of file RectangularEtaPhiTrackingRegion.h.

189  {
190  return checkRZOld(layer, outerHit, iSetup, outerlayer);
191  }

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 103 of file RectangularEtaPhiTrackingRegion.cc.

106  {
107  bool isBarrel = (layer->location() == GeomDetEnumerators::barrel);
108  GlobalPoint ohit = outerHit->globalPosition();
109  float outerred_r = std::sqrt(sqr(ohit.x() - origin().x()) + sqr(ohit.y() - origin().y()));
110  PixelRecoPointRZ outer(outerred_r, ohit.z());
111 
112  float zMinOrigin = origin().z() - originZBound();
113  float zMaxOrigin = origin().z() + originZBound();
114 
115  if (!thePrecise) {
116  float vcotMin = (outer.z() > zMaxOrigin) ? (outer.z() - zMaxOrigin) / (outer.r() + originRBound())
117  : (outer.z() - zMaxOrigin) / (outer.r() - originRBound());
118  float vcotMax = (outer.z() > zMinOrigin) ? (outer.z() - zMinOrigin) / (outer.r() - originRBound())
119  : (outer.z() - zMinOrigin) / (outer.r() + originRBound());
120  float cotRight = std::max(vcotMin, theLambdaRange.min());
121  float cotLeft = std::min(vcotMax, theLambdaRange.max());
122  return std::make_unique<HitEtaCheck>(isBarrel, outer, cotLeft, cotRight);
123  }
124 
125  float outerZscatt = 0;
126  float innerScatt = 0;
127  //CHECK
128  if (theUseMS) {
129  MultipleScatteringParametrisation oSigma(layer, iSetup);
130  float cotThetaOuter = theMeanLambda;
131  float sinThetaOuterInv = std::sqrt(1.f + sqr(cotThetaOuter));
132  outerZscatt = 3.f * oSigma(ptMin(), cotThetaOuter) * sinThetaOuterInv;
133  }
134 
137  float zMinLine = boundL.zAtR(0.) - outerZscatt;
138  float zMaxLine = boundR.zAtR(0.) + outerZscatt;
139  PixelRecoPointRZ vtxL(0., max(zMinLine, zMinOrigin));
140  PixelRecoPointRZ vtxR(0., min(zMaxLine, zMaxOrigin));
141  PixelRecoPointRZ vtxMean(0., (vtxL.z() + vtxR.z()) * 0.5f);
142  //CHECK
143 
144  if (theUseMS) {
145  MultipleScatteringParametrisation iSigma(layer, iSetup);
146 
147  innerScatt =
148  3.f * (outerlayer ? iSigma(ptMin(), vtxMean, outer, outerlayer->seqNum()) : iSigma(ptMin(), vtxMean, outer));
149 
150  // innerScatt = 3.f *iSigma( ptMin(), vtxMean, outer);
151  }
152 
153  SimpleLineRZ leftLine(vtxL, outer);
154  SimpleLineRZ rightLine(vtxR, outer);
155 
156  HitRZConstraint rzConstraint(leftLine, rightLine);
157  auto cotTheta = std::abs(leftLine.cotLine() + rightLine.cotLine()) * 0.5f;
158 
159  // std::cout << "RectangularEtaPhiTrackingRegion " << outer.r()<<','<< outer.z() << " " << innerScatt << " " << cotTheta << " " << hitZErr << std::endl;
160 
161  if (isBarrel) {
162  auto sinThetaInv = std::sqrt(1.f + sqr(cotTheta));
163  auto corr = innerScatt * sinThetaInv;
164  return std::make_unique<HitZCheck>(rzConstraint, HitZCheck::Margin(corr, corr));
165  } else {
166  auto cosThetaInv = std::sqrt(1.f + sqr(1.f / cotTheta));
167  auto corr = innerScatt * cosThetaInv;
168  return std::make_unique<HitRCheck>(rzConstraint, HitRCheck::Margin(corr, corr));
169  }
170 }

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().

◆ checkTracks()

void RectangularEtaPhiTrackingRegion::checkTracks ( reco::TrackCollection const &  tracks,
std::vector< bool > &  mask 
) const
overridevirtual

Set the elements of the mask corresponding to the tracks that are compatable with the region. Does not reset the elements corresponding to the tracks that are not compatible.

Implements TrackingRegion.

Definition at line 51 of file RectangularEtaPhiTrackingRegion.cc.

51  {
52  const math::XYZPoint regOrigin(origin().x(), origin().y(), origin().z());
53  auto phi0 = phiDirection() + 0.5 * (phiMargin().right() - phiMargin().left());
54  auto dphi = 0.5 * (phiMargin().right() + phiMargin().left());
55 
56  assert(mask.size() == tracks.size());
57  int i = -1;
58  for (auto const& track : tracks) {
59  i++;
60  if (mask[i])
61  continue;
62 
63  if (track.pt() < ptMin()) {
64  continue;
65  }
66  if (!etaRange().inside(track.eta())) {
67  continue;
68  }
69  if (std::abs(proxim(track.phi(), phi0) - phi0) > dphi) {
70  continue;
71  }
72  if (std::abs(track.dxy(regOrigin)) > originRBound()) {
73  continue;
74  }
75  if (std::abs(track.dz(regOrigin)) > originZBound()) {
76  continue;
77  }
78  mask[i] = true;
79  }
80 }

References funct::abs(), cms::cuda::assert(), generateTowerEtThresholdLUT::etaRange, mps_fire::i, proxim(), ptMin, HLT_2018_cff::track, and PDWG_EXOHSCP_cff::tracks.

◆ clone()

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

Implements TrackingRegion.

Definition at line 193 of file RectangularEtaPhiTrackingRegion.h.

193  {
194  return std::make_unique<RectangularEtaPhiTrackingRegion>(*this);
195  }

◆ 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 172 of file RectangularEtaPhiTrackingRegion.cc.

173  {
174  using Algo = HitZCheck;
175 
176  // det dimensions
177  float halfLength = 0.5f * layer->surface().bounds().length();
178  float halfThickness = 0.5f * layer->surface().bounds().thickness();
179  float z0 = layer->position().z();
180  float radius = layer->specificSurface().radius();
181 
182  // det ranges
183  Range detRWindow(radius - halfThickness, radius + halfThickness);
184  Range detZWindow(z0 - halfLength, z0 + halfLength);
185 
186  // z prediction, skip if not intersection
187  HitZCheck zPrediction(rzConstraint());
188  Range hitZWindow = zPrediction.range(detRWindow.min()).intersection(detZWindow);
189  if (hitZWindow.empty())
190  return nullptr;
191 
192  // phi prediction
193  OuterHitPhiPrediction phiPrediction = phiWindow(iSetup);
194 
195  //
196  // optional corrections for tolerance (mult.scatt, error, bending)
197  //
199  if (thePrecise) {
200  auto invR = 1.f / radius;
201  auto cotTheta = (hitZWindow.mean() - origin().z()) * invR;
202  auto sinThetaInv = std::sqrt(1.f + sqr(cotTheta));
203  MultipleScatteringParametrisation msSigma(layer, iSetup);
204  auto scatt = 3.f * msSigma(ptMin(), cotTheta);
205  auto bendR = longitudinalBendingCorrection(radius, ptMin(), iSetup);
206 
207  float hitErrRPhi = 0.;
208  float hitErrZ = 0.;
209  float corrPhi = (scatt + hitErrRPhi) * invR;
210  float corrZ = scatt * sinThetaInv + bendR * std::abs(cotTheta) + hitErrZ;
211 
212  phiPrediction.setTolerance(corrPhi);
213  zPrediction.setTolerance(HitZCheck::Margin(corrZ, corrZ));
214 
215  //
216  // hit ranges in det
217  //
218  OuterHitPhiPrediction::Range phi1 = phiPrediction(detRWindow.min());
219  OuterHitPhiPrediction::Range phi2 = phiPrediction(detRWindow.max());
220  phiRange = Range(std::min(phi1.min(), phi2.min()), std::max(phi1.max(), phi2.max()));
221  Range w1 = zPrediction.range(detRWindow.min());
222  Range w2 = zPrediction.range(detRWindow.max());
223  hitZWindow = Range(std::min(w1.min(), w2.min()), std::max(w1.max(), w2.max())).intersection(detZWindow);
224  } else {
225  phiRange = phiPrediction(detRWindow.mean());
226  }
227 
228  return std::make_unique<OuterEstimator<Algo>>(OuterDetCompatibility(layer, phiRange, detRWindow, hitZWindow),
229  OuterHitCompatibility<Algo>(phiPrediction, zPrediction),
230  iSetup);
231 }

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 233 of file RectangularEtaPhiTrackingRegion.cc.

234  {
235  using Algo = HitRCheck;
236  // det dimensions, ranges
237  float halfThickness = 0.5f * layer->surface().bounds().thickness();
238  float zLayer = layer->position().z();
239  Range detZWindow(zLayer - halfThickness, zLayer + halfThickness);
240  Range detRWindow(layer->specificSurface().innerRadius(), layer->specificSurface().outerRadius());
241 
242  // r prediction, skip if not intersection
243  HitRCheck rPrediction(rzConstraint());
244  Range hitRWindow = rPrediction.range(zLayer).intersection(detRWindow);
245  if (hitRWindow.empty())
246  return nullptr;
247 
248  // phi prediction
249  OuterHitPhiPrediction phiPrediction = phiWindow(iSetup);
250  OuterHitPhiPrediction::Range phiRange = phiPrediction(detRWindow.max());
251 
252  //
253  // optional corrections for tolerance (mult.scatt, error, bending)
254  //
255  if (thePrecise) {
256  float cotTheta = (detZWindow.mean() - origin().z()) / hitRWindow.mean();
257  float cosThetaInv = std::sqrt(1 + sqr(cotTheta)) / cotTheta;
258  MultipleScatteringParametrisation msSigma(layer, iSetup);
259  float scatt = 3.f * msSigma(ptMin(), cotTheta);
260  float bendR = longitudinalBendingCorrection(hitRWindow.max(), ptMin(), iSetup);
261  float hitErrRPhi = 0.;
262  float hitErrR = 0.;
263  float corrPhi = (scatt + hitErrRPhi) / detRWindow.min();
264  float corrR = scatt * std::abs(cosThetaInv) + bendR + hitErrR;
265 
266  phiPrediction.setTolerance(corrPhi);
267  rPrediction.setTolerance(HitRCheck::Margin(corrR, corrR));
268 
269  //
270  // hit ranges in det
271  //
272  Range w1, w2;
273  if (zLayer > 0) {
274  w1 = rPrediction.range(detZWindow.min());
275  w2 = rPrediction.range(detZWindow.max());
276  } else {
277  w1 = rPrediction.range(detZWindow.max());
278  w2 = rPrediction.range(detZWindow.min());
279  }
280  hitRWindow = Range(w1.min(), w2.max()).intersection(detRWindow);
281  }
282 
283  return std::make_unique<OuterEstimator<Algo>>(OuterDetCompatibility(layer, phiRange, hitRWindow, detZWindow),
284  OuterHitCompatibility<Algo>(phiPrediction, rPrediction),
285  iSetup);
286 }

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 315 of file RectangularEtaPhiTrackingRegion.cc.

316  {
318 
319  //ESTIMATOR
320 
321  const DetLayer* detLayer = layer.detLayer();
322 
323  bool measurementMethod = false;
325  measurementMethod = true;
328  measurementMethod = true;
329 
330  if (measurementMethod) {
332  es.get<IdealMagneticFieldRecord>().get(field);
333  const MagneticField* magField = field.product();
334 
335  const GlobalPoint vtx = origin();
337 
338  std::unique_ptr<MeasurementEstimator> est;
341  (!theUseEtaPhi && detLayer->location() == GeomDetEnumerators::barrel)) {
342  const BarrelDetLayer& bl = dynamic_cast<const BarrelDetLayer&>(*detLayer);
343  est = estimator(&bl, es);
344  } else if ((GeomDetEnumerators::isTrackerPixel(detLayer->subDetector()) &&
346  (!theUseEtaPhi && detLayer->location() == GeomDetEnumerators::endcap)) {
347  const ForwardDetLayer& fl = dynamic_cast<const ForwardDetLayer&>(*detLayer);
348  est = estimator(&fl, es);
349  }
350 
351  EtaPhiMeasurementEstimator etaPhiEstimator((theEtaRange.second - theEtaRange.first) * 0.5f,
352  (thePhiMargin.left() + thePhiMargin.right()) * 0.5f);
353  MeasurementEstimator* findDetAndHits = &etaPhiEstimator;
354  if (est) {
355  LogDebug("RectangularEtaPhiTrackingRegion") << "use pixel specific estimator.";
356  findDetAndHits = est.get();
357  } else {
358  LogDebug("RectangularEtaPhiTrackingRegion") << "use generic etat phi estimator.";
359  }
360 
361  // TSOS
362  float phi = phiDirection();
363  // std::cout << "dir " << direction().x()/direction().perp() <<','<< direction().y()/direction().perp() << " " << sin(phi) <<','<<cos(phi)<< std::endl;
364  Surface::RotationType rot(sin(phi), -cos(phi), 0, 0, 0, -1, cos(phi), sin(phi), 0);
365 
366  Plane::PlanePointer surface = Plane::build(GlobalPoint(0., 0., 0.), rot);
367  //TrajectoryStateOnSurface tsos(lpar, *surface, magField);
368 
370  TrajectoryStateOnSurface tsos(fts, *surface);
371 
372  // propagator
373  StraightLinePropagator prop(magField, alongMomentum);
374 
376 
377  auto hits = lm.recHits(*detLayer, tsos, prop, *findDetAndHits);
378 
379  result.reserve(hits.size());
380  for (auto h : hits) {
381  cache.emplace_back(h);
382  result.emplace_back(h);
383  }
384 
385  LogDebug("RectangularEtaPhiTrackingRegion")
386  << " found " << hits.size() << " minus one measurements on layer: " << detLayer->subDetector();
387  // std::cout << "RectangularEtaPhiTrackingRegion" <<" found "<< meas.size()<<" minus one measurements on layer: "<<detLayer->subDetector() << std::endl;
388 
389  } else {
390  //
391  // temporary solution (actually heavily used for Pixels....)
392  //
393  if (detLayer->location() == GeomDetEnumerators::barrel) {
394  const BarrelDetLayer& bl = dynamic_cast<const BarrelDetLayer&>(*detLayer);
395  auto est = estimator(&bl, es);
396  if (!est)
397  return result;
398  using Algo = HitZCheck;
399  auto const& hitComp = (reinterpret_cast<OuterEstimator<Algo> const&>(*est)).hitCompatibility();
400  auto layerHits = layer.hits();
401  result.reserve(layerHits.size());
402  for (auto&& ih : layerHits) {
403  if (hitComp(*ih))
404  result.emplace_back(std::move(ih));
405  }
406 
407  } else {
408  const ForwardDetLayer& fl = dynamic_cast<const ForwardDetLayer&>(*detLayer);
409  auto est = estimator(&fl, es);
410  if (!est)
411  return result;
412  using Algo = HitRCheck;
413  auto const& hitComp = (reinterpret_cast<OuterEstimator<Algo> const&>(*est)).hitCompatibility();
414  auto layerHits = layer.hits();
415  result.reserve(layerHits.size());
416  for (auto&& ih : layerHits) {
417  if (hitComp(*ih))
418  result.emplace_back(std::move(ih));
419  }
420  }
421  }
422 
423  // std::cout << "RectangularEtaPhiTrackingRegion hits " << result.size() << std::endl;
424 
425  return result;
426 }

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 96 of file RectangularEtaPhiTrackingRegion.cc.

96  {
97  float eta = dir.eta();
98  theEtaRange = Range(eta - margin.left(), eta + margin.right());
99  theLambdaRange = Range(std::sinh(theEtaRange.min()), std::sinh(theEtaRange.max()));
100  theMeanLambda = std::sinh(theEtaRange.mean());
101 }

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 197 of file RectangularEtaPhiTrackingRegion.h.

197 { 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 288 of file RectangularEtaPhiTrackingRegion.cc.

288  {
289  auto phi0 = phiDirection();
290  return OuterHitPhiPrediction(
293  originRBound());
294 }

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

◆ print()

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

Reimplemented from TrackingRegion.

Definition at line 428 of file RectangularEtaPhiTrackingRegion.cc.

428  {
429  std::ostringstream str;
430  str << TrackingRegionBase::print() << " eta: " << theEtaRange << " phi:" << thePhiMargin << "precise: " << thePrecise;
431  return str.str();
432 }

References TrackingRegion::print(), and str.

◆ rzConstraint()

HitRZConstraint RectangularEtaPhiTrackingRegion::rzConstraint ( ) const
private

Definition at line 296 of file RectangularEtaPhiTrackingRegion.cc.

296  {
297  HitRZConstraint::Point pLeft, pRight;
298  float zMin = origin().z() - originZBound();
299  float zMax = origin().z() + originZBound();
300  float rMin = -originRBound();
301  float rMax = originRBound();
302  if (theEtaRange.max() > 0) {
303  pRight = HitRZConstraint::Point(rMin, zMax);
304  } else {
305  pRight = HitRZConstraint::Point(rMax, zMax);
306  }
307  if (theEtaRange.min() > 0.) {
308  pLeft = HitRZConstraint::Point(rMax, zMin);
309  } else {
310  pLeft = HitRZConstraint::Point(rMin, zMin);
311  }
312  return HitRZConstraint(pLeft, theLambdaRange.min(), pRight, theLambdaRange.max());
313 }

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 234 of file RectangularEtaPhiTrackingRegion.h.

◆ theEtaRange

Range RectangularEtaPhiTrackingRegion::theEtaRange
private

Definition at line 217 of file RectangularEtaPhiTrackingRegion.h.

Referenced by etaRange().

◆ theLambdaRange

Range RectangularEtaPhiTrackingRegion::theLambdaRange
private

Definition at line 218 of file RectangularEtaPhiTrackingRegion.h.

Referenced by tanLambdaRange().

◆ theMeanLambda

float RectangularEtaPhiTrackingRegion::theMeanLambda
private

Definition at line 220 of file RectangularEtaPhiTrackingRegion.h.

◆ theMeasurementTracker

const MeasurementTrackerEvent* RectangularEtaPhiTrackingRegion::theMeasurementTracker = nullptr
private

Definition at line 225 of file RectangularEtaPhiTrackingRegion.h.

◆ theMeasurementTrackerUsage

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

Definition at line 221 of file RectangularEtaPhiTrackingRegion.h.

◆ thePhiMargin

Margin RectangularEtaPhiTrackingRegion::thePhiMargin
private

Definition at line 219 of file RectangularEtaPhiTrackingRegion.h.

Referenced by phiMargin().

◆ thePrecise

bool RectangularEtaPhiTrackingRegion::thePrecise = false
private

Definition at line 222 of file RectangularEtaPhiTrackingRegion.h.

Referenced by isPrecise().

◆ theUseEtaPhi

bool RectangularEtaPhiTrackingRegion::theUseEtaPhi = false
private

Definition at line 224 of file RectangularEtaPhiTrackingRegion.h.

◆ theUseMS

bool RectangularEtaPhiTrackingRegion::theUseMS = false
private

Definition at line 223 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:73
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:218
DDAxes::y
TrackingRegion::invPtRange
Range invPtRange() const
inverse pt range
Definition: TrackingRegion.h:85
photonAnalyzer_cfi.rMax
rMax
Definition: photonAnalyzer_cfi.py:91
PDWG_EXOHSCP_cff.tracks
tracks
Definition: PDWG_EXOHSCP_cff.py:28
w2
common ppss p3p6s2 common epss epspn46 common const1 w2
Definition: inclppp.h:1
RectangularEtaPhiTrackingRegion::theMeanLambda
float theMeanLambda
Definition: RectangularEtaPhiTrackingRegion.h:220
mps_fire.i
i
Definition: mps_fire.py:355
photonAnalyzer_cfi.zMax
zMax
Definition: photonAnalyzer_cfi.py:95
RectangularEtaPhiTrackingRegion::theUseEtaPhi
bool theUseEtaPhi
Definition: RectangularEtaPhiTrackingRegion.h:224
RectangularEtaPhiTrackingRegion::theEtaRange
Range theEtaRange
Definition: RectangularEtaPhiTrackingRegion.h:217
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:49
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:221
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)
proxim
constexpr T proxim(T b, T a)
Definition: normalizedPhi.h:14
RectangularEtaPhiTrackingRegion::etaRange
const Range & etaRange() const
allowed eta range [eta_min, eta_max] interval
Definition: RectangularEtaPhiTrackingRegion.h:166
ReferenceCountingPointer< Plane >
DDAxes::x
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:172
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:315
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:126
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:96
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:46
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
DDAxes::z
str
#define str(s)
Definition: TestProcessor.cc:48
edm::ESHandle< MagneticField >
HitRZConstraint
Definition: HitRZConstraint.h:8
TrackingRegion::phiDirection
float phiDirection() const
Definition: TrackingRegion.h:67
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:82
Point3DBase< float, GlobalTag >
TrackingRegion::originRBound
float originRBound() const
bounds the particle vertex in the transverse plane
Definition: TrackingRegion.h:76
PixelRecoRange::intersection
PixelRecoRange< T > intersection(const PixelRecoRange< T > &r) const
Definition: PixelRecoRange.h:40
RectangularEtaPhiTrackingRegion::theUseMS
bool theUseMS
Definition: RectangularEtaPhiTrackingRegion.h:223
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:222
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:225
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
math::XYZPoint
XYZPointD XYZPoint
point in space with cartesian internal representation
Definition: Point3D.h:12
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:79
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:64
GeomDetEnumerators::isTrackerPixel
bool isTrackerPixel(GeomDetEnumerators::SubDetector m)
Definition: GeomDetEnumerators.cc:68
RectangularEtaPhiTrackingRegion::name
std::string name() const override
Definition: RectangularEtaPhiTrackingRegion.h:197
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:44
TkTrackingRegionsMargin< float >
RectangularEtaPhiTrackingRegion::phiWindow
OuterHitPhiPrediction phiWindow(const edm::EventSetup &iSetup) const
Definition: RectangularEtaPhiTrackingRegion.cc:288
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:234
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:103
Exception
Definition: hltDiff.cc:246
HitRZConstraint::Point
SimpleLineRZ::Point Point
Definition: HitRZConstraint.h:11
RectangularEtaPhiTrackingRegion::rzConstraint
HitRZConstraint rzConstraint() const
Definition: RectangularEtaPhiTrackingRegion.cc:296
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
HLT_2018_cff.track
track
Definition: HLT_2018_cff.py:10352
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
PixelRecoRange::inside
bool inside(const T &value) const
Definition: PixelRecoRange.h:36
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:219
TrackingRegionBase
TrackingRegion TrackingRegionBase
Definition: TrackingRegion.h:146
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