21 produces<L3MuonTrajectorySeedCollection>();
72 std::vector<edm::Handle<edm::View<TrajectorySeed> > > theSeeds;
74 unsigned seed_size = 0;
77 seed_size += theSeeds[
iseed]->size();
82 unsigned int imuMax = l2muonH->size();
84 for (; imu != imuMax; ++imu) {
89 if (muRef->pt() <
thePtCut || muRef->innerMomentum().Rho() <
thePtCut || muRef->innerMomentum().R() < 2.5)
96 std::vector<TrajectorySeed> tkSeeds;
97 std::set<unsigned> tkIds;
98 tkSeeds.reserve(seed_size);
101 unsigned nSeeds = aSeedCollection->size();
102 for (
unsigned seednr = 0; seednr < nSeeds; ++seednr) {
111 int simTrackId = theFirstSeedingRecHit->
simTrackId(0);
114 std::set<unsigned>::iterator tkId = tkIds.find(simTrackId);
115 if (tkId != tkIds.end())
118 const SimTrack& theSimTrack = (*theSimTracks)[simTrackId];
120 if (
clean(muRef,
region.get(), aSeed, theSimTrack))
121 tkSeeds.push_back(*aSeed);
122 tkIds.insert(simTrackId);
136 unsigned int isMax = tkSeeds.size();
137 for (; is != isMax; ++is) {
158 double etaSeed = theSimTrack.
momentum().Eta();
159 double etaLimit = (fabs(fabs(
etaRange.max()) - fabs(
etaRange.mean())) < 0.05)
162 bool inEtaRange = etaSeed >= (
etaRange.mean() - etaLimit) && etaSeed <= (
etaRange.mean() + etaLimit);
168 double phiSeed = theSimTrack.
momentum().Phi();
169 double phiLimit = (phiMargin.
right() < 0.05) ? 0.05 : phiMargin.
right();
170 bool inPhiRange = (fabs(
deltaPhi(phiSeed,
double(
region->direction().phi()))) < phiLimit);
177 bool inPtRange = ptSeed >=
ptMin && ptSeed <= 2 * (muRef->pt());