43 theCacheId_TC = theCacheId_GTG = theCacheId_MG = theCacheId_TRH = 0;
48 theTrackerSkipSection =
65 if (newCacheId_TC != theCacheId_TC) {
67 theCacheId_TC = newCacheId_TC;
74 if (newCacheId_GTG != theCacheId_GTG) {
76 theCacheId_GTG = newCacheId_GTG;
82 if (newCacheId_MG != theCacheId_MG) {
84 theCacheId_MG = newCacheId_MG;
90 if (newCacheId_TRH != theCacheId_TRH) {
91 theCacheId_TRH = newCacheId_TRH;
109 if ((*hit)->isValid()) {
110 if ((*hit)->geographicalId().det() ==
DetId::Tracker && TrackerKeep((*hit)->geographicalId())) {
111 tkHits.push_back(theTrackerRecHitBuilder->build(&**
hit));
112 }
else if ((*hit)->geographicalId().det() ==
DetId::Muon && MuonKeep((*hit)->geographicalId())) {
113 if ((*hit)->geographicalId().subdetId() == 3 && !theRPCInTheFit) {
114 LogTrace(
"Reco|TrackingTools|TrackTransformer") <<
"RPC Rec Hit discarged";
117 staHits.push_back(theMuonRecHitBuilder->build(&**
hit));
133 copy(staHits.begin(), staHits.end(), back_inserter(tkHits));
135 for (TransientTrackingRecHit::ConstRecHitContainer::const_iterator
hit = tkHits.begin();
hit != tkHits.end(); ++
hit) {
136 DetId hitId = (*hit)->geographicalId();
137 GlobalPoint glbpoint = trackingGeometry()->idToDet(hitId)->position();
141 LogTrace(
"TrackFitters") << glbpoint <<
" I am TIB " << tTopo_->tibLayer(hitId);
143 LogTrace(
"TrackFitters") << glbpoint <<
" I am TOB " << tTopo_->tobLayer(hitId);
145 LogTrace(
"TrackFitters") << glbpoint <<
" I am TEC " << tTopo_->tecWheel(hitId);
147 LogTrace(
"TrackFitters") << glbpoint <<
" I am TID " << tTopo_->tidWheel(hitId);
149 LogTrace(
"TrackFitters") << glbpoint <<
" I am PixBar " << tTopo_->pxbLayer(hitId);
151 LogTrace(
"TrackFitters") << glbpoint <<
" I am PixFwd " << tTopo_->pxfDisk(hitId);
153 LogTrace(
"TrackFitters") <<
" UNKNOWN TRACKER HIT TYPE ";
162 LogTrace(
"TrackFitters") <<
" UNKNOWN MUON HIT TYPE ";
164 LogTrace(
"TrackFitters") <<
" UNKNOWN HIT TYPE ";
181 return theSmootherOI;
183 return theSmootherIO;
188 return thePropagatorIO;
190 return thePropagatorOI;
202 if (recHitsForReFit.size() < 2)
203 return vector<Trajectory>();
205 bool up = recHitsForReFit.back()->globalPosition().y() > 0 ?
true :
false;
210 unsigned int innerId =
up ?
track.track().outerDetId() :
track.track().innerDetId();
212 LogTrace(
metname) <<
"Prop Dir: " << propagationDirection <<
" FirstId " << innerId <<
" firstTSOS " << firstTSOS;
216 if (recHitsForReFit.front()->geographicalId() !=
DetId(innerId)) {
218 firstTSOS =
propagator(
up)->propagate(firstTSOS, recHitsForReFit.front()->det()->surface());
219 LogTrace(
metname) <<
"Final destination: " << recHitsForReFit.front()->det()->surface().position() << endl;
220 if (!firstTSOS.isValid()) {
222 return vector<Trajectory>();
230 return vector<Trajectory>();
235 vector<Trajectory> trajectoriesSM = smoother(
up)->trajectories(trajectoryBW);
237 if (trajectoriesSM.empty()) {
239 return vector<Trajectory>();
242 return trajectoriesSM;
251 if (theTrackerSkipSystem < 0)
257 if (
id.subdetId() == theTrackerSkipSystem)
258 layer = tTopo_->layer(
id);
260 if (theTrackerSkipSection > -998 && layer == theTrackerSkipSection)
271 if (theSkipStationDT < 0 && theSkipStationCSC < 0)
302 if (
isDT && theSkipWheelDT > -998 &&
wheel == theSkipWheelDT)