CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Private Attributes
FastTrackerRecHitMatcher Class Reference
Inheritance diagram for FastTrackerRecHitMatcher:
edm::stream::EDProducer<>

Public Member Functions

 FastTrackerRecHitMatcher (const edm::ParameterSet &)
 
 ~FastTrackerRecHitMatcher () override
 
- Public Member Functions inherited from edm::stream::EDProducer<>
 EDProducer ()=default
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndRuns () const final
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 

Private Types

typedef std::pair< LocalPoint, LocalPointStripPosition
 

Private Member Functions

const FastSingleTrackerRecHit_cast2Single (const FastTrackerRecHit *recHit) const
 
std::unique_ptr< FastTrackerRecHitmatch (const FastSingleTrackerRecHit *monoRH, const FastSingleTrackerRecHit *stereoRH, const GluedGeomDet *gluedDet, LocalVector &trackdirection, bool stereLayerFirst) const
 
void produce (edm::Event &, const edm::EventSetup &) override
 
StripPosition project (const GeomDetUnit *det, const GluedGeomDet *glueddet, const StripPosition &strip, const LocalVector &trackdirection) const
 
std::unique_ptr< FastTrackerRecHitprojectOnly (const FastSingleTrackerRecHit *originalRH, const GeomDet *monoDet, const GluedGeomDet *gluedDet, LocalVector &ldir) const
 

Private Attributes

edm::EDGetTokenT< FastTrackerRecHitRefCollectionsimHit2RecHitMapToken
 
edm::EDGetTokenT< edm::PSimHitContainersimHitsToken
 

Additional Inherited Members

- Public Types inherited from edm::stream::EDProducer<>
typedef CacheContexts< T... > CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T... > HasAbility
 
typedef CacheTypes::LuminosityBlockCache LuminosityBlockCache
 
typedef LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCacheLuminosityBlockContext
 
typedef CacheTypes::LuminosityBlockSummaryCache LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache, GlobalCacheRunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 

Detailed Description

Definition at line 30 of file FastTrackerRecHitMatcher.cc.

Member Typedef Documentation

◆ StripPosition

Definition at line 40 of file FastTrackerRecHitMatcher.cc.

Constructor & Destructor Documentation

◆ FastTrackerRecHitMatcher()

FastTrackerRecHitMatcher::FastTrackerRecHitMatcher ( const edm::ParameterSet iConfig)
explicit

Definition at line 76 of file FastTrackerRecHitMatcher.cc.

78 {
79  simHitsToken = consumes<edm::PSimHitContainer>(iConfig.getParameter<edm::InputTag>("simHits"));
81  consumes<FastTrackerRecHitRefCollection>(iConfig.getParameter<edm::InputTag>("simHit2RecHitMap"));
82 
83  produces<FastTrackerRecHitCollection>();
84  produces<FastTrackerRecHitRefCollection>("simHit2RecHitMap");
85 }

References edm::ParameterSet::getParameter(), simHit2RecHitMapToken, and simHitsToken.

◆ ~FastTrackerRecHitMatcher()

FastTrackerRecHitMatcher::~FastTrackerRecHitMatcher ( )
inlineoverride

Definition at line 33 of file FastTrackerRecHitMatcher.cc.

33 { ; }

Member Function Documentation

◆ _cast2Single()

const FastSingleTrackerRecHit* FastTrackerRecHitMatcher::_cast2Single ( const FastTrackerRecHit recHit) const
inlineprivate

Definition at line 62 of file FastTrackerRecHitMatcher.cc.

62  {
63  if (!recHit->isSingle()) {
64  throw cms::Exception("FastTrackerRecHitMatcher")
65  << "all rechits in simHit2RecHitMap must be instances of FastSingleTrackerRecHit. recHit's rtti: "
66  << recHit->rtti() << std::endl;
67  }
68  return dynamic_cast<const FastSingleTrackerRecHit*>(recHit);
69  }

References Exception, and rpcPointValidation_cfi::recHit.

Referenced by produce().

◆ fillDescriptions()

void FastTrackerRecHitMatcher::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 356 of file FastTrackerRecHitMatcher.cc.

356  {
357  //The following says we do not know what parameters are allowed so do no validation
358  // Please change this to state exactly what you do use, even if it is no parameters
360  desc.setUnknown();
361  descriptions.addDefault(desc);
362 }

References edm::ConfigurationDescriptions::addDefault(), and edm::ParameterSetDescription::setUnknown().

◆ match()

std::unique_ptr< FastTrackerRecHit > FastTrackerRecHitMatcher::match ( const FastSingleTrackerRecHit monoRH,
const FastSingleTrackerRecHit stereoRH,
const GluedGeomDet gluedDet,
LocalVector trackdirection,
bool  stereLayerFirst 
) const
private

Definition at line 196 of file FastTrackerRecHitMatcher.cc.

200  {
201  // stripdet = mono
202  // partnerstripdet = stereo
203  const GeomDetUnit* stripdet = gluedDet->monoDet();
204  const GeomDetUnit* partnerstripdet = gluedDet->stereoDet();
205  const StripTopology& topol = (const StripTopology&)stripdet->topology();
206 
208 
209  // position of the initial and final point of the strip (RPHI cluster) in local strip coordinates
210  MeasurementPoint RPHIpoint = topol.measurementPosition(monoRH->localPosition());
211  MeasurementPoint RPHIpointini = MeasurementPoint(RPHIpoint.x(), -0.5);
212  MeasurementPoint RPHIpointend = MeasurementPoint(RPHIpoint.x(), 0.5);
213 
214  // position of the initial and final point of the strip in local coordinates (mono det)
215  StripPosition stripmono = StripPosition(topol.localPosition(RPHIpointini), topol.localPosition(RPHIpointend));
216 
217  if (trackdirection.mag2() <
218  FLT_MIN) { // in case of no track hypothesis assume a track from the origin through the center of the strip
219  LocalPoint lcenterofstrip = monoRH->localPosition();
220  GlobalPoint gcenterofstrip = (stripdet->surface()).toGlobal(lcenterofstrip);
221  GlobalVector gtrackdirection = gcenterofstrip - GlobalPoint(0, 0, 0);
222  trackdirection = (gluedDet->surface()).toLocal(gtrackdirection);
223  }
224 
225  //project mono hit on glued det
226  StripPosition projectedstripmono = project(stripdet, gluedDet, stripmono, trackdirection);
227  const StripTopology& partnertopol = (const StripTopology&)partnerstripdet->topology();
228 
229  //error calculation (the part that depends on mono RH only)
230  LocalVector RPHIpositiononGluedendvector = projectedstripmono.second - projectedstripmono.first;
231  double c1 = sin(RPHIpositiononGluedendvector.phi());
232  double s1 = -cos(RPHIpositiononGluedendvector.phi());
233  MeasurementError errormonoRH = topol.measurementError(monoRH->localPosition(), monoRH->localPositionError());
234  double pitch = topol.localPitch(monoRH->localPosition());
235  double sigmap12 = errormonoRH.uu() * pitch * pitch;
236 
237  // position of the initial and final point of the strip (STEREO cluster)
238  MeasurementPoint STEREOpoint = partnertopol.measurementPosition(stereoRH->localPosition());
239 
240  MeasurementPoint STEREOpointini = MeasurementPoint(STEREOpoint.x(), -0.5);
241  MeasurementPoint STEREOpointend = MeasurementPoint(STEREOpoint.x(), 0.5);
242 
243  // position of the initial and final point of the strip in local coordinates (stereo det)
244  StripPosition stripstereo(partnertopol.localPosition(STEREOpointini), partnertopol.localPosition(STEREOpointend));
245 
246  //project stereo hit on glued det
247  StripPosition projectedstripstereo = project(partnerstripdet, gluedDet, stripstereo, trackdirection);
248 
249  //perform the matching
250  //(x2-x1)(y-y1)=(y2-y1)(x-x1)
252  AlgebraicVector2 c, solution;
253  m(0, 0) = -(projectedstripmono.second.y() - projectedstripmono.first.y());
254  m(0, 1) = (projectedstripmono.second.x() - projectedstripmono.first.x());
255  m(1, 0) = -(projectedstripstereo.second.y() - projectedstripstereo.first.y());
256  m(1, 1) = (projectedstripstereo.second.x() - projectedstripstereo.first.x());
257  c(0) = m(0, 1) * projectedstripmono.first.y() + m(0, 0) * projectedstripmono.first.x();
258  c(1) = m(1, 1) * projectedstripstereo.first.y() + m(1, 0) * projectedstripstereo.first.x();
259  m.Invert();
260  solution = m * c;
261  position = LocalPoint(solution(0), solution(1));
262 
263  //
264  // temporary fix by tommaso
265  //
266 
267  LocalError tempError(100, 0, 100);
268 
269  // calculate the error
270  LocalVector stereopositiononGluedendvector = projectedstripstereo.second - projectedstripstereo.first;
271  double c2 = sin(stereopositiononGluedendvector.phi());
272  double s2 = -cos(stereopositiononGluedendvector.phi());
273  MeasurementError errorstereoRH =
274  partnertopol.measurementError(stereoRH->localPosition(), stereoRH->localPositionError());
275  pitch = partnertopol.localPitch(stereoRH->localPosition());
276  double sigmap22 = errorstereoRH.uu() * pitch * pitch;
277  double diff = (c1 * s2 - c2 * s1);
278  double invdet2 = 1 / (diff * diff);
279  float xx = invdet2 * (sigmap12 * s2 * s2 + sigmap22 * s1 * s1);
280  float xy = -invdet2 * (sigmap12 * c2 * s2 + sigmap22 * c1 * s1);
281  float yy = invdet2 * (sigmap12 * c2 * c2 + sigmap22 * c1 * c1);
283 
284  //Added by DAO to make sure y positions are zero.
285  DetId det(monoRH->geographicalId());
286  if (det.subdetId() > 2) {
287  return std::make_unique<FastMatchedTrackerRecHit>(position, error, *gluedDet, *monoRH, *stereoRH, stereoHitFirst);
288 
289  }
290 
291  else {
292  throw cms::Exception("FastTrackerRecHitMatcher") << "Matched Pixel!?";
293  }
294 }

References HltBtagPostValidation_cff::c, alignmentValidation::c1, funct::cos(), change_name::diff, relativeConstraints::error, Exception, TrackingRecHit::geographicalId(), StripTopology::localPitch(), StripTopology::localPosition(), BaseTrackerRecHit::localPosition(), BaseTrackerRecHit::localPositionError(), visualization-live-secondInstance_cfg::m, PV3DBase< T, PVType, FrameType >::mag2(), Topology::measurementError(), Topology::measurementPosition(), GluedGeomDet::monoDet(), PV3DBase< T, PVType, FrameType >::phi(), position, project(), indexGen::s2, funct::sin(), GluedGeomDet::stereoDet(), GeomDet::surface(), toLocal(), GeomDet::topology(), PV2DBase< T, PVType, FrameType >::x(), geometryCSVtoXML::xx, geometryCSVtoXML::xy, and geometryCSVtoXML::yy.

Referenced by produce().

◆ produce()

void FastTrackerRecHitMatcher::produce ( edm::Event iEvent,
const edm::EventSetup iSetup 
)
overrideprivate

Definition at line 87 of file FastTrackerRecHitMatcher.cc.

87  {
88  // services
91 
92  // input
94  iEvent.getByToken(simHitsToken, simHits);
95 
98 
99  // output
100  auto output_recHits = std::make_unique<FastTrackerRecHitCollection>();
101  auto output_simHit2RecHitMap =
102  std::make_unique<FastTrackerRecHitRefCollection>(simHit2RecHitMap->size(), FastTrackerRecHitRef());
103  edm::RefProd<FastTrackerRecHitCollection> output_recHits_refProd =
104  iEvent.getRefBeforePut<FastTrackerRecHitCollection>();
105 
106  bool skipNext = false;
107  for (unsigned simHitCounter = 0; simHitCounter < simHits->size(); ++simHitCounter) {
108  // skip hit in case it was matched to previous one
109  if (skipNext) {
110  skipNext = false;
111  continue;
112  }
113  skipNext = false;
114 
115  // get simHit and associated recHit
116  const PSimHit& simHit = (*simHits)[simHitCounter];
117  const FastTrackerRecHitRef& recHitRef = (*simHit2RecHitMap)[simHitCounter];
118 
119  // skip simHits w/o associated recHit
120  if (recHitRef.isNull())
121  continue;
122 
123  // cast
124  const FastSingleTrackerRecHit* recHit = _cast2Single(recHitRef.get());
125 
126  // get subdetector id
127  DetId detid = recHit->geographicalId();
128  unsigned int subdet = detid.subdetId();
129 
130  // treat pixel hits
131  if (subdet <= 2) {
132  (*output_simHit2RecHitMap)[simHitCounter] = recHitRef;
133  }
134 
135  // treat strip hits
136  else {
137  StripSubdetector stripSubDetId(detid);
138 
139  // treat regular regular strip hits
140  if (!stripSubDetId.glued()) {
141  (*output_simHit2RecHitMap)[simHitCounter] = recHitRef;
142  }
143 
144  // treat strip hits on glued layers
145  else {
146  // Obtain direction of simtrack at simhit in local coordinates of glued module
147  // - direction of simtrack at simhit, in coordindates of the single module
148  LocalVector localSimTrackDir = simHit.localDirection();
149  // - transform to global coordinates
150  GlobalVector globalSimTrackDir = recHit->det()->surface().toGlobal(localSimTrackDir);
151  // - transform to local coordinates of glued module
152  const GluedGeomDet* gluedDet = (const GluedGeomDet*)geometry->idToDet(DetId(stripSubDetId.glued()));
153  LocalVector gluedLocalSimTrackDir = gluedDet->surface().toLocal(globalSimTrackDir);
154 
155  // check whether next hit is partner
156  const FastSingleTrackerRecHit* partnerRecHit = nullptr;
157  // - there must be a next hit
158  if (simHitCounter + 1 < simHits->size()) {
159  const FastTrackerRecHitRef& nextRecHitRef = (*simHit2RecHitMap)[simHitCounter + 1];
160  const PSimHit& nextSimHit = (*simHits)[simHitCounter + 1];
161  // - partner hit must not be null
162  // - simHit and partner simHit must belong to same simTrack
163  // - partner hit must be on the module glued to the module of the hit
164  if ((!nextRecHitRef.isNull()) && simHit.trackId() == nextSimHit.trackId() &&
165  StripSubdetector(nextRecHitRef->geographicalId()).partnerDetId() == detid.rawId()) {
166  partnerRecHit = _cast2Single(nextRecHitRef.get());
167  skipNext = true;
168  }
169  }
170 
171  std::unique_ptr<FastTrackerRecHit> newRecHit(nullptr);
172 
173  // if partner found: create a matched hit
174  if (partnerRecHit) {
175  newRecHit = match(stripSubDetId.stereo() ? partnerRecHit : recHit,
176  stripSubDetId.stereo() ? recHit : partnerRecHit,
177  gluedDet,
178  gluedLocalSimTrackDir,
179  stripSubDetId.stereo());
180  }
181  // else: create projected hit
182  else {
183  newRecHit = projectOnly(recHit, geometry->idToDet(detid), gluedDet, gluedLocalSimTrackDir);
184  }
185  output_recHits->push_back(std::move(newRecHit));
186  (*output_simHit2RecHitMap)[simHitCounter] =
187  FastTrackerRecHitRef(output_recHits_refProd, output_recHits->size() - 1);
188  }
189  }
190  }
191 
192  iEvent.put(std::move(output_recHits));
193  iEvent.put(std::move(output_simHit2RecHitMap), "simHit2RecHitMap");
194 }

References _cast2Single(), geometry, edm::EventSetup::get(), get, edm::Ref< C, T, F >::get(), StripSubdetector::glued(), iEvent, edm::Ref< C, T, F >::isNull(), match(), eostools::move(), projectOnly(), DetId::rawId(), rpcPointValidation_cfi::recHit, rpcPointValidation_cfi::simHit, Reconstruction_BefMix_cff::simHit2RecHitMap, simHit2RecHitMapToken, FastTrackerRecHitCombiner_cfi::simHits, simHitsToken, StripSubdetector::stereo(), GeomDet::surface(), GloballyPositioned< T >::toLocal(), and PSimHit::trackId().

◆ project()

FastTrackerRecHitMatcher::StripPosition FastTrackerRecHitMatcher::project ( const GeomDetUnit det,
const GluedGeomDet glueddet,
const StripPosition strip,
const LocalVector trackdirection 
) const
private

Definition at line 296 of file FastTrackerRecHitMatcher.cc.

299  {
300  GlobalPoint globalpointini = (det->surface()).toGlobal(strip.first);
301  GlobalPoint globalpointend = (det->surface()).toGlobal(strip.second);
302 
303  // position of the initial and final point of the strip in glued local coordinates
304  LocalPoint positiononGluedini = (glueddet->surface()).toLocal(globalpointini);
305  LocalPoint positiononGluedend = (glueddet->surface()).toLocal(globalpointend);
306 
307  //correct the position with the track direction
308 
309  float scale = -positiononGluedini.z() / trackdirection.z();
310 
311  LocalPoint projpositiononGluedini = positiononGluedini + scale * trackdirection;
312  LocalPoint projpositiononGluedend = positiononGluedend + scale * trackdirection;
313 
314  return StripPosition(projpositiononGluedini, projpositiononGluedend);
315 }

References Scenarios_cff::scale, digitizers_cfi::strip, GeomDet::surface(), toLocal(), and PV3DBase< T, PVType, FrameType >::z().

Referenced by match().

◆ projectOnly()

std::unique_ptr< FastTrackerRecHit > FastTrackerRecHitMatcher::projectOnly ( const FastSingleTrackerRecHit originalRH,
const GeomDet monoDet,
const GluedGeomDet gluedDet,
LocalVector ldir 
) const
private

Definition at line 317 of file FastTrackerRecHitMatcher.cc.

320  {
321  LocalPoint position(originalRH->localPosition().x(), 0., 0.);
322  const BoundPlane& gluedPlane = gluedDet->surface();
323  const BoundPlane& hitPlane = monoDet->surface();
324 
325  double delta = gluedPlane.localZ(hitPlane.position());
326 
327  LocalPoint lhitPos = gluedPlane.toLocal(monoDet->surface().toGlobal(position));
328  LocalPoint projectedHitPos = lhitPos - ldir * delta / ldir.z();
329 
330  LocalVector hitXAxis = gluedPlane.toLocal(hitPlane.toGlobal(LocalVector(1, 0, 0)));
331  LocalError hitErr = originalRH->localPositionError();
332 
333  if (gluedPlane.normalVector().dot(hitPlane.normalVector()) < 0) {
334  // the two planes are inverted, and the correlation element must change sign
335  hitErr = LocalError(hitErr.xx(), -hitErr.xy(), hitErr.yy());
336  }
337  LocalError rotatedError = hitErr.rotate(hitXAxis.x(), hitXAxis.y());
338 
339  const GeomDetUnit* gluedMonoDet = gluedDet->monoDet();
340  const GeomDetUnit* gluedStereoDet = gluedDet->stereoDet();
341  int isMono = 0;
342  int isStereo = 0;
343 
344  if (monoDet->geographicalId() == gluedMonoDet->geographicalId())
345  isMono = 1;
346  if (monoDet->geographicalId() == gluedStereoDet->geographicalId())
347  isStereo = 1;
348  //Added by DAO to make sure y positions are zero and correct Mono or stereo Det is filled.
349 
350  if ((isMono && isStereo) || (!isMono && !isStereo))
351  throw cms::Exception("FastTrackerRecHitMatcher") << "Something wrong with DetIds.";
352  return std::make_unique<FastProjectedTrackerRecHit>(projectedHitPos, rotatedError, *gluedDet, *originalRH);
353 }

References dumpMFGeometry_cfg::delta, Exception, GeomDet::geographicalId(), BaseTrackerRecHit::localPosition(), BaseTrackerRecHit::localPositionError(), GluedGeomDet::monoDet(), position, LocalError::rotate(), GluedGeomDet::stereoDet(), GeomDet::surface(), Surface::toGlobal(), PV3DBase< T, PVType, FrameType >::x(), LocalError::xx(), LocalError::xy(), PV3DBase< T, PVType, FrameType >::y(), LocalError::yy(), and PV3DBase< T, PVType, FrameType >::z().

Referenced by produce().

Member Data Documentation

◆ simHit2RecHitMapToken

edm::EDGetTokenT<FastTrackerRecHitRefCollection> FastTrackerRecHitMatcher::simHit2RecHitMapToken
private

Definition at line 73 of file FastTrackerRecHitMatcher.cc.

Referenced by FastTrackerRecHitMatcher(), and produce().

◆ simHitsToken

edm::EDGetTokenT<edm::PSimHitContainer> FastTrackerRecHitMatcher::simHitsToken
private

Definition at line 72 of file FastTrackerRecHitMatcher.cc.

Referenced by FastTrackerRecHitMatcher(), and produce().

Vector3DBase
Definition: Vector3DBase.h:8
edm::RefProd
Definition: EDProductfwd.h:25
change_name.diff
diff
Definition: change_name.py:13
Point2DBase
Definition: Point2DBase.h:9
geometry
ESHandle< TrackerGeometry > geometry
Definition: TkLasBeamFitter.cc:200
FastTrackerRecHitMatcher::project
StripPosition project(const GeomDetUnit *det, const GluedGeomDet *glueddet, const StripPosition &strip, const LocalVector &trackdirection) const
Definition: FastTrackerRecHitMatcher.cc:296
GeomDet
Definition: GeomDet.h:27
FastTrackerRecHitMatcher::match
std::unique_ptr< FastTrackerRecHit > match(const FastSingleTrackerRecHit *monoRH, const FastSingleTrackerRecHit *stereoRH, const GluedGeomDet *gluedDet, LocalVector &trackdirection, bool stereLayerFirst) const
Definition: FastTrackerRecHitMatcher.cc:196
LocalError::xy
float xy() const
Definition: LocalError.h:23
PV3DBase::x
T x() const
Definition: PV3DBase.h:59
FastTrackerRecHitMatcher::projectOnly
std::unique_ptr< FastTrackerRecHit > projectOnly(const FastSingleTrackerRecHit *originalRH, const GeomDet *monoDet, const GluedGeomDet *gluedDet, LocalVector &ldir) const
Definition: FastTrackerRecHitMatcher.cc:317
edm::Ref::isNull
bool isNull() const
Checks for null.
Definition: Ref.h:235
StripTopology::localPosition
virtual LocalPoint localPosition(float strip) const =0
digitizers_cfi.strip
strip
Definition: digitizers_cfi.py:19
geometry
Definition: geometry.py:1
StripSubdetector
Definition: StripSubdetector.h:12
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
edm::Ref::get
T const * get() const
Returns C++ pointer to the item.
Definition: Ref.h:232
GluedGeomDet::monoDet
const GeomDetUnit * monoDet() const
Definition: GluedGeomDet.h:19
FastTrackerRecHitCombiner_cfi.simHits
simHits
Definition: FastTrackerRecHitCombiner_cfi.py:5
FastTrackerRecHitMatcher::StripPosition
std::pair< LocalPoint, LocalPoint > StripPosition
Definition: FastTrackerRecHitMatcher.cc:40
GeomDet::topology
virtual const Topology & topology() const
Definition: GeomDet.cc:67
FastTrackerRecHitMatcher::simHit2RecHitMapToken
edm::EDGetTokenT< FastTrackerRecHitRefCollection > simHit2RecHitMapToken
Definition: FastTrackerRecHitMatcher.cc:73
indexGen.s2
s2
Definition: indexGen.py:107
align::LocalPoint
Point3DBase< Scalar, LocalTag > LocalPoint
Definition: Definitions.h:30
PV3DBase::mag2
T mag2() const
Definition: PV3DBase.h:63
edm::Handle< edm::PSimHitContainer >
relativeConstraints.error
error
Definition: relativeConstraints.py:53
StripTopology::localPitch
virtual float localPitch(const LocalPoint &) const =0
TrackingRecHit::geographicalId
DetId geographicalId() const
Definition: TrackingRecHit.h:120
rpcPointValidation_cfi.recHit
recHit
Definition: rpcPointValidation_cfi.py:7
edm::Ref
Definition: AssociativeIterator.h:58
funct::sin
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
PV3DBase::z
T z() const
Definition: PV3DBase.h:61
DetId
Definition: DetId.h:17
GeomDet::surface
const Plane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:37
funct::cos
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
edm::EventSetup::get
T get() const
Definition: EventSetup.h:73
LocalError::xx
float xx() const
Definition: LocalError.h:22
rpcPointValidation_cfi.simHit
simHit
Definition: rpcPointValidation_cfi.py:24
visualization-live-secondInstance_cfg.m
m
Definition: visualization-live-secondInstance_cfg.py:72
MeasurementError
Definition: MeasurementError.h:8
TrackerDigiGeometryRecord
Definition: TrackerDigiGeometryRecord.h:15
Surface::toGlobal
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
Definition: Surface.h:79
FastTrackerRecHitRef
edm::Ref< FastTrackerRecHitCollection > FastTrackerRecHitRef
Definition: FastTrackerRecHitCollection.h:9
edm::ESHandle< TrackerGeometry >
BaseTrackerRecHit::localPositionError
LocalError localPositionError() const final
Definition: BaseTrackerRecHit.h:59
Topology::measurementError
virtual MeasurementError measurementError(const LocalPoint &, const LocalError &) const =0
Reconstruction_BefMix_cff.simHit2RecHitMap
simHit2RecHitMap
Definition: Reconstruction_BefMix_cff.py:22
GlobalPoint
Global3DPoint GlobalPoint
Definition: GlobalPoint.h:10
Point3DBase< float, LocalTag >
GluedGeomDet
Definition: GluedGeomDet.h:7
geometryCSVtoXML.xy
xy
Definition: geometryCSVtoXML.py:19
MeasurementPoint
Measurement2DPoint MeasurementPoint
Measurement points are two-dimensional by default.
Definition: MeasurementPoint.h:12
GeomDet::geographicalId
DetId geographicalId() const
The label of this GeomDet.
Definition: GeomDet.h:64
Scenarios_cff.scale
scale
Definition: Scenarios_cff.py:2186
geometryCSVtoXML.yy
yy
Definition: geometryCSVtoXML.py:19
LocalError
Definition: LocalError.h:12
AlgebraicVector2
ROOT::Math::SVector< double, 2 > AlgebraicVector2
Definition: AlgebraicROOTObjects.h:11
PV2DBase::x
T x() const
Definition: PV2DBase.h:43
LocalError::rotate
LocalError rotate(float x, float y) const
Return a new LocalError, rotated by an angle defined by the direction (x,y)
Definition: LocalError.h:37
dumpMFGeometry_cfg.delta
delta
Definition: dumpMFGeometry_cfg.py:25
BaseTrackerRecHit::localPosition
LocalPoint localPosition() const final
Definition: BaseTrackerRecHit.h:54
FastSingleTrackerRecHit
Definition: FastSingleTrackerRecHit.h:7
position
static int position[264][3]
Definition: ReadPGInfo.cc:289
PV3DBase::y
T y() const
Definition: PV3DBase.h:60
iEvent
int iEvent
Definition: GenABIO.cc:224
alignmentValidation.c1
c1
do drawing
Definition: alignmentValidation.py:1025
edm::ParameterSetDescription::setUnknown
void setUnknown()
Definition: ParameterSetDescription.cc:39
Topology::measurementPosition
virtual MeasurementPoint measurementPosition(const LocalPoint &) const =0
AlgebraicMatrix22
ROOT::Math::SMatrix< double, 2, 2, ROOT::Math::MatRepStd< double, 2, 2 > > AlgebraicMatrix22
Definition: AlgebraicROOTObjects.h:34
HltBtagPostValidation_cff.c
c
Definition: HltBtagPostValidation_cff.py:31
get
#define get
FastTrackerRecHitMatcher::simHitsToken
edm::EDGetTokenT< edm::PSimHitContainer > simHitsToken
Definition: FastTrackerRecHitMatcher.cc:72
FastTrackerRecHitMatcher::_cast2Single
const FastSingleTrackerRecHit * _cast2Single(const FastTrackerRecHit *recHit) const
Definition: FastTrackerRecHitMatcher.cc:62
GluedGeomDet::stereoDet
const GeomDetUnit * stereoDet() const
Definition: GluedGeomDet.h:20
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
eostools.move
def move(src, dest)
Definition: eostools.py:511
DetId::rawId
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57
GloballyPositioned::toLocal
LocalPoint toLocal(const GlobalPoint &gp) const
Definition: GloballyPositioned.h:98
Exception
Definition: hltDiff.cc:246
BoundPlane
toLocal
LocalVector toLocal(const reco::Track::Vector &v, const Surface &s)
Definition: ConversionProducer.h:192
PSimHit::trackId
unsigned int trackId() const
Definition: PSimHit.h:106
PSimHit
Definition: PSimHit.h:15
edm::ConfigurationDescriptions::addDefault
void addDefault(ParameterSetDescription const &psetDescription)
Definition: ConfigurationDescriptions.cc:99
StripTopology
Definition: StripTopology.h:11
LocalError::yy
float yy() const
Definition: LocalError.h:24
edm::InputTag
Definition: InputTag.h:15
PV3DBase::phi
Geom::Phi< T > phi() const
Definition: PV3DBase.h:66
geometryCSVtoXML.xx
xx
Definition: geometryCSVtoXML.py:19
edm::OwnVector
Definition: OwnVector.h:24