21 #include "mkFit/HitStructures.h"
22 #include "mkFit/MkStdSeqs.h"
23 #include "LayerNumberConverter.h"
35 void fill(
const std::vector<const TrackingRecHit*>&
hits,
52 stripHitsToken_{consumes(iConfig.getParameter<
edm::InputTag>(
"stripHits"))},
53 pixelClusterIndexToHitToken_{consumes(iConfig.getParameter<
edm::InputTag>(
"pixelHits"))},
54 stripClusterIndexToHitToken_{consumes(iConfig.getParameter<
edm::InputTag>(
"stripHits"))},
56 putToken_{produces<MkFitEventOfHits>()},
57 useStripStripQualityDB_{iConfig.getParameter<
bool>(
"useStripStripQualityDB")} {
58 if (useStripStripQualityDB_) {
69 desc.add(
"useStripStripQualityDB",
false)->setComment(
"Use SiStrip quality DB information");
79 auto eventOfHits = std::make_unique<mkfit::EventOfHits>(mkFitGeom.trackerInfo());
83 std::vector<mkfit::DeadVec> deadvectors(mkFitGeom.layerNumberConverter().nLayers());
86 const auto& badStrips = siStripQuality.getBadComponentList();
87 for (
const auto&
bs : badStrips) {
88 const auto& surf = trackerGeom.idToDet(
DetId(
bs.detid))->surface();
91 const auto ilay = mkFitGeom.mkFitLayerNumber(detid);
92 deadvectors[ilay].push_back({surf.phiSpan().first,
93 surf.phiSpan().second,
94 (
isBarrel ? surf.zSpan().first : surf.rSpan().first),
95 (
isBarrel ? surf.zSpan().second : surf.rSpan().second)});
97 mkfit::StdSeq::LoadDeads(*
eventOfHits, deadvectors);
113 if (
hit !=
nullptr) {