CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Private Attributes
SiPixelDigiModule Class Reference

#include <SiPixelDigiModule.h>

Public Types

typedef edm::DetSet< PixelDigi >
::const_iterator 
DigiIterator
 

Public Member Functions

void book (const edm::ParameterSet &iConfig, int type=0, bool twoD=true, bool hiRes=false, bool reducedSet=false, bool additInfo=false)
 Book histograms. More...
 
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. More...
 
 SiPixelDigiModule ()
 Default constructor. More...
 
 SiPixelDigiModule (const uint32_t &id)
 Constructor with raw DetId. More...
 
 SiPixelDigiModule (const uint32_t &id, const int &ncols, const int &nrows)
 Constructor with raw DetId and sensor size. More...
 
 ~SiPixelDigiModule ()
 Destructor. More...
 

Private Attributes

uint32_t id_
 
MonitorElementmeADC_
 
MonitorElementmeADCBlade_
 
MonitorElementmeADCDisk_
 
MonitorElementmeADCLad_
 
MonitorElementmeADCLay_
 
MonitorElementmeADCPhi_
 
MonitorElementmeADCRing_
 
MonitorElementmeNDigis_
 
MonitorElementmeNDigisBlade_
 
MonitorElementmeNDigisDisk_
 
MonitorElementmeNDigisLad_
 
MonitorElementmeNDigisLay_
 
MonitorElementmeNDigisPhi_
 
MonitorElementmeNDigisRing_
 
MonitorElementmePixDigis_
 
MonitorElementmePixDigis_px_
 
MonitorElementmePixDigis_py_
 
MonitorElementmePixDigisDisk_
 
MonitorElementmePixDigisLad_
 
MonitorElementmePixDigisLad_px_
 
MonitorElementmePixDigisLad_py_
 
MonitorElementmePixDigisLay_
 
MonitorElementmePixDigisLay_px_
 
MonitorElementmePixDigisLay_py_
 
MonitorElementmePixDigisPhi_
 
MonitorElementmePixDigisPhi_px_
 
MonitorElementmePixDigisPhi_py_
 
MonitorElementmePixDigisRing_
 
MonitorElementmePixDigisRing_px_
 
MonitorElementmePixDigisRing_py_
 
int ncols_
 
int nrows_
 

Detailed Description

Definition at line 34 of file SiPixelDigiModule.h.

Member Typedef Documentation

Definition at line 47 of file SiPixelDigiModule.h.

Constructor & Destructor Documentation

SiPixelDigiModule::SiPixelDigiModule ( )

Default constructor.

Framework.

Definition at line 24 of file SiPixelDigiModule.cc.

24  : id_(0),
25  ncols_(416),
26  nrows_(160)
27 {
28 }
SiPixelDigiModule::SiPixelDigiModule ( const uint32_t &  id)

Constructor with raw DetId.

Definition at line 30 of file SiPixelDigiModule.cc.

30  :
31  id_(id),
32  ncols_(416),
33  nrows_(160)
34 {
35 }
SiPixelDigiModule::SiPixelDigiModule ( const uint32_t &  id,
const int &  ncols,
const int &  nrows 
)

Constructor with raw DetId and sensor size.

Definition at line 37 of file SiPixelDigiModule.cc.

37  :
38  id_(id),
39  ncols_(ncols),
40  nrows_(nrows)
41 {
42 }
SiPixelDigiModule::~SiPixelDigiModule ( )

Destructor.

Definition at line 46 of file SiPixelDigiModule.cc.

46 {}

Member Function Documentation

void SiPixelDigiModule::book ( const edm::ParameterSet iConfig,
int  type = 0,
bool  twoD = true,
bool  hiRes = false,
bool  reducedSet = false,
bool  additInfo = false 
)

Book histograms.

Definition at line 50 of file SiPixelDigiModule.cc.

References Reference_intrackfit_cff::barrel, PixelEndcapName::bladeName(), PixelEndcapName::diskName(), Reference_intrackfit_cff::endcap, edm::ParameterSet::getParameter(), id_, PixelBarrelName::isHalfModule(), edm::InputTag::label(), PixelBarrelName::ladderName(), PixelBarrelName::layerName(), meADC_, meADCBlade_, meADCDisk_, meADCLad_, meADCLay_, meADCPhi_, meADCRing_, meNDigis_, meNDigisBlade_, meNDigisDisk_, meNDigisLad_, meNDigisLay_, meNDigisPhi_, meNDigisRing_, mePixDigis_, mePixDigis_px_, mePixDigis_py_, mePixDigisDisk_, mePixDigisLad_, mePixDigisLad_px_, mePixDigisLad_py_, mePixDigisLay_, mePixDigisLay_px_, mePixDigisLay_py_, mePixDigisPhi_, mePixDigisPhi_px_, mePixDigisPhi_py_, mePixDigisRing_, mePixDigisRing_px_, mePixDigisRing_py_, PixelBarrelName::moduleName(), ncols_, nrows_, cmsCodeRules.cppFunctionSkipper::operator, PixelEndcapName::pannelName(), PixelSubdetector::PixelBarrel, PixelSubdetector::PixelEndcap, PixelEndcapName::plaquetteName(), MonitorElement::setAxisTitle(), SiPixelHistogramId::setHistoId(), align_tpl::src, and DetId::subdetId().

50  {
51  bool barrel = DetId(id_).subdetId() == static_cast<int>(PixelSubdetector::PixelBarrel);
52  bool endcap = DetId(id_).subdetId() == static_cast<int>(PixelSubdetector::PixelEndcap);
53  bool isHalfModule = false;
54  if(barrel){
55  isHalfModule = PixelBarrelName(DetId(id_)).isHalfModule();
56  }
57 
58  std::string hid;
59  // Get collection name and instantiate Histo Id builder
60  edm::InputTag src = iConfig.getParameter<edm::InputTag>( "src" );
61 
62 
63  // Get DQM interface
64  DQMStore* theDMBE = edm::Service<DQMStore>().operator->();
65 
66  int nbinx=ncols_/2, nbiny=nrows_/2;
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)";
70  if(hiRes){
71  nbinx = ncols_;
72  nbiny = nrows_;
73  twodtitle = "Number of Digis (1bin=one pixel)";
74  pxtitle = "Number of Digis (1bin=one column)";
75  pytitle = "Number of Digis (1bin=one row)";
76  }
77 
78  if(type==0){
79  SiPixelHistogramId* theHistogramId = new SiPixelHistogramId( src.label() );
80  // Number of digis
81  hid = theHistogramId->setHistoId("ndigis",id_);
82  meNDigis_ = theDMBE->book1D(hid,"Number of Digis",25,0.,25.);
83  meNDigis_->setAxisTitle("Number of digis",1);
84  // Charge in ADC counts
85  hid = theHistogramId->setHistoId("adc",id_);
86  meADC_ = theDMBE->book1D(hid,"Digi charge",128,0.,256.);
87  meADC_->setAxisTitle("ADC counts",1);
88  if(!reducedSet)
89  {
90  if(twoD){
91  if(additInfo){
92  // 2D hit map
93  hid = theHistogramId->setHistoId("hitmap",id_);
94  mePixDigis_ = theDMBE->book2D(hid,twodtitle,nbinx,0.,float(ncols_),nbiny,0.,float(nrows_));
95  mePixDigis_->setAxisTitle("Columns",1);
96  mePixDigis_->setAxisTitle("Rows",2);
97  }
98  }
99  else{
100  // projections of 2D hit map
101  hid = theHistogramId->setHistoId("hitmap",id_);
102  mePixDigis_px_ = theDMBE->book1D(hid+"_px",pxtitle,nbinx,0.,float(ncols_));
103  mePixDigis_py_ = theDMBE->book1D(hid+"_py",pytitle,nbiny,0.,float(nrows_));
104  mePixDigis_px_->setAxisTitle("Columns",1);
105  mePixDigis_py_->setAxisTitle("Rows",1);
106  }
107  }
108  delete theHistogramId;
109 
110  }
111 
112  if(type==1 && barrel){
113  uint32_t DBladder = PixelBarrelName(DetId(id_)).ladderName();
114  char sladder[80]; sprintf(sladder,"Ladder_%02i",DBladder);
115  hid = src.label() + "_" + sladder;
116  if(isHalfModule) hid += "H";
117  else hid += "F";
118  // Number of digis
119  meNDigisLad_ = theDMBE->book1D("ndigis_"+hid,"Number of Digis",25,0.,25.);
120  meNDigisLad_->setAxisTitle("Number of digis",1);
121  // Charge in ADC counts
122  meADCLad_ = theDMBE->book1D("adc_" + hid,"Digi charge",128,0.,256.);
123  meADCLad_->setAxisTitle("ADC counts",1);
124  if(!reducedSet)
125  {
126  if(twoD){
127  // 2D hit map
128  mePixDigisLad_ = theDMBE->book2D("hitmap_"+hid,twodtitle,nbinx,0.,float(ncols_),nbiny,0.,float(nrows_));
129  mePixDigisLad_->setAxisTitle("Columns",1);
130  mePixDigisLad_->setAxisTitle("Rows",2);
131  }
132  else{
133  // projections of 2D hit map
134  mePixDigisLad_px_ = theDMBE->book1D("hitmap_"+hid+"_px",pxtitle,nbinx,0.,float(ncols_));
135  mePixDigisLad_py_ = theDMBE->book1D("hitmap_"+hid+"_py",pytitle,nbiny,0.,float(nrows_));
136  mePixDigisLad_px_->setAxisTitle("Columns",1);
137  mePixDigisLad_py_->setAxisTitle("Rows",1);
138  }
139  }
140  }
141  if(type==2 && barrel){
142  uint32_t DBlayer = PixelBarrelName(DetId(id_)).layerName();
143  char slayer[80]; sprintf(slayer,"Layer_%i",DBlayer);
144  hid = src.label() + "_" + slayer;
145  if(!additInfo){
146  // Number of digis
147  meNDigisLay_ = theDMBE->book1D("ndigis_"+hid,"Number of Digis",25,0.,25.);
148  meNDigisLay_->setAxisTitle("Number of digis",1);
149  // Charge in ADC counts
150  meADCLay_ = theDMBE->book1D("adc_" + hid,"Digi charge",128,0.,256.);
151  meADCLay_->setAxisTitle("ADC counts",1);
152  }
153  if(!reducedSet){
154  if(twoD || additInfo){
155  // 2D hit map
156  if(isHalfModule){
157  mePixDigisLay_ = theDMBE->book2D("hitmap_"+hid,twodtitle,nbinx,0.,float(ncols_),2*nbiny,0.,float(2*nrows_));
158  }
159  else{
160  mePixDigisLay_ = theDMBE->book2D("hitmap_"+hid,twodtitle,nbinx,0.,float(ncols_),nbiny,0.,float(nrows_));
161  }
162  mePixDigisLay_->setAxisTitle("Columns",1);
163  mePixDigisLay_->setAxisTitle("Rows",2);
164  }
165  if(!twoD && !additInfo){
166  // projections of 2D hit map
167  mePixDigisLay_px_ = theDMBE->book1D("hitmap_"+hid+"_px",pxtitle,nbinx,0.,float(ncols_));
168  if(isHalfModule){
169  mePixDigisLay_py_ = theDMBE->book1D("hitmap_"+hid+"_py",pytitle,2*nbiny,0.,float(2*nrows_));
170  }
171  else{
172  mePixDigisLay_py_ = theDMBE->book1D("hitmap_"+hid+"_py",pytitle,nbiny,0.,float(nrows_));
173  }
174  mePixDigisLay_px_->setAxisTitle("Columns",1);
175  mePixDigisLay_py_->setAxisTitle("Rows",1);
176  }
177  }
178  }
179  if(type==3 && barrel){
180  uint32_t DBmodule = PixelBarrelName(DetId(id_)).moduleName();
181  char smodule[80]; sprintf(smodule,"Ring_%i",DBmodule);
182  hid = src.label() + "_" + smodule;
183  // Number of digis
184  meNDigisPhi_ = theDMBE->book1D("ndigis_"+hid,"Number of Digis",25,0.,25.);
185  meNDigisPhi_->setAxisTitle("Number of digis",1);
186  // Charge in ADC counts
187  meADCPhi_ = theDMBE->book1D("adc_" + hid,"Digi charge",128,0.,256.);
188  meADCPhi_->setAxisTitle("ADC counts",1);
189  if(!reducedSet)
190  {
191  if(twoD){
192 
193  // 2D hit map
194  if(isHalfModule){
195  mePixDigisPhi_ = theDMBE->book2D("hitmap_"+hid,twodtitle,nbinx,0.,float(ncols_),2*nbiny,0.,float(2*nrows_));
196  }
197  else {
198  mePixDigisPhi_ = theDMBE->book2D("hitmap_"+hid,twodtitle,nbinx,0.,float(ncols_),nbiny,0.,float(nrows_));
199  }
200  mePixDigisPhi_->setAxisTitle("Columns",1);
201  mePixDigisPhi_->setAxisTitle("Rows",2);
202  }
203  else{
204  // projections of 2D hit map
205  mePixDigisPhi_px_ = theDMBE->book1D("hitmap_"+hid+"_px",pxtitle,nbinx,0.,float(ncols_));
206  if(isHalfModule){
207  mePixDigisPhi_py_ = theDMBE->book1D("hitmap_"+hid+"_py",pytitle,2*nbiny,0.,float(2*nrows_));
208  }
209  else{
210  mePixDigisPhi_py_ = theDMBE->book1D("hitmap_"+hid+"_py",pytitle,nbiny,0.,float(nrows_));
211  }
212  mePixDigisPhi_px_->setAxisTitle("Columns",1);
213  mePixDigisPhi_py_->setAxisTitle("Rows",1);
214  }
215  }
216  }
217  if(type==4 && endcap){
218  uint32_t blade= PixelEndcapName(DetId(id_)).bladeName();
219 
220  char sblade[80]; sprintf(sblade, "Blade_%02i",blade);
221  hid = src.label() + "_" + sblade;
222  // Number of digis
223  meNDigisBlade_ = theDMBE->book1D("ndigis_"+hid,"Number of Digis",25,0.,25.);
224  meNDigisBlade_->setAxisTitle("Number of digis",1);
225  // Charge in ADC counts
226  meADCBlade_ = theDMBE->book1D("adc_" + hid,"Digi charge",128,0.,256.);
227  meADCBlade_->setAxisTitle("ADC counts",1);
228  }
229  if(type==5 && endcap){
230  uint32_t disk = PixelEndcapName(DetId(id_)).diskName();
231 
232  char sdisk[80]; sprintf(sdisk, "Disk_%i",disk);
233  hid = src.label() + "_" + sdisk;
234  if(!additInfo){
235  // Number of digis
236  meNDigisDisk_ = theDMBE->book1D("ndigis_"+hid,"Number of Digis",25,0.,25.);
237  meNDigisDisk_->setAxisTitle("Number of digis",1);
238  // Charge in ADC counts
239  meADCDisk_ = theDMBE->book1D("adc_" + hid,"Digi charge",128,0.,256.);
240  meADCDisk_->setAxisTitle("ADC counts",1);
241  }
242  if(additInfo){
243  mePixDigisDisk_ = theDMBE->book2D("hitmap_"+hid,twodtitle,260,0.,260.,160,0.,160.);
244  mePixDigisDisk_->setAxisTitle("Columns",1);
245  mePixDigisDisk_->setAxisTitle("Rows",2);
246  }
247  }
248  if(type==6 && endcap){
249  uint32_t panel= PixelEndcapName(DetId(id_)).pannelName();
251  char slab[80]; sprintf(slab, "Panel_%i_Ring_%i",panel, module);
252  hid = src.label() + "_" + slab;
253  // Number of digis
254  meNDigisRing_ = theDMBE->book1D("ndigis_"+hid,"Number of Digis",25,0.,25.);
255  meNDigisRing_->setAxisTitle("Number of digis",1);
256  // Charge in ADC counts
257  meADCRing_ = theDMBE->book1D("adc_" + hid,"Digi charge",128,0.,256.);
258  meADCRing_->setAxisTitle("ADC counts",1);
259  if(!reducedSet)
260  {
261  if(twoD){
262  // 2D hit map
263  mePixDigisRing_ = theDMBE->book2D("hitmap_"+hid,twodtitle,nbinx,0.,float(ncols_),nbiny,0.,float(nrows_));
264  mePixDigisRing_->setAxisTitle("Columns",1);
265  mePixDigisRing_->setAxisTitle("Rows",2);
266  }
267  else{
268  // projections of 2D hit map
269  mePixDigisRing_px_ = theDMBE->book1D("hitmap_"+hid+"_px",pxtitle,nbinx,0.,float(ncols_));
270  mePixDigisRing_py_ = theDMBE->book1D("hitmap_"+hid+"_py",pytitle,nbiny,0.,float(nrows_));
271  mePixDigisRing_px_->setAxisTitle("Columns",1);
272  mePixDigisRing_py_->setAxisTitle("Rows",1);
273  }
274  }
275  }
276 }
int plaquetteName() const
plaquetteId (in pannel)
type
Definition: HCALResponse.h:22
T getParameter(std::string const &) const
MonitorElement * meNDigisRing_
MonitorElement * mePixDigisLad_py_
MonitorElement * mePixDigis_
MonitorElement * mePixDigisPhi_py_
int moduleName() const
module id (index in z)
MonitorElement * meADCRing_
MonitorElement * meNDigis_
MonitorElement * mePixDigisRing_px_
MonitorElement * mePixDigis_py_
MonitorElement * meADC_
MonitorElement * mePixDigisDisk_
MonitorElement * meNDigisBlade_
int bladeName() const
blade id
MonitorElement * meADCDisk_
MonitorElement * mePixDigisPhi_px_
bool isHalfModule() const
full or half module
MonitorElement * mePixDigisRing_py_
MonitorElement * mePixDigisLay_py_
MonitorElement * meADCLad_
MonitorElement * meADCBlade_
MonitorElement * meNDigisLay_
MonitorElement * mePixDigisLad_
int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:39
MonitorElement * meADCLay_
std::string setHistoId(std::string variable, uint32_t &rawId)
Set Histogram Id.
Definition: DetId.h:20
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
MonitorElement * mePixDigisPhi_
MonitorElement * meNDigisDisk_
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
Definition: vlib.h:209
MonitorElement * meNDigisLad_
MonitorElement * mePixDigisLay_px_
tuple src
Definition: align_tpl.py:87
int SiPixelDigiModule::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.

Definition at line 282 of file SiPixelDigiModule.cc.

References ecalMGPA::adc(), Reference_intrackfit_cff::barrel, edm::DetSetVector< T >::begin(), edm::DetSetVector< T >::end(), Reference_intrackfit_cff::endcap, MonitorElement::Fill(), edm::DetSetVector< T >::find(), DQMStore::get(), i, id_, PixelBarrelName::isHalfModule(), PixelBarrelName::ladderName(), PixelBarrelName::layerName(), meADC_, meADCBlade_, meADCDisk_, meADCLad_, meADCLay_, meADCPhi_, meADCRing_, meNDigis_, meNDigisBlade_, meNDigisDisk_, meNDigisLad_, meNDigisLay_, meNDigisPhi_, meNDigisRing_, mePixDigis_, mePixDigis_px_, mePixDigis_py_, mePixDigisDisk_, mePixDigisLad_, mePixDigisLad_px_, mePixDigisLad_py_, mePixDigisLay_, mePixDigisLay_px_, mePixDigisLay_py_, mePixDigisPhi_, mePixDigisPhi_px_, mePixDigisPhi_py_, mePixDigisRing_, mePixDigisRing_px_, mePixDigisRing_py_, PixelBarrelName::mI, PixelBarrelName::mO, cmsCodeRules.cppFunctionSkipper::operator, PixelBarrelName::pI, PixelSubdetector::PixelBarrel, PixelSubdetector::PixelEndcap, PixelBarrelName::pO, PixelBarrelName::shell(), DetId::subdetId(), and ExpressReco_HICollisions_FallBack::twoDimOnlyLayDisk.

286  {
287  bool barrel = DetId(id_).subdetId() == static_cast<int>(PixelSubdetector::PixelBarrel);
288  bool endcap = DetId(id_).subdetId() == static_cast<int>(PixelSubdetector::PixelEndcap);
289  bool isHalfModule = false;
290  uint32_t DBladder = 0;
291  if(barrel){
292  isHalfModule = PixelBarrelName(DetId(id_)).isHalfModule();
293  DBladder = PixelBarrelName(DetId(id_)).ladderName();
294  }
295 
296  // Get DQM interface
297  DQMStore* theDMBE = edm::Service<DQMStore>().operator->();
298  //std::cout<<"id_ = "<<id_<<" , dmbe="<<theDMBE->pwd()<<std::endl;
299  //std::cout<<"********************"<<std::endl;
300  edm::DetSetVector<PixelDigi>::const_iterator isearch = input.find(id_); // search digis of detid
301 
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() ) { // Not an empty iterator
306 
307  // Look at digis now
309  for(di = isearch->data.begin(); di != isearch->data.end(); di++) {
310  int adc = di->adc(); // charge
311  int col = di->column(); // column
312  int row = di->row(); // row
313  numberOfDigisMod++;
314  bool isHalfModule = false;
315  uint32_t DBladder = 0;
316  if(barrel){
317  isHalfModule = PixelBarrelName(DetId(id_)).isHalfModule();
318  DBladder = PixelBarrelName(DetId(id_)).ladderName();
319  }
321  int DBlayer = PixelBarrelName(DetId(id_)).layerName();
322  if(barrel){
323  if(isHalfModule){
324  if(DBshell==PixelBarrelName::pI||DBshell==PixelBarrelName::pO){
325  numberOfDigis[0]++; nDigisA++;
326  if(DBlayer==1) numberOfDigis[2]++;
327  if(DBlayer==2) numberOfDigis[3]++;
328  if(DBlayer==3) numberOfDigis[4]++;
329  }
330  if(DBshell==PixelBarrelName::mI||DBshell==PixelBarrelName::mO){
331  numberOfDigis[1]++; nDigisB++;
332  if(DBlayer==1) numberOfDigis[5]++;
333  if(DBlayer==2) numberOfDigis[6]++;
334  if(DBlayer==3) numberOfDigis[7]++;
335  }
336  }else{
337  if(row<80){
338  numberOfDigis[0]++; nDigisA++;
339  if(DBlayer==1) numberOfDigis[2]++;
340  if(DBlayer==2) numberOfDigis[3]++;
341  if(DBlayer==3) numberOfDigis[4]++;
342  }else{
343  numberOfDigis[1]++; nDigisB++;
344  if(DBlayer==1) numberOfDigis[5]++;
345  if(DBlayer==2) numberOfDigis[6]++;
346  if(DBlayer==3) numberOfDigis[7]++;
347  }
348  }
349  }
350  if(modon){
351  if(!reducedSet){
352  if(twoD) {
353  if(twoDimModOn) (mePixDigis_)->Fill((float)col,(float)row);
354  }
355  else {
356  (mePixDigis_px_)->Fill((float)col);
357  (mePixDigis_py_)->Fill((float)row);
358  }
359  }
360  (meADC_)->Fill((float)adc);
361  }
362  if(ladon && barrel){
363  (meADCLad_)->Fill((float)adc);
364  if(!reducedSet){
365  if(twoD) (mePixDigisLad_)->Fill((float)col,(float)row);
366  else {
367  (mePixDigisLad_px_)->Fill((float)col);
368  (mePixDigisLad_py_)->Fill((float)row);
369  }
370  }
371  }
372  if((layon || twoDimOnlyLayDisk) && barrel){
373  if(!twoDimOnlyLayDisk) (meADCLay_)->Fill((float)adc);
374  if(!reducedSet){
375  if((layon && twoD) || twoDimOnlyLayDisk){
376  if(isHalfModule && DBladder==1){
377  (mePixDigisLay_)->Fill((float)col,(float)row+80);
378  }
379  else (mePixDigisLay_)->Fill((float)col,(float)row);
380  }
381  if((layon && !twoD) && !twoDimOnlyLayDisk){
382  (mePixDigisLay_px_)->Fill((float)col);
383  if(isHalfModule && DBladder==1) {
384  (mePixDigisLay_py_)->Fill((float)row+80);
385  }
386  else (mePixDigisLay_py_)->Fill((float)row);
387  }
388  }
389  }
390  if(phion && barrel){
391  (meADCPhi_)->Fill((float)adc);
392  if(!reducedSet)
393  {
394  if(twoD){
395  if(isHalfModule && DBladder==1){
396  (mePixDigisPhi_)->Fill((float)col,(float)row+80);
397  }
398  else (mePixDigisPhi_)->Fill((float)col,(float)row);
399  }
400  else {
401  (mePixDigisPhi_px_)->Fill((float)col);
402  if(isHalfModule && DBladder==1) {
403  (mePixDigisPhi_py_)->Fill((float)row+80);
404  }
405  else (mePixDigisPhi_py_)->Fill((float)row);
406  }
407  }
408  }
409  if(bladeon && endcap){
410  (meADCBlade_)->Fill((float)adc);
411  }
412  if((diskon || twoDimOnlyLayDisk) && endcap){
413  if(!twoDimOnlyLayDisk) (meADCDisk_)->Fill((float)adc);
414  if(twoDimOnlyLayDisk){
415  (mePixDigisDisk_)->Fill((float)col,(float)row);
416  }
417  }
418  if(ringon && endcap){
419  (meADCRing_)->Fill((float)adc);
420  if(!reducedSet)
421  {
422  if(twoD) (mePixDigisRing_)->Fill((float)col,(float)row);
423  else {
424  (mePixDigisRing_px_)->Fill((float)col);
425  (mePixDigisRing_py_)->Fill((float)row);
426  }
427  }
428  }
429  }
430  if(modon) (meNDigis_)->Fill((float)numberOfDigisMod);
431  if(ladon && barrel) (meNDigisLad_)->Fill((float)numberOfDigisMod);
432  if(layon && barrel && !twoDimOnlyLayDisk) (meNDigisLay_)->Fill((float)numberOfDigisMod);
433  if(phion && barrel) (meNDigisPhi_)->Fill((float)numberOfDigisMod);
434  if(bladeon && endcap) (meNDigisBlade_)->Fill((float)numberOfDigisMod);
435  if(diskon && endcap && !twoDimOnlyLayDisk) (meNDigisDisk_)->Fill((float)numberOfDigisMod);
436  if(ringon && endcap) (meNDigisRing_)->Fill((float)numberOfDigisMod);
437  if(barrel){
438  MonitorElement* me=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCOMB_Barrel");
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]); }
448  }else if(endcap){
449  MonitorElement* me=theDMBE->get("Pixel/Endcap/ALLMODS_ndigisCOMB_Endcap");
450  if(me) me->Fill((float)numberOfDigisMod);
451  }
452  }
453 
454  //std::cout<<"numberOfDigis for this module: "<<numberOfDigis<<std::endl;
455  return numberOfDigisMod;
456 }
int adc(sample_type sample)
get the ADC sample (12 bits)
int i
Definition: DBlmapReader.cc:9
MonitorElement * meNDigisRing_
MonitorElement * mePixDigisLad_py_
MonitorElement * mePixDigis_
MonitorElement * mePixDigisPhi_py_
iterator find(det_id_type id)
Definition: DetSetVector.h:281
MonitorElement * meADCRing_
MonitorElement * meNDigis_
MonitorElement * mePixDigisRing_px_
MonitorElement * mePixDigis_py_
MonitorElement * meADC_
MonitorElement * mePixDigisDisk_
void Fill(long long x)
MonitorElement * meNDigisBlade_
MonitorElement * meADCDisk_
MonitorElement * mePixDigisPhi_px_
bool isHalfModule() const
full or half module
MonitorElement * mePixDigisRing_py_
MonitorElement * mePixDigisLay_py_
MonitorElement * meADCLad_
MonitorElement * meADCBlade_
MonitorElement * meNDigisLay_
MonitorElement * mePixDigisLad_
int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:39
iterator end()
Return the off-the-end iterator.
Definition: DetSetVector.h:352
MonitorElement * meADCLay_
Definition: DetId.h:20
int ladderName() const
ladder id (index in phi)
MonitorElement * mePixDigis_px_
int layerName() const
layer id
MonitorElement * mePixDigisLad_px_
Shell shell() const
MonitorElement * mePixDigisLay_
MonitorElement * meNDigisPhi_
MonitorElement * mePixDigisRing_
MonitorElement * meADCPhi_
iterator begin()
Return an iterator to the first DetSet.
Definition: DetSetVector.h:337
MonitorElement * mePixDigisPhi_
collection_type::const_iterator const_iterator
Definition: DetSet.h:31
collection_type::const_iterator const_iterator
Definition: DetSetVector.h:105
MonitorElement * meNDigisDisk_
MonitorElement * meNDigisLad_
MonitorElement * mePixDigisLay_px_

Member Data Documentation

uint32_t SiPixelDigiModule::id_
private

Definition at line 65 of file SiPixelDigiModule.h.

Referenced by book(), and fill().

MonitorElement* SiPixelDigiModule::meADC_
private

Definition at line 69 of file SiPixelDigiModule.h.

Referenced by book(), and fill().

MonitorElement* SiPixelDigiModule::meADCBlade_
private

Definition at line 95 of file SiPixelDigiModule.h.

Referenced by book(), and fill().

MonitorElement* SiPixelDigiModule::meADCDisk_
private

Definition at line 98 of file SiPixelDigiModule.h.

Referenced by book(), and fill().

MonitorElement* SiPixelDigiModule::meADCLad_
private

Definition at line 76 of file SiPixelDigiModule.h.

Referenced by book(), and fill().

MonitorElement* SiPixelDigiModule::meADCLay_
private

Definition at line 82 of file SiPixelDigiModule.h.

Referenced by book(), and fill().

MonitorElement* SiPixelDigiModule::meADCPhi_
private

Definition at line 88 of file SiPixelDigiModule.h.

Referenced by book(), and fill().

MonitorElement* SiPixelDigiModule::meADCRing_
private

Definition at line 102 of file SiPixelDigiModule.h.

Referenced by book(), and fill().

MonitorElement* SiPixelDigiModule::meNDigis_
private

Definition at line 68 of file SiPixelDigiModule.h.

Referenced by book(), and fill().

MonitorElement* SiPixelDigiModule::meNDigisBlade_
private

Definition at line 94 of file SiPixelDigiModule.h.

Referenced by book(), and fill().

MonitorElement* SiPixelDigiModule::meNDigisDisk_
private

Definition at line 97 of file SiPixelDigiModule.h.

Referenced by book(), and fill().

MonitorElement* SiPixelDigiModule::meNDigisLad_
private

Definition at line 75 of file SiPixelDigiModule.h.

Referenced by book(), and fill().

MonitorElement* SiPixelDigiModule::meNDigisLay_
private

Definition at line 81 of file SiPixelDigiModule.h.

Referenced by book(), and fill().

MonitorElement* SiPixelDigiModule::meNDigisPhi_
private

Definition at line 87 of file SiPixelDigiModule.h.

Referenced by book(), and fill().

MonitorElement* SiPixelDigiModule::meNDigisRing_
private

Definition at line 101 of file SiPixelDigiModule.h.

Referenced by book(), and fill().

MonitorElement* SiPixelDigiModule::mePixDigis_
private

Definition at line 70 of file SiPixelDigiModule.h.

Referenced by book(), and fill().

MonitorElement* SiPixelDigiModule::mePixDigis_px_
private

Definition at line 71 of file SiPixelDigiModule.h.

Referenced by book(), and fill().

MonitorElement* SiPixelDigiModule::mePixDigis_py_
private

Definition at line 72 of file SiPixelDigiModule.h.

Referenced by book(), and fill().

MonitorElement* SiPixelDigiModule::mePixDigisDisk_
private

Definition at line 99 of file SiPixelDigiModule.h.

Referenced by book(), and fill().

MonitorElement* SiPixelDigiModule::mePixDigisLad_
private

Definition at line 77 of file SiPixelDigiModule.h.

Referenced by book(), and fill().

MonitorElement* SiPixelDigiModule::mePixDigisLad_px_
private

Definition at line 78 of file SiPixelDigiModule.h.

Referenced by book(), and fill().

MonitorElement* SiPixelDigiModule::mePixDigisLad_py_
private

Definition at line 79 of file SiPixelDigiModule.h.

Referenced by book(), and fill().

MonitorElement* SiPixelDigiModule::mePixDigisLay_
private

Definition at line 83 of file SiPixelDigiModule.h.

Referenced by book(), and fill().

MonitorElement* SiPixelDigiModule::mePixDigisLay_px_
private

Definition at line 84 of file SiPixelDigiModule.h.

Referenced by book(), and fill().

MonitorElement* SiPixelDigiModule::mePixDigisLay_py_
private

Definition at line 85 of file SiPixelDigiModule.h.

Referenced by book(), and fill().

MonitorElement* SiPixelDigiModule::mePixDigisPhi_
private

Definition at line 89 of file SiPixelDigiModule.h.

Referenced by book(), and fill().

MonitorElement* SiPixelDigiModule::mePixDigisPhi_px_
private

Definition at line 90 of file SiPixelDigiModule.h.

Referenced by book(), and fill().

MonitorElement* SiPixelDigiModule::mePixDigisPhi_py_
private

Definition at line 91 of file SiPixelDigiModule.h.

Referenced by book(), and fill().

MonitorElement* SiPixelDigiModule::mePixDigisRing_
private

Definition at line 103 of file SiPixelDigiModule.h.

Referenced by book(), and fill().

MonitorElement* SiPixelDigiModule::mePixDigisRing_px_
private

Definition at line 104 of file SiPixelDigiModule.h.

Referenced by book(), and fill().

MonitorElement* SiPixelDigiModule::mePixDigisRing_py_
private

Definition at line 105 of file SiPixelDigiModule.h.

Referenced by book(), and fill().

int SiPixelDigiModule::ncols_
private

Definition at line 66 of file SiPixelDigiModule.h.

Referenced by book().

int SiPixelDigiModule::nrows_
private

Definition at line 67 of file SiPixelDigiModule.h.

Referenced by book().