|
|
Go to the documentation of this file.
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];
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();
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);
MonitorElement * mePixDigisDisk_
MonitorElement * mePixDigisLay_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.
static const std::string input
constexpr uint16_t localY(uint16_t py)
MonitorElement * meZeroOccRocsLay_
iterator end()
Return the off-the-end iterator.
MonitorElement * mePixDigisLay_
MonitorElement * mePixDigisPhi_py_
MonitorElement * meNDigisLad_
uint16_t *__restrict__ uint16_t const *__restrict__ adc
MonitorElement * meADCLad_
MonitorElement * meADCBlade_
MonitorElement * mePixDigisRing_py_
MonitorElement * meADCPhi_
MonitorElement * mePixDigisLad_py_
MonitorElement * mePixDigis_
iterator begin()
Return an iterator to the first DetSet.
MonitorElement * meNDigis_
MonitorElement * meADCLay_
MonitorElement * meADCDisk_
int layerName() const
layer id
int pannelName() const
pannel id
int bladeName() const
blade id
MonitorElement * meNDigisLay_
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 * meNDigisPhi_
virtual void Reset()
Remove all data from the ME, keept the empty histogram with all its settings.
std::string setHistoId(std::string variable, uint32_t &rawId)
Set Histogram Id.
MonitorElement * mePixDigis_px_
MonitorElement * mePixDigisRing_px_
MonitorElement * mePixDigis_py_
MonitorElement * meZeroOccRocsDisk_
int ladderName() const
ladder id (index in phi)
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 * mePixRocsDisk_
constexpr uint16_t localX(uint16_t px)
MonitorElement * mePixDigisLay_py_
virtual int getNbinsY() const
get # of bins in Y-axis
collection_type::const_iterator const_iterator
MonitorElement * mePixDigisRing_
MonitorElement * mePixRocsLay_
int moduleName() const
module id (index in z)
MonitorElement * mePixDigisPhi_px_
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
MonitorElement * mePixDigisLad_
int diskName() const
disk id
SiPixelDigiModule()
Default constructor.
MonitorElement * meADCRing_
MonitorElement * meNDigisRing_
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
virtual int getNbinsX() const
get # of bins in X-axis
T getParameter(std::string const &) const
MonitorElement * meNDigisDisk_
MonitorElement * mePixDigisLad_px_
int plaquetteName() const
plaquetteId (in pannel)
~SiPixelDigiModule()
Destructor.
bool isHalfModule() const
full or half module
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
virtual double getBinContent(int binx) const
get content of bin (1-D)
MonitorElement * mePixDigisPhi_
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
std::pair< int, int > getZeroLoEffROCs()
MonitorElement * meNDigisBlade_
collection_type::const_iterator const_iterator