31 : id_(
id), ncols_(
ncols), nrows_(nrows) {}
50 bool isHalfModule =
false;
60 std::string twodtitle =
"Number of Digis (1bin=four pixels)";
61 std::string pxtitle =
"Number of Digis (1bin=two columns)";
62 std::string pytitle =
"Number of Digis (1bin=two rows)";
63 std::string twodroctitle =
"ROC Occupancy (1bin=one ROC)";
64 std::string twodzeroOccroctitle =
"Zero Occupancy ROC Map (1bin=one ROC) for ";
68 twodtitle =
"Number of Digis (1bin=one pixel)";
69 pxtitle =
"Number of Digis (1bin=one column)";
70 pytitle =
"Number of Digis (1bin=one row)";
80 meADC_ = iBooker.
book1D(hid,
"Digi charge", 128, 0., 256.);
101 delete theHistogramId;
108 sprintf(sladder,
"Ladder_%02i", DBladder);
109 hid =
src.label() +
"_" + sladder;
118 meADCLad_ = iBooker.
book1D(
"adc_" + hid,
"Digi charge", 128, 0., 256.);
140 sprintf(slayer,
"Layer_%i", DBlayer);
141 hid =
src.label() +
"_" + slayer;
147 meADCLay_ = iBooker.
book1D(
"adc_" + hid,
"Digi charge", 128, 0., 256.);
151 if (twoD || additInfo) {
155 iBooker.
book2D(
"hitmap_" + hid, twodtitle, nbinx, 0.,
float(
ncols_), 2 * nbiny, 0.,
float(2 *
nrows_));
158 iBooker.
book2D(
"hitmap_" + hid, twodtitle, nbinx, 0.,
float(
ncols_), nbiny, 0.,
float(
nrows_));
164 int yROCbins[3] = {18, 30, 42};
170 yROCbins[DBlayer - 1],
172 1.5 +
float(yROCbins[DBlayer - 1] / 2));
176 twodzeroOccroctitle + hid,
180 yROCbins[DBlayer - 1],
182 1.5 +
float(yROCbins[DBlayer - 1] / 2));
186 if (!twoD && !additInfo) {
203 sprintf(smodule,
"Ring_%i", DBmodule);
204 hid =
src.label() +
"_" + smodule;
209 meADCPhi_ = iBooker.
book1D(
"adc_" + hid,
"Digi charge", 128, 0., 256.);
216 iBooker.
book2D(
"hitmap_" + hid, twodtitle, nbinx, 0.,
float(
ncols_), 2 * nbiny, 0.,
float(2 *
nrows_));
219 iBooker.
book2D(
"hitmap_" + hid, twodtitle, nbinx, 0.,
float(
ncols_), nbiny, 0.,
float(
nrows_));
242 sprintf(sblade,
"Blade_%02i", blade);
243 hid =
src.label() +
"_" + sblade;
256 sprintf(sdisk,
"Disk_%i", disk);
257 hid =
src.label() +
"_" + sdisk;
286 sprintf(slab,
"Panel_%i_Ring_%i", panel,
module);
287 hid =
src.label() +
"_" + slab;
298 iBooker.
book2D(
"hitmap_" + hid, twodtitle, nbinx, 0.,
float(
ncols_), nbiny, 0.,
float(
nrows_));
320 std::vector<MonitorElement*>& chanBarrelL,
338 bool isHalfModule =
false;
339 uint32_t DBladder = 0;
347 unsigned int numberOfDigisMod = 0;
354 int numberOfDigis[
msize];
356 numberOfDigis[
i] = 0;
359 if (isearch !=
input.end()) {
363 for (di = isearch->data.
begin(); di != isearch->data.
end(); di++) {
365 int col = di->column();
479 float rocx = (
float)
col / 52. + 8.0 *
float(DBmodule - 1);
480 float rocy = (
float)row / 160. +
float(DBladder);
486 if (isHalfModule && DBladder == 1) {
493 if (isHalfModule && DBladder == 1) {
504 if (isHalfModule && DBladder == 1) {
510 if (isHalfModule && DBladder == 1) {
533 for (
int i = DBpanel;
i < DBmodule; ++
i) {
534 offx = offx +
float(5 + DBpanel -
i);
536 float rocx = (
float)
col / 52. + offx + 14.0 *
float(DBpanel - 1);
537 float rocy = (
float)row / 160. +
float(DBblade);
569 combBarrel->
Fill((
float)numberOfDigisMod);
571 if (numberOfDigis[0] > 0)
572 chanBarrel->
Fill((
float)numberOfDigis[0]);
573 if (numberOfDigis[1] > 0)
574 chanBarrel->
Fill((
float)numberOfDigis[1]);
577 for (std::vector<MonitorElement*>::iterator
i = chanBarrelL.begin();
i != chanBarrelL.end();
i++) {
578 if (numberOfDigis[
j] > 0)
579 (*i)->Fill((
float)numberOfDigis[
j]);
584 combEndcap->
Fill((
float)numberOfDigisMod);
589 return numberOfDigisMod;
621 return std::pair<int, int>(nZeroROC, nLoEffROC);
639 return std::pair<int, int>(nZeroROC, nLoEffROC);
641 return std::pair<int, int>(0, 0);
void book(const edm::ParameterSet &iConfig, const TrackerTopology *pTT, DQMStore::IBooker &iBooker, int type=0, bool twoD=true, bool hiRes=false, bool reducedSet=false, bool additInfo=false, bool isUpgrade=false)
Book histograms.
MonitorElement * meNDigisRing_
MonitorElement * mePixDigisLad_py_
T getParameter(std::string const &) const
MonitorElement * mePixDigis_
MonitorElement * mePixDigisPhi_py_
MonitorElement * meADCRing_
int bladeName() const
blade id
int moduleName() const
module id (index in z)
MonitorElement * meNDigis_
MonitorElement * mePixDigisRing_px_
MonitorElement * mePixDigis_py_
std::pair< int, int > getZeroLoEffROCs()
~SiPixelDigiModule()
Destructor.
MonitorElement * mePixDigisDisk_
static std::string const input
MonitorElement * meNDigisBlade_
virtual void Reset()
Remove all data from the ME, keept the empty histogram with all its settings.
MonitorElement * meADCDisk_
MonitorElement * mePixDigisPhi_px_
bool isHalfModule() const
full or half module
MonitorElement * mePixDigisRing_py_
int diskName() const
disk id
MonitorElement * mePixRocsDisk_
MonitorElement * mePixRocsLay_
MonitorElement * meZeroOccRocsLay_
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
MonitorElement * mePixDigisLay_py_
MonitorElement * meADCLad_
MonitorElement * meADCBlade_
MonitorElement * meNDigisLay_
SiPixelDigiModule()
Default constructor.
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum) ...
virtual double getEntries() const
get # of entries
MonitorElement * mePixDigisLad_
iterator end()
Return the off-the-end iterator.
MonitorElement * meADCLay_
virtual int getNbinsY() const
get # of bins in Y-axis
std::string setHistoId(std::string variable, uint32_t &rawId)
Set Histogram Id.
MonitorElement * mePixDigis_px_
int fill(const edm::DetSetVector< PixelDigi > &input, const TrackerTopology *pTT, MonitorElement *combBarrel, MonitorElement *chanBarrel, std::vector< MonitorElement *> &chanBarrelL, MonitorElement *combEndcap, const bool modon, const bool ladon, const bool layon, const bool phion, const bool bladeon, const bool diskon, const bool ringon, const bool twoD, const bool reducedSet, const bool twoDimModOn, const bool twoDimOnlyLayDisk, int &nDigisA, int &nDigisB, bool isUpgrade)
Fill histograms.
constexpr uint16_t localX(uint16_t px)
int layerName() const
layer id
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
MonitorElement * mePixDigisLad_px_
constexpr uint16_t localY(uint16_t py, uint16_t n)
MonitorElement * mePixDigisLay_
MonitorElement * meNDigisPhi_
MonitorElement * meZeroOccRocsDisk_
MonitorElement * mePixDigisRing_
MonitorElement * meADCPhi_
int ladderName() const
ladder id (index in phi)
virtual int getNbinsX() const
get # of bins in X-axis
iterator begin()
Return an iterator to the first DetSet.
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
MonitorElement * mePixDigisPhi_
collection_type::const_iterator const_iterator
collection_type::const_iterator const_iterator
MonitorElement * meNDigisDisk_
int pannelName() const
pannel id
uint16_t *__restrict__ uint16_t const *__restrict__ adc
MonitorElement * meNDigisLad_
MonitorElement * mePixDigisLay_px_
virtual double getBinContent(int binx) const
get content of bin (1-D)
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
int plaquetteName() const
plaquetteId (in pannel)