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");
52 applyVertexCut_ = iConfig.getUntrackedParameter<
bool>(
"VertexCut",
true);
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)
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);
ClusterRef cluster() const
T getParameter(std::string const &) const
bool isFromDet(TrackingRecHit const &hit)
#define DEFINE_FWK_MODULE(type)
bool hasBadPixels() const
example_stream void analyze(const edm::Event &, const edm::EventSetup &) override
Abs< T >::type abs(const T &t)
virtual MeasurementPoint measurementPosition(const LocalPoint &) const =0
float clusterProbability(unsigned int flags=0) const
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
auto const & tracks
cannot be loose
void analyze(edm::Event const &e, edm::EventSetup const &) override=0
virtual const PixelTopology & specificTopology() const
Returns a reference to the pixel proxy topology.
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.