20 : helper_(conf), conf_(conf), trackerHitAssociatorConfig_(conf,
std::
move(iC)) {
40 for (
unsigned int j = 0;
j < tPCH->size();
j++)
44 for (
size_t i = 0;
i < tCH->size(); ++
i)
66 muonHitRefs.push_back(std::make_pair(mur->
track()->recHitsBegin(), mur->
track()->recHitsEnd()));
68 muonHitRefs.push_back(std::make_pair(allTMRecHits.
data().end(), allTMRecHits.
data().end()));
76 muonHitRefs.push_back(std::make_pair(mur->
outerTrack()->recHitsBegin(), mur->
outerTrack()->recHitsEnd()));
78 muonHitRefs.push_back(std::make_pair(allTMRecHits.
data().end(), allTMRecHits.
data().end()));
86 muonHitRefs.push_back(std::make_pair(mur->
globalTrack()->recHitsBegin(), mur->
globalTrack()->recHitsEnd()));
88 muonHitRefs.push_back(std::make_pair(allTMRecHits.
data().end(), allTMRecHits.
data().end()));
96 std::vector<std::pair<size_t, size_t>> muonHitIndices;
99 std::pair<size_t, size_t>
indices(allTMRecHits.
size(), allTMRecHits.
size());
101 std::vector<const TrackingRecHit *>
hits = hitExtractor.
getMuonHits(*mur);
102 for (std::vector<const TrackingRecHit *>::const_iterator ith =
hits.begin(), edh =
hits.end(); ith != edh;
108 muonHitIndices.push_back(
indices);
111 typedef std::pair<size_t, size_t> index_pair;
113 for (
std::vector<std::pair<size_t, size_t>>::const_iterator idxs = muonHitIndices.begin(),
114 idxend = muonHitIndices.end();
117 muonHitRefs.push_back(std::make_pair(hitRefBegin + idxs->first, hitRefBegin + idxs->second));
134 bool printRtS =
true;
142 tTopo, &trackertruth, &csctruth, &dttruth, &rpctruth, &gemtruth, {}};
145 for (
auto it = recSimColl.begin(), ed = recSimColl.end(); it != ed; ++it) {
147 std::vector<std::pair<TrackingParticleRef, double>> &tpAss = recToSim[rec];
148 for (
auto const &
a : it->second) {
149 tpAss.push_back(std::make_pair(tPC[
a.idx],
a.quality));
153 for (
auto it = simRecColl.begin(), ed = simRecColl.end(); it != ed; ++it) {
155 std::vector<std::pair<edm::RefToBase<reco::Muon>,
double>> &recAss = simToRec[
sim];
156 for (
auto const &
a : it->second) {