39 theTrackerRecHitBuilderName(
parameterSet.getParameter<
string>(
"TrackerRecHitBuilder")),
56 bool doPredictionsOnly,
65 desc.add<
bool>(
"DoPredictionsOnly", doPredictionsOnly);
70 desc.add<
bool>(
"RefitRPCHits", refitRPCHits);
113 if ((*hit)->isValid()) {
115 result.emplace_back((**hit).cloneForFit(*tkbuilder->geometry()->idToDet((**hit).geographicalId())));
116 }
else if ((*hit)->geographicalId().det() ==
DetId::Muon) {
117 if ((*hit)->geographicalId().subdetId() == 3 && !
theRPCInTheFit) {
118 LogTrace(
"Reco|TrackingTools|TrackTransformer") <<
"RPC Rec Hit discarged";
122 }
else if ((*hit)->geographicalId().det() ==
DetId::Forward && (*hit)->geographicalId().subdetId() ==
FastTime) {
126 throw cms::Exception(
"TrackTransformer") <<
"MTD hit encountered but MTD not available!";
142 auto rFirst =
first.mag2();
143 auto rLast =
last.mag2();
149 LogDebug(
"Reco|TrackingTools|TrackTransformer") <<
"Impossible to determine the rechits order" << endl;
168 if (recHitsForReFit.size() < 2)
169 return vector<Trajectory>();
204 LogTrace(
metname) <<
"RH order (0-insideOut, 1-outsideIn): " << recHitsOrder;
218 LogTrace(
metname) <<
"FD (0-OM, 1-AM, 2-ANY): " << propagationDirection;
226 reverse(recHitsForReFit.begin(), recHitsForReFit.end());
233 reverse(recHitsForReFit.begin(), recHitsForReFit.end());
239 unsigned int innerId =
track.track().innerDetId();
242 innerId =
track.track().outerDetId();
243 firstTSOS =
track.outermostMeasurementState();
248 innerId =
track.track().outerDetId();
249 firstTSOS =
track.outermostMeasurementState();
257 return vector<Trajectory>();
262 if (recHitsForReFit.front()->geographicalId() !=
DetId(innerId)) {
267 return vector<Trajectory>();
274 for (
auto const&
hit : recHitsForReFit) {
279 return vector<Trajectory>(1, aTraj);
291 auto const& trajectoriesSM =
theSmoother->trajectories(trajectoryBW);
293 if (trajectoriesSM.empty()) {
297 return trajectoriesSM;
const std::string metname
Global3DPoint GlobalPoint
const SurfaceType & surface() const
ParameterSet const & parameterSet(StableProvenance const &provenance, ProcessHistory const &history)
TrajectoryStateOnSurface propagate(STA const &state, SUR const &surface) const
const GeomDet * idToDet(DetId) const override
virtual RecHitPointer build(const TrackingRecHit *p) const =0
build a tracking rechit from an existing rechit
PropagationDirection propagationDirection() const
std::vector< ConstRecHitPointer > ConstRecHitContainer
static int position[264][3]
GeometricalDirection geometricalDirection() const
void push(const TrajectoryMeasurement &tm)