53 bool isHalfModule =
false;
67 std::string twodtitle =
"Number of Digis (1bin=four pixels)";
68 std::string pxtitle =
"Number of Digis (1bin=two columns)";
69 std::string pytitle =
"Number of Digis (1bin=two rows)";
73 twodtitle =
"Number of Digis (1bin=one pixel)";
74 pxtitle =
"Number of Digis (1bin=one column)";
75 pytitle =
"Number of Digis (1bin=one row)";
82 meNDigis_ = theDMBE->book1D(hid,
"Number of Digis",25,0.,25.);
86 meADC_ = theDMBE->book1D(hid,
"Digi charge",128,0.,256.);
108 delete theHistogramId;
112 if(type==1 && barrel){
114 char sladder[80]; sprintf(sladder,
"Ladder_%02i",DBladder);
115 hid = src.
label() +
"_" + sladder;
116 if(isHalfModule) hid +=
"H";
119 meNDigisLad_ = theDMBE->book1D(
"ndigis_"+hid,
"Number of Digis",25,0.,25.);
122 meADCLad_ = theDMBE->book1D(
"adc_" + hid,
"Digi charge",128,0.,256.);
141 if(type==2 && barrel){
143 char slayer[80]; sprintf(slayer,
"Layer_%i",DBlayer);
144 hid = src.
label() +
"_" + slayer;
147 meNDigisLay_ = theDMBE->book1D(
"ndigis_"+hid,
"Number of Digis",25,0.,25.);
150 meADCLay_ = theDMBE->book1D(
"adc_" + hid,
"Digi charge",128,0.,256.);
154 if(twoD || additInfo){
165 if(!twoD && !additInfo){
179 if(type==3 && barrel){
181 char smodule[80]; sprintf(smodule,
"Ring_%i",DBmodule);
182 hid = src.
label() +
"_" + smodule;
184 meNDigisPhi_ = theDMBE->book1D(
"ndigis_"+hid,
"Number of Digis",25,0.,25.);
187 meADCPhi_ = theDMBE->book1D(
"adc_" + hid,
"Digi charge",128,0.,256.);
217 if(type==4 && endcap){
220 char sblade[80]; sprintf(sblade,
"Blade_%02i",blade);
221 hid = src.
label() +
"_" + sblade;
223 meNDigisBlade_ = theDMBE->book1D(
"ndigis_"+hid,
"Number of Digis",25,0.,25.);
226 meADCBlade_ = theDMBE->book1D(
"adc_" + hid,
"Digi charge",128,0.,256.);
229 if(type==5 && endcap){
232 char sdisk[80]; sprintf(sdisk,
"Disk_%i",disk);
233 hid = src.
label() +
"_" + sdisk;
236 meNDigisDisk_ = theDMBE->book1D(
"ndigis_"+hid,
"Number of Digis",25,0.,25.);
239 meADCDisk_ = theDMBE->book1D(
"adc_" + hid,
"Digi charge",128,0.,256.);
243 mePixDigisDisk_ = theDMBE->book2D(
"hitmap_"+hid,twodtitle,260,0.,260.,160,0.,160.);
248 if(type==6 && endcap){
251 char slab[80]; sprintf(slab,
"Panel_%i_Ring_%i",panel, module);
252 hid = src.
label() +
"_" + slab;
254 meNDigisRing_ = theDMBE->book1D(
"ndigis_"+hid,
"Number of Digis",25,0.,25.);
257 meADCRing_ = theDMBE->book1D(
"adc_" + hid,
"Digi charge",128,0.,256.);
283 bool ladon,
bool layon,
bool phion,
284 bool bladeon,
bool diskon,
bool ringon,
285 bool twoD,
bool reducedSet,
bool twoDimModOn,
bool twoDimOnlyLayDisk,
286 int &nDigisA,
int &nDigisB) {
289 bool isHalfModule =
false;
290 uint32_t DBladder = 0;
302 unsigned int numberOfDigisMod = 0;
303 int numberOfDigis[8];
for(
int i=0;
i!=8;
i++) numberOfDigis[
i]=0;
304 nDigisA=0; nDigisB=0;
305 if( isearch != input.
end() ) {
309 for(di = isearch->data.
begin(); di != isearch->data.
end(); di++) {
311 int col = di->column();
314 bool isHalfModule =
false;
315 uint32_t DBladder = 0;
325 numberOfDigis[0]++; nDigisA++;
326 if(DBlayer==1) numberOfDigis[2]++;
327 if(DBlayer==2) numberOfDigis[3]++;
328 if(DBlayer==3) numberOfDigis[4]++;
331 numberOfDigis[1]++; nDigisB++;
332 if(DBlayer==1) numberOfDigis[5]++;
333 if(DBlayer==2) numberOfDigis[6]++;
334 if(DBlayer==3) numberOfDigis[7]++;
338 numberOfDigis[0]++; nDigisA++;
339 if(DBlayer==1) numberOfDigis[2]++;
340 if(DBlayer==2) numberOfDigis[3]++;
341 if(DBlayer==3) numberOfDigis[4]++;
343 numberOfDigis[1]++; nDigisB++;
344 if(DBlayer==1) numberOfDigis[5]++;
345 if(DBlayer==2) numberOfDigis[6]++;
346 if(DBlayer==3) numberOfDigis[7]++;
372 if((layon || twoDimOnlyLayDisk) &&
barrel){
375 if((layon && twoD) || twoDimOnlyLayDisk){
376 if(isHalfModule && DBladder==1){
381 if((layon && !twoD) && !twoDimOnlyLayDisk){
383 if(isHalfModule && DBladder==1) {
395 if(isHalfModule && DBladder==1){
402 if(isHalfModule && DBladder==1) {
409 if(bladeon && endcap){
412 if((diskon || twoDimOnlyLayDisk) &&
endcap){
414 if(twoDimOnlyLayDisk){
418 if(ringon && endcap){
432 if(layon && barrel && !twoDimOnlyLayDisk) (
meNDigisLay_)->
Fill((
float)numberOfDigisMod);
435 if(diskon && endcap && !twoDimOnlyLayDisk) (
meNDigisDisk_)->
Fill((
float)numberOfDigisMod);
439 if(me) me->
Fill((
float)numberOfDigisMod);
440 me=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_Barrel");
441 if(me){
if(numberOfDigis[0]>0) me->
Fill((
float)numberOfDigis[0]);
if(numberOfDigis[1]>0) me->
Fill((
float)numberOfDigis[1]); }
442 me=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelL1");
443 if(me){
if(numberOfDigis[2]>0) me->
Fill((
float)numberOfDigis[2]); }
444 me=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelL2");
445 if(me){
if(numberOfDigis[3]>0) me->
Fill((
float)numberOfDigis[3]); }
446 me=theDMBE->
get(
"Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelL3");
447 if(me){
if(numberOfDigis[4]>0) me->
Fill((
float)numberOfDigis[4]); }
450 if(me) me->
Fill((
float)numberOfDigisMod);
455 return numberOfDigisMod;
int adc(sample_type sample)
get the ADC sample (12 bits)
int plaquetteName() const
plaquetteId (in pannel)
T getParameter(std::string const &) const
int fill(const edm::DetSetVector< PixelDigi > &input, 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)
Fill histograms.
MonitorElement * meNDigisRing_
MonitorElement * mePixDigisLad_py_
MonitorElement * mePixDigis_
MonitorElement * mePixDigisPhi_py_
iterator find(det_id_type id)
int moduleName() const
module id (index in z)
MonitorElement * meADCRing_
MonitorElement * meNDigis_
MonitorElement * mePixDigisRing_px_
MonitorElement * mePixDigis_py_
~SiPixelDigiModule()
Destructor.
MonitorElement * mePixDigisDisk_
MonitorElement * meNDigisBlade_
int bladeName() const
blade id
MonitorElement * meADCDisk_
MonitorElement * mePixDigisPhi_px_
bool isHalfModule() const
full or half module
MonitorElement * mePixDigisRing_py_
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
MonitorElement * mePixDigisLay_py_
MonitorElement * meADCLad_
MonitorElement * meADCBlade_
MonitorElement * meNDigisLay_
SiPixelDigiModule()
Default constructor.
MonitorElement * get(const std::string &path) const
get ME from full pathname (e.g. "my/long/dir/my_histo")
MonitorElement * mePixDigisLad_
int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum) ...
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_
int layerName() const
layer id
MonitorElement * mePixDigisLad_px_
MonitorElement * mePixDigisLay_
MonitorElement * meNDigisPhi_
int pannelName() const
pannel id
MonitorElement * mePixDigisRing_
MonitorElement * meADCPhi_
int diskName() const
disk id
iterator begin()
Return an iterator to the first DetSet.
MonitorElement * mePixDigisPhi_
collection_type::const_iterator const_iterator
collection_type::const_iterator const_iterator
MonitorElement * meNDigisDisk_
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
MonitorElement * meNDigisLad_
MonitorElement * mePixDigisLay_px_
void book(const edm::ParameterSet &iConfig, int type=0, bool twoD=true, bool hiRes=false, bool reducedSet=false, bool additInfo=false)
Book histograms.