89 : outputCollectionNames_(iConfig.getParameter<
std::
vector<
std::
string>>(
"outputCollectionNames")),
99 produces<TrackingParticleCollection>();
113 auto vTrackingParticles = std::make_unique<TrackingParticleCollection>();
127 unsigned int nTP = tpHandle->size();
128 auto vTPs = std::make_unique<std::vector<l1tVertexFinder::TP>>();
129 auto vTPsUse = std::make_unique<std::vector<l1tVertexFinder::TP>>();
131 vTPsUse->reserve(nTP);
132 std::set<edm::Ptr<TrackingParticle>> sTPs;
133 for (
unsigned int i = 0;
i < nTP;
i++) {
140 vTrackingParticles->push_back(tpHandle->at(
i));
141 vTPsUse->push_back(
tp);
147 auto vAllMatchedTPs = std::make_unique<std::vector<l1tVertexFinder::TP>>(*vTPsUse);
149 if (sTPs.count(
entry.second) == 0) {
162 unsigned int nStubs = ttStubHandle->
size();
163 auto vAllStubs = std::make_unique<std::vector<l1tVertexFinder::Stub>>();
164 vAllStubs->reserve(nStubs);
171 stub.
fillTruth(mcTruthTTStubHandle, mcTruthTTClusterHandle);
172 vAllStubs->push_back(stub);
177 std::map<const TrackingParticlePtr, std::vector<l1tVertexFinder::Stub>> tpStubMap;
179 tpStubMap[
tp.getTrackingParticle()] = std::vector<l1tVertexFinder::Stub>();
182 tpStubMap[
tp].push_back(stub);
186 assert(tpStubMap.count(
tp.getTrackingParticle()) == 1);
187 tp.setMatchingStubs(tpStubMap.find(
tp.getTrackingParticle())->
second);
194 auto vTrackingParticlesHandle =
iEvent.put(
std::move(vTrackingParticles));
198 auto TPV = std::make_unique<edm::ValueMap<l1tVertexFinder::TP>>();
200 fillerTP.insert(tpHandle, vTPs->begin(), vTPs->end());
204 auto TPuseV = std::make_unique<edm::ValueMap<l1tVertexFinder::TP>>();
206 fillerTPuse.insert(vTrackingParticlesHandle, vTPsUse->begin(), vTPsUse->end());