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;
104 if (type == 1 && barrel) {
108 sprintf(sladder,
"Ladder_%02i", DBladder);
109 hid = src.
label() +
"_" + sladder;
118 meADCLad_ = iBooker.
book1D(
"adc_" + hid,
"Digi charge", 128, 0., 256.);
136 if (type == 2 && barrel) {
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) {
199 if (type == 3 && barrel) {
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_));
237 if (type == 4 && endcap) {
242 sprintf(sblade,
"Blade_%02i", blade);
243 hid = src.
label() +
"_" + sblade;
251 if (type == 5 && endcap) {
256 sprintf(sdisk,
"Disk_%i", disk);
257 hid = src.
label() +
"_" + sdisk;
279 if (type == 6 && endcap) {
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,
332 bool twoDimOnlyLayDisk,
338 bool isHalfModule =
false;
339 uint32_t DBladder = 0;
347 unsigned int numberOfDigisMod = 0;
354 int numberOfDigis[msize];
355 for (
int i = 0;
i != msize;
i++)
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();
420 }
else if (isUpgrade) {
462 if (ladon && barrel) {
473 if ((layon || twoDimOnlyLayDisk) &&
barrel) {
474 if (!twoDimOnlyLayDisk)
477 if ((layon && twoD) || twoDimOnlyLayDisk) {
479 float rocx = (float)col / 52. + 8.0 *
float(DBmodule - 1);
480 float rocy = (float)row / 160. +
float(DBladder);
486 if (isHalfModule && DBladder == 1) {
491 if ((layon && !twoD) && !twoDimOnlyLayDisk) {
493 if (isHalfModule && DBladder == 1) {
500 if (phion && barrel) {
504 if (isHalfModule && DBladder == 1) {
510 if (isHalfModule && DBladder == 1) {
517 if (bladeon && endcap) {
521 if ((diskon || twoDimOnlyLayDisk) &&
endcap) {
522 if (!twoDimOnlyLayDisk)
524 if (twoDimOnlyLayDisk) {
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);
541 if (ringon && endcap) {
557 if (layon && barrel && !twoDimOnlyLayDisk)
561 if (bladeon && endcap)
563 if (diskon && endcap && !twoDimOnlyLayDisk)
565 if (ringon && endcap)
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;
611 float localY = float(
j) / 2.0 + 0.75;
621 return std::pair<int, int>(nZeroROC, nLoEffROC);
629 float localY = float(
j) / 2.0 + 1.25;
639 return std::pair<int, int>(nZeroROC, nLoEffROC);
641 return std::pair<int, int>(0, 0);
int plaquetteName() const
plaquetteId (in pannel)
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_
MonitorElement * mePixDigis_
MonitorElement * mePixDigisPhi_py_
iterator find(det_id_type id)
virtual int getNbinsY() const
get # of bins in Y-axis
int moduleName() const
module id (index in z)
MonitorElement * meADCRing_
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.
int bladeName() const
blade id
MonitorElement * meADCDisk_
MonitorElement * mePixDigisPhi_px_
bool isHalfModule() const
full or half module
virtual int getNbinsX() const
get # of bins in X-axis
MonitorElement * mePixDigisRing_py_
MonitorElement * mePixRocsDisk_
MonitorElement * mePixRocsLay_
MonitorElement * meZeroOccRocsLay_
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
virtual double getEntries() const
get # of entries
MonitorElement * mePixDigisLay_py_
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum) ...
MonitorElement * meADCLad_
MonitorElement * meADCBlade_
MonitorElement * meNDigisLay_
SiPixelDigiModule()
Default constructor.
MonitorElement * mePixDigisLad_
virtual double getBinContent(int binx) const
get content of bin (1-D)
iterator end()
Return the off-the-end iterator.
MonitorElement * meADCLay_
std::string setHistoId(std::string variable, uint32_t &rawId)
Set Histogram Id.
int ladderName() const
ladder id (index in phi)
MonitorElement * mePixDigis_px_
constexpr uint16_t localX(uint16_t px)
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
int layerName() const
layer id
T getParameter(std::string const &) const
MonitorElement * mePixDigisLad_px_
constexpr uint16_t localY(uint16_t py, uint16_t n)
MonitorElement * mePixDigisLay_
MonitorElement * meNDigisPhi_
int pannelName() const
pannel id
MonitorElement * meZeroOccRocsDisk_
MonitorElement * mePixDigisRing_
MonitorElement * meADCPhi_
int diskName() const
disk id
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_
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.
collection_type::const_iterator const_iterator
collection_type::const_iterator const_iterator
MonitorElement * meNDigisDisk_
uint16_t *__restrict__ uint16_t const *__restrict__ adc
MonitorElement * meNDigisLad_
MonitorElement * mePixDigisLay_px_
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)