27 enum { NRECHITS, CLUST_X, CLUST_Y, ERROR_X, ERROR_Y, POS, CLUSTER_PROB, NONEDGE, NOTHERBAD };
46 offlinePrimaryVerticesToken_ = consumes<reco::VertexCollection>(
std::string(
"offlinePrimaryVertices"));
48 trackerGeomToken_ = esConsumes<TrackerGeometry, TrackerDigiGeometryRecord>();
50 onlyValid_ = iConfig.
getParameter<
bool>(
"onlyValidHits");
74 if (applyVertexCut_ &&
78 bool isBpixtrack =
false, isFpixtrack =
false;
80 auto const& trajParams =
track.extra()->trajParams();
82 for (
unsigned int h = 0;
h <
track.recHitsSize();
h++) {
88 uint32_t subdetid = (
id.subdetId());
96 if (!isBpixtrack && !isFpixtrack)
100 for (
unsigned int h = 0;
h <
track.recHitsSize();
h++) {
101 auto rechit = *(
hb +
h);
107 DetId id = rechit->geographicalId();
108 uint32_t subdetid = (
id.subdetId());
114 if (onlyValid_ && !isHitValid)
117 const SiPixelRecHit* prechit = dynamic_cast<const SiPixelRecHit*>(
124 sizeX = (*clust).sizeX();
125 sizeY = (*clust).sizeY();
134 int row = (
int)mp.
x();
137 float rechit_x = lp.
x();
138 float rechit_y = lp.
y();
140 LocalError lerr = rechit->localPositionError();
141 float lerr_x =
sqrt(lerr.
xx());
142 float lerr_y =
sqrt(lerr.
yy());
162 if (clusterProbability > 0)
163 histo[CLUSTER_PROB].fill(log10(clusterProbability),
id, &
iEvent);
168 histo[NRECHITS].executePerEventHarvesting(&
iEvent);
170 histo[NOTHERBAD].executePerEventHarvesting(&
iEvent);