CMS 3D CMS Logo

TrackTransformer.cc
Go to the documentation of this file.
2 
7 
10 
14 
21 
25 
27 
28 using namespace std;
29 using namespace edm;
30 
33  : theRPCInTheFit(parameterSet.getParameter<bool>("RefitRPCHits")),
34  theDoPredictionsOnly(parameterSet.getParameter<bool>("DoPredictionsOnly")),
35  theRefitDirection(parameterSet.getParameter<string>("RefitDirection")),
36  theFitterName(parameterSet.getParameter<string>("Fitter")),
37  theSmootherName(parameterSet.getParameter<string>("Smoother")),
38  thePropagatorName(parameterSet.getParameter<string>("Propagator")),
39  theTrackerRecHitBuilderName(parameterSet.getParameter<string>("TrackerRecHitBuilder")),
40  theMuonRecHitBuilderName(parameterSet.getParameter<string>("MuonRecHitBuilder")),
41  theMTDRecHitBuilderName(parameterSet.getParameter<string>("MTDRecHitBuilder")) {}
42 
53 }
54 
57 
59  bool DoPredictionsOnly,
60  const std::string& Fitter,
61  const std::string& Smoother,
62  const std::string& Propagator,
64  bool RefitRPCHits,
68  desc.add<bool>("DoPredictionsOnly", DoPredictionsOnly);
69  desc.add<std::string>("Fitter", Fitter);
70  desc.add<std::string>("Smoother", Smoother);
71  desc.add<std::string>("Propagator", Propagator);
72  desc.add<std::string>("RefitDirection", RefitDirection);
73  desc.add<bool>("RefitRPCHits", RefitRPCHits);
74  desc.add<std::string>("TrackerRecHitBuilder", TrackerRecHitBuilder);
75  desc.add<std::string>("MuonRecHitBuilder", MuonRecHitBuilder);
76  desc.add<std::string>("MTDRecHitBuilder", MTDRecHitBuilder);
77 }
78 
80  const std::string metname = "Reco|TrackingTools|TrackTransformer";
81 
83  theFitter = setup.getData(theFitterToken).clone();
84  theSmoother.reset(setup.getData(theSmootherToken).clone());
85 
87 
88  // Global Tracking Geometry
90 
91  // Magfield Field
92  theMGField = setup.getHandle(theMGFieldToken);
93  } else {
98  theFitter = aFitter->clone();
99  theSmoother.reset(aSmoother->clone());
100 
102 
103  // Global Tracking Geometry
105 
106  // Magfield Field
108  }
109 
110  // Transient Rechit Builders
111  unsigned long long newCacheId_TRH = setup.get<TransientRecHitRecord>().cacheIdentifier();
112  if (newCacheId_TRH != theCacheId_TRH) {
113  theCacheId_TRH = newCacheId_TRH;
114  LogTrace(metname) << "TransientRecHitRecord changed!";
119  } else {
120  edm::ESHandle<TransientTrackingRecHitBuilder> aTrackerRecHitBuilder;
121  setup.get<TransientRecHitRecord>().get(theTrackerRecHitBuilderName, aTrackerRecHitBuilder);
122  theTrackerRecHitBuilder = aTrackerRecHitBuilder.product();
125  }
127  hitCloner = static_cast<TkTransientTrackingRecHitBuilder const*>(theTrackerRecHitBuilder)->cloner();
128  }
129  theFitter->setHitCloner(&hitCloner);
130  theSmoother->setHitCloner(&hitCloner);
131 }
132 
133 vector<Trajectory> TrackTransformer::transform(const reco::TrackRef& track) const { return transform(*track); }
134 
136  const reco::TransientTrack& track) const {
138  auto tkbuilder = static_cast<TkTransientTrackingRecHitBuilder const*>(theTrackerRecHitBuilder);
139 
140  for (auto hit = track.recHitsBegin(); hit != track.recHitsEnd(); ++hit) {
141  if ((*hit)->isValid()) {
142  if ((*hit)->geographicalId().det() == DetId::Tracker) {
143  result.emplace_back((**hit).cloneForFit(*tkbuilder->geometry()->idToDet((**hit).geographicalId())));
144  } else if ((*hit)->geographicalId().det() == DetId::Muon) {
145  if ((*hit)->geographicalId().subdetId() == 3 && !theRPCInTheFit) {
146  LogTrace("Reco|TrackingTools|TrackTransformer") << "RPC Rec Hit discarged";
147  continue;
148  }
149  result.push_back(theMuonRecHitBuilder->build(&**hit));
150  } else if ((*hit)->geographicalId().det() == DetId::Forward && (*hit)->geographicalId().subdetId() == FastTime) {
151  if (theMtdAvailable)
152  result.push_back(theMTDRecHitBuilder->build(&**hit));
153  else
154  throw cms::Exception("TrackTransformer") << "MTD hit encountered but MTD not available!";
155  }
156  }
157  }
158 
159  return result;
160 }
161 
162 // FIXME: check this method!
165  if (!recHits.empty()) {
166  GlobalPoint first = trackingGeometry()->idToDet(recHits.front()->geographicalId())->position();
167  GlobalPoint last = trackingGeometry()->idToDet(recHits.back()->geographicalId())->position();
168 
169  // maybe perp2?
170  auto rFirst = first.mag2();
171  auto rLast = last.mag2();
172  if (rFirst < rLast)
174  if (rFirst > rLast)
176  }
177  LogDebug("Reco|TrackingTools|TrackTransformer") << "Impossible to determine the rechits order" << endl;
179 }
180 
182 vector<Trajectory> TrackTransformer::transform(const reco::Track& newTrack) const {
183  const std::string metname = "Reco|TrackingTools|TrackTransformer";
184 
186 
187  auto recHitsForReFit = getTransientRecHits(track);
188  return transform(track, recHitsForReFit);
189 }
190 
193  TransientTrackingRecHit::ConstRecHitContainer& recHitsForReFit) const {
194  const std::string metname = "Reco|TrackingTools|TrackTransformer";
195 
196  if (recHitsForReFit.size() < 2)
197  return vector<Trajectory>();
198 
199  // 8 cases are foreseen:
200  // [RH = rec hit order, P = momentum dir, FD = fit direction. IO/OI = inside-out/outside-in, AM/OM = along momentum/opposite to momentum]
201  // (1) RH IO | P IO | FD AM ---> Start from IN
202  // (2) RH IO | P IO | FD OM ---> Reverse RH and start from OUT
203  // (3) RH IO | P OI | FD AM ---> Reverse RH and start from IN
204  // (4) RH IO | P OI | FD OM ---> Start from OUT
205  // (5) RH OI | P IO | FD AM ---> Reverse RH and start from IN
206  // (6) RH OI | P IO | FD OM ---> Start from OUT
207  // (7) RH OI | P OI | FD AM ---> Start from IN
208  // (8) RH OI | P OI | FD OM ---> Reverse RH and start from OUT
209  //
210  // *** Rules: ***
211  // -A- If RH-FD agree (IO-AM,OI-OM) do not reverse the RH
212  // -B- If FD along momentum start from innermost state, otherwise use outermost
213 
214  // Other special cases can be handled:
215  // (1 bis) RH IO | P IO | GFD IO => FD AM ---> Start from IN
216  // (2 bis) RH IO | P IO | GFD OI => FD OM ---> Reverse RH and start from OUT
217  // (3 bis) RH IO | P OI | GFD OI => FD AM ---> Reverse RH and start from OUT
218  // (4 bis) RH IO | P OI | GFD IO => FD OM ---> Start from IN
219  // (5 bis) RH OI | P IO | GFD IO => FD AM ---> Reverse RH and start from IN
220  // (6 bis) RH OI | P IO | GFD OI => FD OM ---> Start from OUT
221  // (7 bis) RH OI | P OI | GFD OI => FD AM ---> Start from OUT
222  // (8 bis) RH OI | P OI | GFD IO => FD OM ---> Reverse RH and start from IN
223  //
224  // *** Additional rule: ***
225  // -A0- If P and GFD agree, then FD is AM otherwise is OM
226  // -A00- rechit must be ordered as GFD in order to handle the case of cosmics
227  // -B0- The starting state is decided by GFD
228 
229  // Determine the RH order
231  checkRecHitsOrdering(recHitsForReFit); // FIXME change nome of the *type* --> RecHit order!
232  LogTrace(metname) << "RH order (0-insideOut, 1-outsideIn): " << recHitsOrder;
233 
235 
236  // Apply rule -A0-
237  if (propagationDirection == anyDirection) {
238  GlobalVector momentum = track.innermostMeasurementState().globalMomentum();
239  GlobalVector position = track.innermostMeasurementState().globalPosition() - GlobalPoint(0, 0, 0);
240  RefitDirection::GeometricalDirection p = (momentum.x() * position.x() > 0 || momentum.y() * position.y() > 0)
243 
245  LogTrace(metname) << "P (0-insideOut, 1-outsideIn): " << p;
246  LogTrace(metname) << "FD (0-OM, 1-AM, 2-ANY): " << propagationDirection;
247  }
248  // -A0-
249 
250  // Apply rule -A-
252  if ((recHitsOrder == RefitDirection::insideOut && propagationDirection == oppositeToMomentum) ||
253  (recHitsOrder == RefitDirection::outsideIn && propagationDirection == alongMomentum))
254  reverse(recHitsForReFit.begin(), recHitsForReFit.end());
255  }
256  // -A-
257  // Apply rule -A00-
258  else {
259  // reorder the rechit as defined in theRefitDirection.geometricalDirection();
260  if (theRefitDirection.geometricalDirection() != recHitsOrder)
261  reverse(recHitsForReFit.begin(), recHitsForReFit.end());
262  }
263  // -A00-
264 
265  // Apply rule -B-
266  TrajectoryStateOnSurface firstTSOS = track.innermostMeasurementState();
267  unsigned int innerId = track.track().innerDetId();
269  if (propagationDirection == oppositeToMomentum) {
270  innerId = track.track().outerDetId();
271  firstTSOS = track.outermostMeasurementState();
272  }
273  } else { // if(theRefitDirection.propagationDirection() == anyDirection)
274  // Apply rule -B0-
276  innerId = track.track().outerDetId();
277  firstTSOS = track.outermostMeasurementState();
278  }
279  // -B0-
280  }
281  // -B-
282 
283  if (!firstTSOS.isValid()) {
284  LogTrace(metname) << "Error wrong initial state!" << endl;
285  return vector<Trajectory>();
286  }
287 
288  TrajectorySeed seed({}, {}, propagationDirection);
289 
290  if (recHitsForReFit.front()->geographicalId() != DetId(innerId)) {
291  LogTrace(metname) << "Propagation occured" << endl;
292  firstTSOS = propagator()->propagate(firstTSOS, recHitsForReFit.front()->det()->surface());
293  if (!firstTSOS.isValid()) {
294  LogTrace(metname) << "Propagation error!" << endl;
295  return vector<Trajectory>();
296  }
297  }
298 
299  if (theDoPredictionsOnly) {
300  Trajectory aTraj(seed, propagationDirection);
301  TrajectoryStateOnSurface predTSOS = firstTSOS;
302  for (auto const& hit : recHitsForReFit) {
303  predTSOS = propagator()->propagate(predTSOS, hit->det()->surface());
304  if (predTSOS.isValid())
305  aTraj.push(TrajectoryMeasurement(predTSOS, hit));
306  }
307  return vector<Trajectory>(1, aTraj);
308  }
309 
310  auto const& trajectories = theFitter->fit(seed, recHitsForReFit, firstTSOS);
311 
312  if (trajectories.empty()) {
313  LogTrace(metname) << "No Track refitted!" << endl;
314  return trajectories;
315  }
316 
317  auto const& trajectoryBW = trajectories.front();
318 
319  auto const& trajectoriesSM = theSmoother->trajectories(trajectoryBW);
320 
321  if (trajectoriesSM.empty()) {
322  LogTrace(metname) << "No Track smoothed!" << endl;
323  }
324 
325  return trajectoriesSM;
326 }
Vector3DBase
Definition: Vector3DBase.h:8
TrackTransformer::theTrackerRecHitBuilderName
const std::string theTrackerRecHitBuilderName
Definition: TrackTransformer.h:127
TrajectorySmoother::clone
virtual TrajectorySmoother * clone() const =0
Propagator.h
edm::ESHandle::product
T const * product() const
Definition: ESHandle.h:86
TrackTransformer::theTrackingGeometryToken
edm::ESGetToken< GlobalTrackingGeometry, GlobalTrackingGeometryRecord > theTrackingGeometryToken
Definition: TrackTransformer.h:109
TrajectoryStateOnSurface.h
electrons_cff.bool
bool
Definition: electrons_cff.py:393
anyDirection
Definition: PropagationDirection.h:4
edm::ESInputTag
Definition: ESInputTag.h:87
HLT_FULL_cff.track
track
Definition: HLT_FULL_cff.py:11713
TrackTransformer::theSmoother
std::unique_ptr< TrajectorySmoother > theSmoother
Definition: TrackTransformer.h:120
MessageLogger.h
TrackTransformer::theRPCInTheFit
const bool theRPCInTheFit
Definition: TrackTransformer.h:104
TrackTransformer::theSmootherToken
edm::ESGetToken< TrajectorySmoother, TrajectoryFitterRecord > theSmootherToken
Definition: TrackTransformer.h:119
PV3DBase::x
T x() const
Definition: PV3DBase.h:59
TrackTransformer::setServices
void setServices(const edm::EventSetup &) override
set the services needed by the TrackTransformer
Definition: TrackTransformer.cc:79
TrackTransformer::getTransientRecHits
TransientTrackingRecHit::ConstRecHitContainer getTransientRecHits(const reco::TransientTrack &track) const
Definition: TrackTransformer.cc:135
edm
HLT enums.
Definition: AlignableModifier.h:19
trackingRecoMaterialAnalyzer_cfi.MTDRecHitBuilder
MTDRecHitBuilder
Definition: trackingRecoMaterialAnalyzer_cfi.py:14
AlCaHLTBitMon_ParallelJobs.p
p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
HLTSiStripMonitoring_cff.Fitter
Fitter
Definition: HLTSiStripMonitoring_cff.py:207
TransientRecHitRecord.h
RefitDirection::GeometricalDirection
GeometricalDirection
Definition: RefitDirection.h:15
TrackTransformer::magneticField
const MagneticField * magneticField() const
the magnetic field
Definition: TrackTransformer.h:83
HLT_FULL_cff.thePropagatorName
thePropagatorName
Definition: HLT_FULL_cff.py:113807
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
TransientRecHitRecord
Definition: TransientRecHitRecord.h:14
TrackTransformer::transform
std::vector< Trajectory > transform(const reco::Track &) const override
Convert a reco::Track into Trajectory.
Definition: TrackTransformer.cc:182
TrackTransformer::theMGFieldToken
edm::ESGetToken< MagneticField, IdealMagneticFieldRecord > theMGFieldToken
Definition: TrackTransformer.h:110
oppositeToMomentum
Definition: PropagationDirection.h:4
GlobalTrackingGeometryRecord
Definition: GlobalTrackingGeometryRecord.h:17
FastTrackerRecHitMaskProducer_cfi.trajectories
trajectories
Definition: FastTrackerRecHitMaskProducer_cfi.py:7
TrackTransformer::theTrackerRecHitBuilderToken
edm::ESGetToken< TransientTrackingRecHitBuilder, TransientRecHitRecord > theTrackerRecHitBuilderToken
Definition: TrackTransformer.h:128
TrackTransformer::theMGField
edm::ESHandle< MagneticField > theMGField
Definition: TrackTransformer.h:112
TransientTrack.h
TransientTrackingRecHitBuilder::build
virtual RecHitPointer build(const TrackingRecHit *p) const =0
build a tracking rechit from an existing rechit
edm::ConsumesCollector::esConsumes
auto esConsumes()
Definition: ConsumesCollector.h:97
TrackTransformer::theMtdAvailable
bool theMtdAvailable
Definition: TrackTransformer.h:138
dqmdumpme.first
first
Definition: dqmdumpme.py:55
TrackTransformer::~TrackTransformer
~TrackTransformer() override
Destructor.
Definition: TrackTransformer.cc:56
singleTopDQM_cfi.setup
setup
Definition: singleTopDQM_cfi.py:37
groupFilesInBlocks.reverse
reverse
Definition: groupFilesInBlocks.py:131
edm::Ref< TrackCollection >
edm::ESGetToken::isInitialized
constexpr bool isInitialized() const noexcept
Definition: ESGetToken.h:72
fileCollector.seed
seed
Definition: fileCollector.py:127
IdealMagneticFieldRecord
Definition: IdealMagneticFieldRecord.h:11
Propagator
Definition: Propagator.h:44
DetId
Definition: DetId.h:17
TrajectoryFitter::clone
virtual std::unique_ptr< TrajectoryFitter > clone() const =0
TrajectoryStateOnSurface
Definition: TrajectoryStateOnSurface.h:16
TrackTransformer::theTrackingGeometry
edm::ESHandle< GlobalTrackingGeometry > theTrackingGeometry
Definition: TrackTransformer.h:111
TrackTransformer::theMTDRecHitBuilder
edm::ESHandle< TransientTrackingRecHitBuilder > theMTDRecHitBuilder
Definition: TrackTransformer.h:139
dqmdumpme.last
last
Definition: dqmdumpme.py:56
TrackTransformer::thePropagator
edm::ESHandle< Propagator > thePropagator
Definition: TrackTransformer.h:125
TrackTransformer::thePropagatorName
const std::string thePropagatorName
Definition: TrackTransformer.h:122
Track.h
TrackFwd.h
TrackTransformer::checkRecHitsOrdering
RefitDirection::GeometricalDirection checkRecHitsOrdering(TransientTrackingRecHit::ConstRecHitContainer const &) const
Definition: TrackTransformer.cc:163
TrackTransformer::theFitterName
const std::string theFitterName
Definition: TrackTransformer.h:114
TrackTransformer::theMuonRecHitBuilder
edm::ESHandle< TransientTrackingRecHitBuilder > theMuonRecHitBuilder
Definition: TrackTransformer.h:134
TrackTransformer::theTrackerRecHitBuilder
const TransientTrackingRecHitBuilder * theTrackerRecHitBuilder
Definition: TrackTransformer.h:129
reco::Track
Definition: Track.h:27
IdealMagneticFieldRecord.h
edm::ESHandle< TrajectoryFitter >
TrajectoryFitterRecord
Definition: TrajectoryFitterRecord.h:12
TrajectoryFitter.h
GlobalPoint
Global3DPoint GlobalPoint
Definition: GlobalPoint.h:10
Point3DBase< float, GlobalTag >
ParameterSetDescription.h
GlobalTrackingGeometryRecord.h
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
FastTrackerRecHitMaskProducer_cfi.recHits
recHits
Definition: FastTrackerRecHitMaskProducer_cfi.py:8
RefitDirection::undetermined
Definition: RefitDirection.h:15
TrackTransformer::theDoPredictionsOnly
const bool theDoPredictionsOnly
Definition: TrackTransformer.h:106
RefitDirection::propagationDirection
PropagationDirection propagationDirection() const
Definition: RefitDirection.h:50
LaserSeedGenerator_cfi.Propagator
Propagator
Definition: LaserSeedGenerator_cfi.py:11
LogDebug
#define LogDebug(id)
Definition: MessageLogger.h:223
edm::ParameterSet
Definition: ParameterSet.h:47
DetId::Tracker
Definition: DetId.h:25
TrackingRecHit::ConstRecHitContainer
std::vector< ConstRecHitPointer > ConstRecHitContainer
Definition: TrackingRecHit.h:32
TrackTransformer::trackingGeometry
edm::ESHandle< GlobalTrackingGeometry > trackingGeometry() const
the tracking geometry
Definition: TrackTransformer.h:86
TrackTransformer::theCacheId_TRH
unsigned long long theCacheId_TRH
Definition: TrackTransformer.h:102
MuonAlignmentFromReference_cff.RefitRPCHits
RefitRPCHits
Definition: MuonAlignmentFromReference_cff.py:16
FastTime
Definition: ForwardSubdetector.h:6
position
static int position[264][3]
Definition: ReadPGInfo.cc:289
PV3DBase::y
T y() const
Definition: PV3DBase.h:60
RefitDirection
Definition: RefitDirection.h:13
TrackTransformer::theFitterToken
edm::ESGetToken< TrajectoryFitter, TrajectoryFitterRecord > theFitterToken
Definition: TrackTransformer.h:115
TrackTransformer.h
edm::EventSetup
Definition: EventSetup.h:57
TrajectorySmoother.h
Propagator::propagate
TrajectoryStateOnSurface propagate(STA const &state, SUR const &surface) const
Definition: Propagator.h:50
TrackTransformer::hitCloner
TkClonerImpl hitCloner
Definition: TrackTransformer.h:130
get
#define get
Trajectory::push
void push(const TrajectoryMeasurement &tm)
Definition: Trajectory.cc:50
trackingRecoMaterialAnalyzer_cfi.TrackerRecHitBuilder
TrackerRecHitBuilder
Definition: trackingRecoMaterialAnalyzer_cfi.py:11
edm::ESHandleBase::isValid
bool isValid() const
Definition: ESHandle.h:44
TrackTransformer::fillPSetDescription
static void fillPSetDescription(edm::ParameterSetDescription &descriptions, bool DoPredictionsOnly=false, const std::string &Fitter="KFFitterForRefitInsideOut", const std::string &Smoother="KFSmootherForRefitInsideOut", const std::string &Propagator="SmartPropagatorAnyRK", const std::string &RefitDirection="alongMomentum", bool RefitRPCHits=true, const std::string &TrackerRecHitBuilder="WithTrackAngle", const std::string &MuonRecHitBuilder="MuonRecHitBuilder", const std::string &MTDRecHitBuilder="MTDRecHitBuilder")
fillDescriptions
Definition: TrackTransformer.cc:58
trackingRecoMaterialAnalyzer_cfi.MuonRecHitBuilder
MuonRecHitBuilder
Definition: trackingRecoMaterialAnalyzer_cfi.py:13
TrackTransformer::theSmootherName
const std::string theSmootherName
Definition: TrackTransformer.h:118
Trajectory.h
submitPVResolutionJobs.desc
string desc
Definition: submitPVResolutionJobs.py:251
std
Definition: JetResolutionObject.h:76
reco::TransientTrack
Definition: TransientTrack.h:19
DetId.h
Trajectory
Definition: Trajectory.h:38
TrackTransformer::theFitter
std::unique_ptr< TrajectoryFitter > theFitter
Definition: TrackTransformer.h:116
TrackTransformer::thePropagatorToken
edm::ESGetToken< Propagator, TrackingComponentsRecord > thePropagatorToken
Definition: TrackTransformer.h:123
trackingRecoMaterialAnalyzer_cfi.DoPredictionsOnly
DoPredictionsOnly
Definition: trackingRecoMaterialAnalyzer_cfi.py:9
TrackingComponentsRecord.h
Exception
Definition: hltDiff.cc:246
GlobalTrackingGeometry::idToDet
const GeomDet * idToDet(DetId) const override
Definition: GlobalTrackingGeometry.cc:44
PropagationDirection
PropagationDirection
Definition: PropagationDirection.h:4
RefitDirection::insideOut
Definition: RefitDirection.h:15
HLTSiStripMonitoring_cff.Smoother
Smoother
Definition: HLTSiStripMonitoring_cff.py:209
edm::parameterSet
ParameterSet const & parameterSet(Provenance const &provenance, ProcessHistory const &history)
Definition: Provenance.cc:11
TrajectorySeed
Definition: TrajectorySeed.h:18
EventSetup.h
TrajectoryStateOnSurface::surface
const SurfaceType & surface() const
Definition: TrajectoryStateOnSurface.h:78
RefitDirection::geometricalDirection
GeometricalDirection geometricalDirection() const
Definition: RefitDirection.h:45
TransientTrackingRecHitBuilder.h
mps_fire.result
result
Definition: mps_fire.py:311
ConsumesCollector.h
DetId::Muon
Definition: DetId.h:26
TrackTransformer::theMuonRecHitBuilderToken
edm::ESGetToken< TransientTrackingRecHitBuilder, TransientRecHitRecord > theMuonRecHitBuilderToken
Definition: TrackTransformer.h:133
LogTrace
#define LogTrace(id)
Definition: MessageLogger.h:224
ParameterSet.h
TrackTransformer::theMTDRecHitBuilderToken
edm::ESGetToken< TransientTrackingRecHitBuilder, TransientRecHitRecord > theMTDRecHitBuilderToken
Definition: TrackTransformer.h:137
DetId::Forward
Definition: DetId.h:30
TrackTransformer::theMTDRecHitBuilderName
const std::string theMTDRecHitBuilderName
Definition: TrackTransformer.h:136
TrackTransformer::theRefitDirection
const RefitDirection theRefitDirection
Definition: TrackTransformer.h:107
TrackTransformer::propagator
edm::ESHandle< Propagator > const & propagator() const
Definition: TrackTransformer.h:124
TrajectoryMeasurement
Definition: TrajectoryMeasurement.h:25
trackingRecoMaterialAnalyzer_cfi.RefitDirection
RefitDirection
Definition: trackingRecoMaterialAnalyzer_cfi.py:15
RefitDirection::outsideIn
Definition: RefitDirection.h:15
edm::ConsumesCollector
Definition: ConsumesCollector.h:45
alongMomentum
Definition: PropagationDirection.h:4
TrajectoryStateOnSurface::isValid
bool isValid() const
Definition: TrajectoryStateOnSurface.h:54
TrackTransformer::theMuonRecHitBuilderName
const std::string theMuonRecHitBuilderName
Definition: TrackTransformer.h:132
hit
Definition: SiStripHitEffFromCalibTree.cc:88
metname
const std::string metname
Definition: MuonSeedOrcaPatternRecognition.cc:40
TrackingComponentsRecord
Definition: TrackingComponentsRecord.h:12
TrackTransformer
Definition: TrackTransformer.h:46
TrackTransformer::TrackTransformer
TrackTransformer(const edm::ParameterSet &)
Constructor (for modules not yet migrated to ES-consumes)
Definition: TrackTransformer.cc:32