35 const list<TrackerModule>& listTrackerModule,
42 enableMCtruth_(settings->enableMCtruth()) {
48 iEvent.getByToken(stubToken, ttStubHandle);
50 iEvent.getByToken(tpToken, tpHandle);
51 iEvent.getByToken(stubTruthToken, mcTruthTTStubHandle);
52 iEvent.getByToken(clusterTruthToken, mcTruthTTClusterHandle);
59 unsigned int tpCount = 0;
60 for (
unsigned int i = 0;
i < tpHandle->size();
i++) {
63 constexpr
float ptMinScale = 0.7;
68 TP tp(tpPtr, tpCount, settings);
72 tp.fillNearestJetInfo(genJetHandle.
product());
84 map<edm::Ptr<TrackingParticle>,
const TP*> translateTP;
89 translateTP[tpPtr] = &
tp;
95 std::unique_ptr<const StubKiller> stubKiller;
97 stubKiller = std::make_unique<StubKiller>(killOpt, trackerTopology, trackerGeometry,
iEvent);
102 for (
const TrackerModule& trackerModule : listTrackerModule) {
103 const DetId& stackedDetId = trackerModule.stackedDetId();
105 if (p_module != ttStubHandle->
end()) {
108 const unsigned int stubIndex =
vAllStubs_.size();
112 ttStubRef, stubIndex, settings, trackerTopology, &trackerModule, degradeBend, stubKiller.get());
117 stub.
fillTruth(translateTP, mcTruthTTStubHandle, mcTruthTTClusterHandle);
126 if (
s.frontendPass()) {
134 vStubs_.sort(orderStubsByBend);
150 stubWindowSuggest->
process(trackerTopology, &
s);