58 SiPixelPhase1DeadFEDChannels::SiPixelPhase1DeadFEDChannels(
const edm::ParameterSet& iConfig)
60 pixelFEDChannelCollectionToken_ = consumes<PixelFEDChannelCollection>(
edm::InputTag(
"siPixelDigis"));
61 trackerGeomToken_ = esConsumes<TrackerGeometry, TrackerDigiGeometryRecord>();
62 cablingMapToken_ = esConsumes<SiPixelFedCablingMap, SiPixelFedCablingMapRcd>();
72 trackerGeometry_ = &(*tmpTkGeometry);
75 cablingMap = pixelCabling.
product();
82 iEvent.getByToken(pixelFEDChannelCollectionToken_,
input);
86 for (
const auto& disabledOnDetId : *
input) {
87 for (
const auto& ch : disabledOnDetId) {
90 for (
path.roc = 1;
path.roc <= (ch.roc_last - ch.roc_first) + 1;
path.roc++) {
93 assert(
roc->rawId() == disabledOnDetId.detId());
97 PixelTopology const* topology = &(theGeomDet->specificTopology());
101 histo[DEADCHANROC].fill(disabledOnDetId.detId(), &
iEvent, global.
col, global.
row);
104 histo[DEADCHAN].fill(disabledOnDetId.detId(), &
iEvent);
108 histo[DEADCHAN].executePerEventHarvesting(&
iEvent);
virtual int rowsperroc() const =0
identify pixel inside single ROC
example_stream void analyze(const edm::Event &, const edm::EventSetup &) override
static std::string const input
global coordinates (row and column in DetUnit, as in PixelDigi)
T const * product() const
virtual int colsperroc() const =0
#define DEFINE_FWK_MODULE(type)
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
row and collumn in ROC representation
void analyze(edm::Event const &e, edm::EventSetup const &) override=0