47 theSeedsToken = consumes<TrajectorySeedCollection>(theSeedsLabel);
50 theAllowNoVtxFlag =
pset.getUntrackedParameter<
bool>(
"AllowNoVertex",
false);
54 produces<reco::TrackCollection>().setBranchAlias(theAlias +
"Tracks");
64 delete theUpdatorAtVtx;
78 theService->update(eventSetup);
86 event.getByToken(theSeedsToken,
seeds);
88 for (TrajectorySeedCollection::const_iterator iSeed =
seeds->begin(); iSeed !=
seeds->end(); iSeed++) {
89 pair<bool, reco::Track> resultOfTrackExtrapAtPCA = buildTrackAtPCA(*iSeed);
90 if (!resultOfTrackExtrapAtPCA.first)
122 const GeomDet* gdet = theService->trackingGeometry()->idToDet(seedDetId);
156 const string metname =
"MuonSeedTrack";
163 pair<bool, FreeTrajectoryState> extrapolationResult = theUpdatorAtVtx->propagateToNominalLine(seedTSOS);
166 if (extrapolationResult.first) {
167 ftsAtVtx = extrapolationResult.second;
170 LogWarning(
metname) <<
"Track in the Tracker: taking the innermost state instead of the state at PCA";
173 if (theAllowNoVtxFlag) {
174 LogWarning(
metname) <<
"Propagation to PCA failed, taking the innermost state instead of the state at PCA";
178 return pair<bool, reco::Track>(
false,
reco::Track());
191 double dummyNDOF = 1.0;
193 double dummyChi2 = 1.0;
198 return pair<bool, reco::Track>(
true,
track);
205 const string metname =
"MuonSeedTrack";
212 if ((*recHits1).isValid())
213 ndof += (*recHits1).dimension();
214 if ((*recHits2).isValid())
215 ndof += (*recHits2).dimension();