59 stripSrcToken_ = consumes<edmNew::DetSetVector<SiStripCluster>>(iConfig.getParameter<
edm::InputTag>(
"stripSrc"));
63 if( !checktrigger(iEvent,iSetup,DCS) )
return;
67 if (!inputPixel.
isValid())
return;
73 if (!inputStrip.
product()->data().empty())
79 bool hasClusters=
false;
86 for (it = inputPixel->begin(); it != inputPixel->end(); ++it) {
87 auto id =
DetId(it->detId());
93 int row = cluster.x()-0.5,
col = cluster.y()-0.5;
94 const std::vector<SiPixelCluster::Pixel> pixelsVec = cluster.pixels();
96 for (
unsigned int i = 0;
i < pixelsVec.size(); ++
i) {
98 float pixx = pixelsVec[
i].x;
99 float pixy = pixelsVec[
i].y;
103 float pixel_charge = pixelsVec[
i].adc;
106 if (bigInX==
true || bigInY==
true) {
107 histo[BIGPIXELCHARGE].fill(pixel_charge,
id, &iEvent,
col, row);
111 histo[NOTBIGPIXELCHARGE].fill(pixel_charge,
id, &iEvent,
col, row);
114 histo[READOUT_CHARGE].fill(
double(cluster.charge()),
id, &iEvent,
col, row);
115 histo[CHARGE].fill(
double(cluster.charge()),
id, &iEvent,
col, row);
116 histo[
SIZE ].fill(
double(cluster.size() ),
id, &iEvent,
col, row);
117 histo[SIZEX ].fill(
double(cluster.sizeX() ),
id, &iEvent,
col, row);
118 histo[SIZEY ].fill(
double(cluster.sizeY() ),
id, &iEvent,
col, row);
119 histo[NCLUSTERS].fill(
id, &iEvent,
col, row);
120 histo[NCLUSTERSINCLUSIVE].fill(
id, &iEvent);
122 if (cluster.size()>1){
123 histo[READOUT_NCLUSTERS].fill(
id, &iEvent);
127 GlobalPoint clustgp = theGeomDet->surface().toGlobal(clustlp);
138 if (hasClusters)
histo[EVENTRATE].fill(
DetId(0), &iEvent);
140 histo[NCLUSTERS].executePerEventHarvesting(&iEvent);
141 histo[READOUT_NCLUSTERS].executePerEventHarvesting(&iEvent);
142 histo[NCLUSTERSINCLUSIVE].executePerEventHarvesting(&iEvent);
T getParameter(std::string const &) const
boost::transform_iterator< IterHelp, const_IdIter > const_iterator
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Geom::Phi< T > phi() const
virtual bool isItBigPixelInX(int ixbin) const =0
example_stream void analyze(const edm::Event &, const edm::EventSetup &) override
Measurement2DPoint MeasurementPoint
Measurement points are two-dimensional by default.
#define DEFINE_FWK_MODULE(type)
virtual bool isItBigPixelInY(int iybin) const =0
void analyze(edm::Event const &e, edm::EventSetup const &eSetup) override=0
T const * product() const
virtual LocalPoint localPosition(const MeasurementPoint &) const =0
Pixel cluster – collection of neighboring pixels above threshold.
const TrackerGeomDet * idToDet(DetId) const override