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
SiPixelDigiSource Class Reference

#include <SiPixelDigiSource.h>

Inheritance diagram for SiPixelDigiSource:
edm::EDAnalyzer edm::EDConsumerBase

Public Types

typedef edm::DetSet< PixelDigi >
::const_iterator 
DigiIterator
 
- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer ModuleType
 
typedef WorkerT< EDAnalyzerWorkerType
 

Public Member Functions

virtual void analyze (const edm::Event &, const edm::EventSetup &)
 
virtual void beginJob ()
 
virtual void beginRun (const edm::Run &, edm::EventSetup const &)
 
virtual void bookMEs ()
 
virtual void buildStructure (edm::EventSetup const &)
 
virtual void endJob ()
 
 SiPixelDigiSource (const edm::ParameterSet &conf)
 
 ~SiPixelDigiSource ()
 
- Public Member Functions inherited from edm::EDAnalyzer
 EDAnalyzer ()
 
std::string workerType () const
 
virtual ~EDAnalyzer ()
 
- Public Member Functions inherited from edm::EDConsumerBase
 EDConsumerBase ()
 
ProductHolderIndex indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndex > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndex > &) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

Private Attributes

MonitorElementaverageDigiOccupancy
 
MonitorElementavgfedDigiOccvsLumi
 
MonitorElementbigEventRate
 
int bigEventSize
 
bool bladeOn
 
edm::ParameterSet conf_
 
bool diskOn
 
int eventNo
 
bool firstRun
 
bool hiRes
 
unsigned int I_detId [1440]
 
int I_fedId [1440]
 
int I_linkId1 [1440]
 
int I_linkId2 [1440]
 
std::string I_name [1440]
 
bool isPIB
 
bool ladOn
 
bool layOn
 
MonitorElementloOccROCsBarrel
 
MonitorElementloOccROCsEndcap
 
int lumSec
 
MonitorElementmeNDigisCHANBarrel_
 
MonitorElementmeNDigisCHANBarrelCh10_
 
MonitorElementmeNDigisCHANBarrelCh11_
 
MonitorElementmeNDigisCHANBarrelCh12_
 
MonitorElementmeNDigisCHANBarrelCh13_
 
MonitorElementmeNDigisCHANBarrelCh14_
 
MonitorElementmeNDigisCHANBarrelCh15_
 
MonitorElementmeNDigisCHANBarrelCh16_
 
MonitorElementmeNDigisCHANBarrelCh17_
 
MonitorElementmeNDigisCHANBarrelCh18_
 
MonitorElementmeNDigisCHANBarrelCh19_
 
MonitorElementmeNDigisCHANBarrelCh1_
 
MonitorElementmeNDigisCHANBarrelCh20_
 
MonitorElementmeNDigisCHANBarrelCh21_
 
MonitorElementmeNDigisCHANBarrelCh22_
 
MonitorElementmeNDigisCHANBarrelCh23_
 
MonitorElementmeNDigisCHANBarrelCh24_
 
MonitorElementmeNDigisCHANBarrelCh25_
 
MonitorElementmeNDigisCHANBarrelCh26_
 
MonitorElementmeNDigisCHANBarrelCh27_
 
MonitorElementmeNDigisCHANBarrelCh28_
 
MonitorElementmeNDigisCHANBarrelCh29_
 
MonitorElementmeNDigisCHANBarrelCh2_
 
MonitorElementmeNDigisCHANBarrelCh30_
 
MonitorElementmeNDigisCHANBarrelCh31_
 
MonitorElementmeNDigisCHANBarrelCh32_
 
MonitorElementmeNDigisCHANBarrelCh33_
 
MonitorElementmeNDigisCHANBarrelCh34_
 
MonitorElementmeNDigisCHANBarrelCh35_
 
MonitorElementmeNDigisCHANBarrelCh36_
 
MonitorElementmeNDigisCHANBarrelCh3_
 
MonitorElementmeNDigisCHANBarrelCh4_
 
MonitorElementmeNDigisCHANBarrelCh5_
 
MonitorElementmeNDigisCHANBarrelCh6_
 
MonitorElementmeNDigisCHANBarrelCh7_
 
MonitorElementmeNDigisCHANBarrelCh8_
 
MonitorElementmeNDigisCHANBarrelCh9_
 
MonitorElementmeNDigisCHANBarrelL1_
 
MonitorElementmeNDigisCHANBarrelL2_
 
MonitorElementmeNDigisCHANBarrelL3_
 
MonitorElementmeNDigisCHANEndcap_
 
MonitorElementmeNDigisCHANEndcapDm1_
 
MonitorElementmeNDigisCHANEndcapDm2_
 
MonitorElementmeNDigisCHANEndcapDp1_
 
MonitorElementmeNDigisCHANEndcapDp2_
 
MonitorElementmeNDigisCOMBBarrel_
 
MonitorElementmeNDigisCOMBEndcap_
 
bool modOn
 
int nBigEvents
 
int nBPIXDigis
 
int nDigisA
 
int nDigisB
 
int nDigisPerChan [1152]
 
int nDigisPerDisk [4]
 
int nDigisPerFed [40]
 
int nDM1P1M1
 
int nDM1P1M2
 
int nDM1P1M3
 
int nDM1P1M4
 
int nDM1P2M1
 
int nDM1P2M2
 
int nDM1P2M3
 
int nDM2P1M1
 
int nDM2P1M2
 
int nDM2P1M3
 
int nDM2P1M4
 
int nDM2P2M1
 
int nDM2P2M2
 
int nDM2P2M3
 
int nDP1P1M1
 
int nDP1P1M2
 
int nDP1P1M3
 
int nDP1P1M4
 
int nDP1P2M1
 
int nDP1P2M2
 
int nDP1P2M3
 
int nDP2P1M1
 
int nDP2P1M2
 
int nDP2P1M3
 
int nDP2P1M4
 
int nDP2P2M1
 
int nDP2P2M2
 
int nDP2P2M3
 
int nFPIXDigis
 
int nL1M1
 
int nL1M2
 
int nL1M3
 
int nL1M4
 
int nL2M1
 
int nL2M2
 
int nL2M3
 
int nL2M4
 
int nL3M1
 
int nL3M2
 
int nL3M3
 
int nL3M4
 
int nLumiSecs
 
MonitorElementnoOccROCsBarrel
 
MonitorElementnoOccROCsEndcap
 
int numberOfDigis [192]
 
bool phiOn
 
MonitorElementpixEventRate
 
MonitorElementpixEvtsPerBX
 
bool reducedSet
 
bool ringOn
 
bool saveFile
 
bool slowDown
 
edm::InputTag src_
 
DQMStoretheDMBE
 
std::map< uint32_t,
SiPixelDigiModule * > 
thePixelStructure
 
bool twoDimModOn
 
bool twoDimOn
 
bool twoDimOnlyLayDisk
 

Additional Inherited Members

- Static Public Member Functions inherited from edm::EDAnalyzer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 
- Protected Member Functions inherited from edm::EDAnalyzer
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
CurrentProcessingContext const * currentContext () const
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

Detailed Description

Description: <one line="" class="" summary>="">

Usage: <usage>

Definition at line 48 of file SiPixelDigiSource.h.

Member Typedef Documentation

Definition at line 53 of file SiPixelDigiSource.h.

Constructor & Destructor Documentation

SiPixelDigiSource::SiPixelDigiSource ( const edm::ParameterSet conf)
explicit

Definition at line 47 of file SiPixelDigiSource.cc.

References cppFunctionSkipper::operator, and theDMBE.

47  :
48  conf_(iConfig),
49  src_( conf_.getParameter<edm::InputTag>( "src" ) ),
50  saveFile( conf_.getUntrackedParameter<bool>("saveFile",false) ),
51  isPIB( conf_.getUntrackedParameter<bool>("isPIB",false) ),
52  slowDown( conf_.getUntrackedParameter<bool>("slowDown",false) ),
53  modOn( conf_.getUntrackedParameter<bool>("modOn",true) ),
54  twoDimOn( conf_.getUntrackedParameter<bool>("twoDimOn",true) ),
55  twoDimModOn( conf_.getUntrackedParameter<bool>("twoDimModOn",true) ),
56  twoDimOnlyLayDisk( conf_.getUntrackedParameter<bool>("twoDimOnlyLayDisk",false) ),
57  hiRes( conf_.getUntrackedParameter<bool>("hiRes",false) ),
58  reducedSet( conf_.getUntrackedParameter<bool>("reducedSet",false) ),
59  ladOn( conf_.getUntrackedParameter<bool>("ladOn",false) ),
60  layOn( conf_.getUntrackedParameter<bool>("layOn",false) ),
61  phiOn( conf_.getUntrackedParameter<bool>("phiOn",false) ),
62  ringOn( conf_.getUntrackedParameter<bool>("ringOn",false) ),
63  bladeOn( conf_.getUntrackedParameter<bool>("bladeOn",false) ),
64  diskOn( conf_.getUntrackedParameter<bool>("diskOn",false) ),
65  bigEventSize( conf_.getUntrackedParameter<int>("bigEventSize",1000) )
66 {
68  LogInfo ("PixelDQM") << "SiPixelDigiSource::SiPixelDigiSource: Got DQM BackEnd interface"<<endl;
69 }
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
edm::ParameterSet conf_
edm::InputTag src_
SiPixelDigiSource::~SiPixelDigiSource ( )

Definition at line 72 of file SiPixelDigiSource.cc.

73 {
74  // do anything here that needs to be done at desctruction time
75  // (e.g. close files, deallocate resources etc.)
76  LogInfo ("PixelDQM") << "SiPixelDigiSource::~SiPixelDigiSource: Destructor"<<endl;
77 }

Member Function Documentation

void SiPixelDigiSource::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
virtual

Implements edm::EDAnalyzer.

Definition at line 176 of file SiPixelDigiSource.cc.

References Reference_intrackfit_cff::barrel, bigEventSize, PixelEndcapName::bladeName(), bladeOn, edm::EventBase::bunchCrossing(), DQMStore::cd(), relmon_rootfiles_spy::contents, PixelEndcapName::diskName(), diskOn, Reference_intrackfit_cff::endcap, eventNo, MonitorElement::Fill(), DQMStore::get(), MonitorElement::getBinContent(), edm::Event::getByLabel(), MonitorElement::getEntries(), DQMStore::getMEs(), MonitorElement::getNbinsX(), MonitorElement::getNbinsY(), DQMStore::getSubdirs(), PixelEndcapName::halfCylinder(), i, I_detId, I_fedId, I_linkId1, I_linkId2, cuy::ii, LaserDQM_cfg::input, edm::HandleBase::isValid(), j, findQualityFiles::jj, ladOn, layOn, edm::EventBase::luminosityBlock(), PixelEndcapName::mI, PixelEndcapName::mO, modOn, nBPIXDigis, nDigisA, nDigisB, nDigisPerChan, nDigisPerDisk, nDigisPerFed, nDM1P1M1, nDM1P1M2, nDM1P1M3, nDM1P1M4, nDM1P2M1, nDM1P2M2, nDM1P2M3, nDM2P1M1, nDM2P1M2, nDM2P1M3, nDM2P1M4, nDM2P2M1, nDM2P2M2, nDM2P2M3, nDP1P1M1, nDP1P1M2, nDP1P1M3, nDP1P1M4, nDP1P2M1, nDP1P2M2, nDP1P2M3, nDP2P1M1, nDP2P1M2, nDP2P1M3, nDP2P1M4, nDP2P2M1, nDP2P2M2, nDP2P2M3, nFPIXDigis, numberOfDigis, cppFunctionSkipper::operator, PixelEndcapName::pannelName(), phiOn, PixelEndcapName::pI, PixelSubdetector::PixelBarrel, PixelSubdetector::PixelEndcap, PixelEndcapName::plaquetteName(), PixelEndcapName::pO, reducedSet, MonitorElement::Reset(), ringOn, MonitorElement::setBinContent(), slowDown, src_, AlCaHLTBitMon_QueryRunRegistry::string, DetId::subdetId(), theDMBE, thePixelStructure, twoDimModOn, twoDimOn, and twoDimOnlyLayDisk.

177 {
178  eventNo++;
179  //cout<<"BIGFATEVENTNUMBER: "<<eventNo<<endl;
180 
181  // get input data
183  iEvent.getByLabel( src_, input );
184  if (!input.isValid()) return;
185  // Get DQM interface
187 
188  //float iOrbitSec = iEvent.orbitNumber()/11223.;
189  int bx = iEvent.bunchCrossing();
190  //long long tbx = (long long)iEvent.orbitNumber() * 3564 + bx;
191  int lumiSection = (int)iEvent.luminosityBlock();
192  int nEventDigis = 0; int nActiveModules = 0;
193  //int nEventBPIXDigis = 0; int nEventFPIXDigis = 0;
194 
195  if(modOn){
196  MonitorElement* meReset = theDMBE->get("Pixel/averageDigiOccupancy");
197  //if(meReset && eventNo%1000==0){
198  if(meReset && lumiSection%8==0){
199  meReset->Reset();
200  nBPIXDigis = 0;
201  nFPIXDigis = 0;
202  for(int i=0; i!=40; i++) nDigisPerFed[i]=0;
203  }
204  if (lumiSection%10==0){
205  //Now do resets for ROCuppancy maps every 10 ls
206  std::string baseDirs[2] = {"Pixel/Barrel", "Pixel/Endcap"};
207  for (int i = 0; i < 2; ++i){
208  theDMBE->cd(baseDirs[i]);
209  vector<string> shellDirs = theDMBE->getSubdirs();
210  for (vector<string>::const_iterator it = shellDirs.begin(); it != shellDirs.end(); it++) {
211  theDMBE->cd(*it);
212  vector<string> layDirs = theDMBE->getSubdirs();
213  for (vector<string>::const_iterator itt = layDirs.begin(); itt != layDirs.end(); itt++) {
214  theDMBE->cd(*itt);
215  vector<string> contents = theDMBE->getMEs();
216  for (vector<string>::const_iterator im = contents.begin(); im != contents.end(); im++) {
217  if ((*im).find("rocmap") == string::npos) continue;
218  MonitorElement* me = theDMBE->get((*itt)+"/"+(*im));
219  if(me) me->Reset();}}}}//end for contents//end for layDirs//end for shellDirs//end for bar/EC
220  }
221  }
222  if(!modOn){
223  MonitorElement* meReset = theDMBE->get("Pixel/averageDigiOccupancy");
224  if(meReset && lumiSection%1==0){
225  meReset->Reset();
226  nBPIXDigis = 0;
227  nFPIXDigis = 0;
228  for(int i=0; i!=40; i++) nDigisPerFed[i]=0;
229  }
230  }
231 
232  std::map<uint32_t,SiPixelDigiModule*>::iterator struct_iter;
233  for(int i=0; i!=192; i++) numberOfDigis[i]=0;
234  for(int i=0; i!=1152; i++) nDigisPerChan[i]=0;
235  for(int i=0; i!=4; i++) nDigisPerDisk[i]=0;
236  for (struct_iter = thePixelStructure.begin() ; struct_iter != thePixelStructure.end() ; struct_iter++) {
237  int numberOfDigisMod = (*struct_iter).second->fill(*input, modOn,
238  ladOn, layOn, phiOn,
239  bladeOn, diskOn, ringOn,
241  nDigisA, nDigisB);
242  if(numberOfDigisMod>0){
243  //if((*struct_iter).first == I_detId[39])
244  //std::cout << "FED " << (*struct_iter).first << " NDigis all modules..." << numberOfDigisMod << std::endl;
245  nEventDigis = nEventDigis + numberOfDigisMod;
246  nActiveModules++;
247  bool barrel = DetId((*struct_iter).first).subdetId() == static_cast<int>(PixelSubdetector::PixelBarrel);
248  bool endcap = DetId((*struct_iter).first).subdetId() == static_cast<int>(PixelSubdetector::PixelEndcap);
249  //if((*struct_iter).first >= 302055684 && (*struct_iter).first <= 302197792 ){ // Barrel
250  if(barrel){ // Barrel
251  //cout<<"AAbpix: "<<numberOfDigisMod<<" + "<<nBPIXDigis<<" = ";
252  nBPIXDigis = nBPIXDigis + numberOfDigisMod;
253  //cout<<nBPIXDigis<<endl;
254  for(int i=0; i!=768; ++i){
255  //cout<<"\t\t\t bpix: "<<i<<" , "<<(*struct_iter).first<<" , "<<I_detId[i]<<endl;
256  if((*struct_iter).first == I_detId[i]){
257  //if(I_fedId[i]>=32&&I_fedId[i]<=39) std::cout<<"Attention: a BPIX module matched to an FPIX FED!"<<std::endl;
258  nDigisPerFed[I_fedId[i]]=nDigisPerFed[I_fedId[i]]+numberOfDigisMod;
259  //cout<<"BPIX: "<<i<<" , "<<I_fedId[i]<<" , "<<numberOfDigisMod<<" , "<<nDigisPerFed[I_fedId[i]]<<endl;
260  int index1 = 0; int index2 = 0;
261  if(I_linkId1[i]>0) index1 = I_fedId[i]*36+(I_linkId1[i]-1);
262  if(I_linkId2[i]>0) index2 = I_fedId[i]*36+(I_linkId2[i]-1);
263  if(nDigisA>0 && I_linkId1[i]>0) nDigisPerChan[index1]=nDigisPerChan[index1]+nDigisA;
264  if(nDigisB>0 && I_linkId2[i]>0) nDigisPerChan[index2]=nDigisPerChan[index2]+nDigisB;
265  //if (index1==35 || index2==35) cout<<"BPIX 35: "<<I_detId[i]<<" : "<<I_fedId[i]<<" "<<I_linkId1[i]<<" , "<<I_fedId[i]<<" "<<I_linkId2[i]<<" , "<<nDigisA<<" , "<<nDigisB<<endl;
266  i=767;
267  }
268  }
269  //}else if((*struct_iter).first >= 343999748 && (*struct_iter).first <= 352477708 ){ // Endcap
270  }else if(endcap){ // Endcap
271 
272  //cout<<"AAfpix: "<<nFPIXDigis<<" = ";
273  nFPIXDigis = nFPIXDigis + numberOfDigisMod;
274  //cout<<nFPIXDigis<<endl;
275  PixelEndcapName::HalfCylinder side = PixelEndcapName(DetId((*struct_iter).first)).halfCylinder();
276  int disk = PixelEndcapName(DetId((*struct_iter).first)).diskName();
277  int blade = PixelEndcapName(DetId((*struct_iter).first)).bladeName();
278  int panel = PixelEndcapName(DetId((*struct_iter).first)).pannelName();
279  int module = PixelEndcapName(DetId((*struct_iter).first)).plaquetteName();
280  //std::cout<<"Endcap: "<<side<<" , "<<disk<<" , "<<blade<<" , "<<panel<<" , "<<std::endl;
281  int iter=0; int i=0;
282  if(side==PixelEndcapName::mI){
283  if(disk==1){
284  i=0;
285  if(panel==1){ if(module==1) nDM1P1M1+=numberOfDigisMod;
286  else if(module==2) nDM1P1M2+=numberOfDigisMod;
287  else if(module==3) nDM1P1M3+=numberOfDigisMod;
288  else if(module==4) nDM1P1M4+=numberOfDigisMod;}
289  else if(panel==2){ if(module==1) nDM1P2M1+=numberOfDigisMod;
290  else if(module==2) nDM1P2M2+=numberOfDigisMod;
291  else if(module==3) nDM1P2M3+=numberOfDigisMod; }
292  if(blade==1){ if(panel==1) iter=i; else if(panel==2) iter=i+1; }
293  if(blade==2){ if(panel==1) iter=i+2; else if(panel==2) iter=i+3; }
294  if(blade==3){ if(panel==1) iter=i+4; else if(panel==2) iter=i+5; }
295  if(blade==4){ if(panel==1) iter=i+6; else if(panel==2) iter=i+7; }
296  if(blade==5){ if(panel==1) iter=i+8; else if(panel==2) iter=i+9; }
297  if(blade==6){ if(panel==1) iter=i+10; else if(panel==2) iter=i+11; }
298  if(blade==7){ if(panel==1) iter=i+12; else if(panel==2) iter=i+13; }
299  if(blade==8){ if(panel==1) iter=i+14; else if(panel==2) iter=i+15; }
300  if(blade==9){ if(panel==1) iter=i+16; else if(panel==2) iter=i+17; }
301  if(blade==10){ if(panel==1) iter=i+18; else if(panel==2) iter=i+19; }
302  if(blade==11){ if(panel==1) iter=i+20; else if(panel==2) iter=i+21; }
303  if(blade==12){ if(panel==1) iter=i+22; else if(panel==2) iter=i+23; }
304  }else if(disk==2){
305  i=24;
306  if(panel==1){ if(module==1) nDM2P1M1+=numberOfDigisMod;
307  else if(module==2) nDM2P1M2+=numberOfDigisMod;
308  else if(module==3) nDM2P1M3+=numberOfDigisMod;
309  else if(module==4) nDM2P1M4+=numberOfDigisMod;}
310  else if(panel==2){ if(module==1) nDM2P2M1+=numberOfDigisMod;
311  else if(module==2) nDM2P2M2+=numberOfDigisMod;
312  else if(module==3) nDM2P2M3+=numberOfDigisMod; }
313  if(blade==1){ if(panel==1) iter=i; else if(panel==2) iter=i+1; }
314  if(blade==2){ if(panel==1) iter=i+2; else if(panel==2) iter=i+3; }
315  if(blade==3){ if(panel==1) iter=i+4; else if(panel==2) iter=i+5; }
316  if(blade==4){ if(panel==1) iter=i+6; else if(panel==2) iter=i+7; }
317  if(blade==5){ if(panel==1) iter=i+8; else if(panel==2) iter=i+9; }
318  if(blade==6){ if(panel==1) iter=i+10; else if(panel==2) iter=i+11; }
319  if(blade==7){ if(panel==1) iter=i+12; else if(panel==2) iter=i+13; }
320  if(blade==8){ if(panel==1) iter=i+14; else if(panel==2) iter=i+15; }
321  if(blade==9){ if(panel==1) iter=i+16; else if(panel==2) iter=i+17; }
322  if(blade==10){ if(panel==1) iter=i+18; else if(panel==2) iter=i+19; }
323  if(blade==11){ if(panel==1) iter=i+20; else if(panel==2) iter=i+21; }
324  if(blade==12){ if(panel==1) iter=i+22; else if(panel==2) iter=i+23; }
325  }
326  }else if(side==PixelEndcapName::mO){
327  if(disk==1){
328  i=48;
329  if(panel==1){ if(module==1) nDM1P1M1+=numberOfDigisMod;
330  else if(module==2) nDM1P1M2+=numberOfDigisMod;
331  else if(module==3) nDM1P1M3+=numberOfDigisMod;
332  else if(module==4) nDM1P1M4+=numberOfDigisMod;}
333  else if(panel==2){ if(module==1) nDM1P2M1+=numberOfDigisMod;
334  else if(module==2) nDM1P2M2+=numberOfDigisMod;
335  else if(module==3) nDM1P2M3+=numberOfDigisMod; }
336  if(blade==1){ if(panel==1) iter=i; else if(panel==2) iter=i+1; }
337  if(blade==2){ if(panel==1) iter=i+2; else if(panel==2) iter=i+3; }
338  if(blade==3){ if(panel==1) iter=i+4; else if(panel==2) iter=i+5; }
339  if(blade==4){ if(panel==1) iter=i+6; else if(panel==2) iter=i+7; }
340  if(blade==5){ if(panel==1) iter=i+8; else if(panel==2) iter=i+9; }
341  if(blade==6){ if(panel==1) iter=i+10; else if(panel==2) iter=i+11; }
342  if(blade==7){ if(panel==1) iter=i+12; else if(panel==2) iter=i+13; }
343  if(blade==8){ if(panel==1) iter=i+14; else if(panel==2) iter=i+15; }
344  if(blade==9){ if(panel==1) iter=i+16; else if(panel==2) iter=i+17; }
345  if(blade==10){ if(panel==1) iter=i+18; else if(panel==2) iter=i+19; }
346  if(blade==11){ if(panel==1) iter=i+20; else if(panel==2) iter=i+21; }
347  if(blade==12){ if(panel==1) iter=i+22; else if(panel==2) iter=i+23; }
348  }else if(disk==2){
349  i=72;
350  if(panel==1){ if(module==1) nDM2P1M1+=numberOfDigisMod;
351  else if(module==2) nDM2P1M2+=numberOfDigisMod;
352  else if(module==3) nDM2P1M3+=numberOfDigisMod;
353  else if(module==4) nDM2P1M4+=numberOfDigisMod;}
354  else if(panel==2){ if(module==1) nDM2P2M1+=numberOfDigisMod;
355  else if(module==2) nDM2P2M2+=numberOfDigisMod;
356  else if(module==3) nDM2P2M3+=numberOfDigisMod; }
357  if(blade==1){ if(panel==1) iter=i; else if(panel==2) iter=i+1; }
358  if(blade==2){ if(panel==1) iter=i+2; else if(panel==2) iter=i+3; }
359  if(blade==3){ if(panel==1) iter=i+4; else if(panel==2) iter=i+5; }
360  if(blade==4){ if(panel==1) iter=i+6; else if(panel==2) iter=i+7; }
361  if(blade==5){ if(panel==1) iter=i+8; else if(panel==2) iter=i+9; }
362  if(blade==6){ if(panel==1) iter=i+10; else if(panel==2) iter=i+11; }
363  if(blade==7){ if(panel==1) iter=i+12; else if(panel==2) iter=i+13; }
364  if(blade==8){ if(panel==1) iter=i+14; else if(panel==2) iter=i+15; }
365  if(blade==9){ if(panel==1) iter=i+16; else if(panel==2) iter=i+17; }
366  if(blade==10){ if(panel==1) iter=i+18; else if(panel==2) iter=i+19; }
367  if(blade==11){ if(panel==1) iter=i+20; else if(panel==2) iter=i+21; }
368  if(blade==12){ if(panel==1) iter=i+22; else if(panel==2) iter=i+23; }
369  }
370  }else if(side==PixelEndcapName::pI){
371  if(disk==1){
372  i=96;
373  if(panel==1){ if(module==1) nDP1P1M1+=numberOfDigisMod;
374  else if(module==2) nDP1P1M2+=numberOfDigisMod;
375  else if(module==3) nDP1P1M3+=numberOfDigisMod;
376  else if(module==4) nDP1P1M4+=numberOfDigisMod;}
377  else if(panel==2){ if(module==1) nDP1P2M1+=numberOfDigisMod;
378  else if(module==2) nDP1P2M2+=numberOfDigisMod;
379  else if(module==3) nDP1P2M3+=numberOfDigisMod; }
380  if(blade==1){ if(panel==1) iter=i; else if(panel==2) iter=i+1; }
381  if(blade==2){ if(panel==1) iter=i+2; else if(panel==2) iter=i+3; }
382  if(blade==3){ if(panel==1) iter=i+4; else if(panel==2) iter=i+5; }
383  if(blade==4){ if(panel==1) iter=i+6; else if(panel==2) iter=i+7; }
384  if(blade==5){ if(panel==1) iter=i+8; else if(panel==2) iter=i+9; }
385  if(blade==6){ if(panel==1) iter=i+10; else if(panel==2) iter=i+11; }
386  if(blade==7){ if(panel==1) iter=i+12; else if(panel==2) iter=i+13; }
387  if(blade==8){ if(panel==1) iter=i+14; else if(panel==2) iter=i+15; }
388  if(blade==9){ if(panel==1) iter=i+16; else if(panel==2) iter=i+17; }
389  if(blade==10){ if(panel==1) iter=i+18; else if(panel==2) iter=i+19; }
390  if(blade==11){ if(panel==1) iter=i+20; else if(panel==2) iter=i+21; }
391  if(blade==12){ if(panel==1) iter=i+22; else if(panel==2) iter=i+23; }
392  }else if(disk==2){
393  i=120;
394  if(panel==1){ if(module==1) nDP2P1M1+=numberOfDigisMod;
395  else if(module==2) nDP2P1M2+=numberOfDigisMod;
396  else if(module==3) nDP2P1M3+=numberOfDigisMod;
397  else if(module==4) nDP2P1M4+=numberOfDigisMod;}
398  else if(panel==2){ if(module==1) nDP2P2M1+=numberOfDigisMod;
399  else if(module==2) nDP2P2M2+=numberOfDigisMod;
400  else if(module==3) nDP2P2M3+=numberOfDigisMod; }
401  if(blade==1){ if(panel==1) iter=i; else if(panel==2) iter=i+1; }
402  if(blade==2){ if(panel==1) iter=i+2; else if(panel==2) iter=i+3; }
403  if(blade==3){ if(panel==1) iter=i+4; else if(panel==2) iter=i+5; }
404  if(blade==4){ if(panel==1) iter=i+6; else if(panel==2) iter=i+7; }
405  if(blade==5){ if(panel==1) iter=i+8; else if(panel==2) iter=i+9; }
406  if(blade==6){ if(panel==1) iter=i+10; else if(panel==2) iter=i+11; }
407  if(blade==7){ if(panel==1) iter=i+12; else if(panel==2) iter=i+13; }
408  if(blade==8){ if(panel==1) iter=i+14; else if(panel==2) iter=i+15; }
409  if(blade==9){ if(panel==1) iter=i+16; else if(panel==2) iter=i+17; }
410  if(blade==10){ if(panel==1) iter=i+18; else if(panel==2) iter=i+19; }
411  if(blade==11){ if(panel==1) iter=i+20; else if(panel==2) iter=i+21; }
412  if(blade==12){ if(panel==1) iter=i+22; else if(panel==2) iter=i+23; }
413  }
414  }else if(side==PixelEndcapName::pO){
415  if(disk==1){
416  i=144;
417  if(panel==1){ if(module==1) nDP1P1M1+=numberOfDigisMod;
418  else if(module==2) nDP1P1M2+=numberOfDigisMod;
419  else if(module==3) nDP1P1M3+=numberOfDigisMod;
420  else if(module==4) nDP1P1M4+=numberOfDigisMod;}
421  else if(panel==2){ if(module==1) nDP1P2M1+=numberOfDigisMod;
422  else if(module==2) nDP1P2M2+=numberOfDigisMod;
423  else if(module==3) nDP1P2M3+=numberOfDigisMod; }
424  if(blade==1){ if(panel==1) iter=i; else if(panel==2) iter=i+1; }
425  if(blade==2){ if(panel==1) iter=i+2; else if(panel==2) iter=i+3; }
426  if(blade==3){ if(panel==1) iter=i+4; else if(panel==2) iter=i+5; }
427  if(blade==4){ if(panel==1) iter=i+6; else if(panel==2) iter=i+7; }
428  if(blade==5){ if(panel==1) iter=i+8; else if(panel==2) iter=i+9; }
429  if(blade==6){ if(panel==1) iter=i+10; else if(panel==2) iter=i+11; }
430  if(blade==7){ if(panel==1) iter=i+12; else if(panel==2) iter=i+13; }
431  if(blade==8){ if(panel==1) iter=i+14; else if(panel==2) iter=i+15; }
432  if(blade==9){ if(panel==1) iter=i+16; else if(panel==2) iter=i+17; }
433  if(blade==10){ if(panel==1) iter=i+18; else if(panel==2) iter=i+19; }
434  if(blade==11){ if(panel==1) iter=i+20; else if(panel==2) iter=i+21; }
435  if(blade==12){ if(panel==1) iter=i+22; else if(panel==2) iter=i+23; }
436  }else if(disk==2){
437  i=168;
438  if(panel==1){ if(module==1) nDP2P1M1+=numberOfDigisMod;
439  else if(module==2) nDP2P1M2+=numberOfDigisMod;
440  else if(module==3) nDP2P1M3+=numberOfDigisMod;
441  else if(module==4) nDP2P1M4+=numberOfDigisMod;}
442  else if(panel==2){ if(module==1) nDP2P2M1+=numberOfDigisMod;
443  else if(module==2) nDP2P2M2+=numberOfDigisMod;
444  else if(module==3) nDP2P2M3+=numberOfDigisMod; }
445  if(blade==1){ if(panel==1) iter=i; else if(panel==2) iter=i+1; }
446  if(blade==2){ if(panel==1) iter=i+2; else if(panel==2) iter=i+3; }
447  if(blade==3){ if(panel==1) iter=i+4; else if(panel==2) iter=i+5; }
448  if(blade==4){ if(panel==1) iter=i+6; else if(panel==2) iter=i+7; }
449  if(blade==5){ if(panel==1) iter=i+8; else if(panel==2) iter=i+9; }
450  if(blade==6){ if(panel==1) iter=i+10; else if(panel==2) iter=i+11; }
451  if(blade==7){ if(panel==1) iter=i+12; else if(panel==2) iter=i+13; }
452  if(blade==8){ if(panel==1) iter=i+14; else if(panel==2) iter=i+15; }
453  if(blade==9){ if(panel==1) iter=i+16; else if(panel==2) iter=i+17; }
454  if(blade==10){ if(panel==1) iter=i+18; else if(panel==2) iter=i+19; }
455  if(blade==11){ if(panel==1) iter=i+20; else if(panel==2) iter=i+21; }
456  if(blade==12){ if(panel==1) iter=i+22; else if(panel==2) iter=i+23; }
457  }
458  }
459  numberOfDigis[iter]=numberOfDigis[iter]+numberOfDigisMod;
460  //if(side==PixelEndcapName::pO||side==PixelEndcapName::pI){
461  // if(disk==2){
462  // std::cout<<"status: "<<iter<<","<<side<<","<<disk<<","<<blade<<","<<panel<<","<<numberOfDigisMod<<","<<numberOfDigis[iter]<<std::endl;
463  //}}
464  for(int i=768; i!=1440; i++){
465  //cout<<"\t\t\t fpix: "<<i<<" , "<<(*struct_iter).first<<" , "<<I_detId[i]<<endl;
466  if((*struct_iter).first == I_detId[i]){
467  //if(I_fedId[i]<32||I_fedId[i]>39) std::cout<<"Attention: an FPIX module matched to a BPIX FED!"<<std::endl;
468  nDigisPerFed[I_fedId[i]]=nDigisPerFed[I_fedId[i]]+numberOfDigisMod;
469  //cout<<"FPIX: "<<i<<" , "<<I_fedId[i]<<" , "<<nDigisPerFed[I_fedId[i]]<< ", "<<numberOfDigisMod << endl;
470  i=1439;
471  }
472  }
473  //cout<<"NDigis Endcap: "<<nDM1P1M1/2.<<" "<<nDM1P2M1/6.<<" "<<nDM1P1M2/6.<<" "<<nDM1P2M2/8.<<" "<<nDM1P1M3/8.<<" "<<nDM1P2M3/10.<<" "<<nDM1P1M4/5.<<endl;
474  } //endif Barrel/Endcap
475  //cout<<"numberOfDigis: "<<numberOfDigisMod<<" , nBPIXDigis: "<<nBPIXDigis<<" , nFPIXDigis: "<<nFPIXDigis<<endl;
476  // digi occupancy per individual FED channel:
477  } // endif any digis in this module
478  } // endfor loop over all modules
479 
480  //A really, really ugly way to do the occupancy-based
481  int NzeroROCs[2] = {0,-672};
482  int NloEffROCs[2] = {0,-672};
483  std::string baseDirs[2] = {"Pixel/Barrel", "Pixel/Endcap"};
484  if (lumiSection%10> 2){
485  for (int i = 0; i < 2; ++i){
486  theDMBE->cd(baseDirs[i]);
487  vector<string> shellDirs = theDMBE->getSubdirs();
488  for (vector<string>::const_iterator it = shellDirs.begin(); it != shellDirs.end(); it++) {
489  theDMBE->cd(*it);
490  vector<string> layDirs = theDMBE->getSubdirs();
491  for (vector<string>::const_iterator itt = layDirs.begin(); itt != layDirs.end(); itt++) {
492  theDMBE->cd(*itt);
493  vector<string> contents = theDMBE->getMEs();
494  for (vector<string>::const_iterator im = contents.begin(); im != contents.end(); im++) {
495  if ((*im).find("rocmap") == string::npos) continue;
496  MonitorElement* me = theDMBE->get((*itt)+"/"+(*im));
497  if(!me) continue;
498  MonitorElement* me2;
499  me2 = theDMBE->get((*itt)+"/zeroOccROC_map");
500  float SF = 1.0; if (me->getEntries() > 0) SF = float(me->getNbinsX()*me->getNbinsY()/me->getEntries());
501  for (int ii = 1; ii < me->getNbinsX()+1; ++ii){for (int jj = 1; jj < me->getNbinsY()+1; ++jj){
502  //Putting in conversion to layer maps.. again, ugly way to do it...
503  float localX = float(ii)-0.5;
504  float localY = float(jj)/2.0 + 1.25;
505  if (i ==1) localY = float(jj)/2.0 + 0.75;
506  if (me->getBinContent(ii,jj) < 1) {++NzeroROCs[i]; if (me2) me2->Fill(localX, localY);}
507  if (me->getBinContent(ii,jj)*SF < 0.25) ++NloEffROCs[i];}}
508  }
509  }
510  }
511  }
512  for (int i =0; i < 2; ++i) NloEffROCs[i] = NloEffROCs[i] - NzeroROCs[i];
513  MonitorElement* menoOcc=theDMBE->get("Pixel/noOccROCsBarrel");
514  MonitorElement* meloOcc=theDMBE->get("Pixel/loOccROCsBarrel");
515  if(menoOcc) menoOcc->setBinContent(1+lumiSection/10, NzeroROCs[0]);
516  if(meloOcc) meloOcc->setBinContent(1+lumiSection/10, NloEffROCs[0]);
517  MonitorElement* menoOcc1=theDMBE->get("Pixel/noOccROCsEndcap");
518  MonitorElement* meloOcc1=theDMBE->get("Pixel/loOccROCsEndcap");
519  if(menoOcc1) menoOcc1->setBinContent(1+lumiSection/10, NzeroROCs[1]);
520  if(meloOcc1) meloOcc1->setBinContent(1+lumiSection/10, NloEffROCs[1]);
521  theDMBE->cd();
522  }
523 // if(lumiSection>lumSec){ lumSec = lumiSection; nLumiSecs++; }
524 // if(nEventDigis>bigEventSize) nBigEvents++;
525 // if(nLumiSecs%5==0){
526 
528  meE=theDMBE->get("Pixel/Endcap/ALLMODS_ndigisCHAN_Endcap");
529  if(meE){ for(int j=0; j!=192; j++) if(numberOfDigis[j]>0) meE->Fill((float)numberOfDigis[j]);}
530  meE1=theDMBE->get("Pixel/Endcap/ALLMODS_ndigisCHAN_EndcapDm1");
531  if(meE1){ for(int j=0; j!=72; j++) if((j<24||j>47)&&numberOfDigis[j]>0) meE1->Fill((float)numberOfDigis[j]);}
532  meE2=theDMBE->get("Pixel/Endcap/ALLMODS_ndigisCHAN_EndcapDm2");
533  if(meE2){ for(int j=24; j!=96; j++) if((j<48||j>71)&&numberOfDigis[j]>0) meE2->Fill((float)numberOfDigis[j]);}
534  meE3=theDMBE->get("Pixel/Endcap/ALLMODS_ndigisCHAN_EndcapDp1");
535  if(meE3){ for(int j=96; j!=168; j++) if((j<120||j>143)&&numberOfDigis[j]>0) meE3->Fill((float)numberOfDigis[j]);}
536  meE4=theDMBE->get("Pixel/Endcap/ALLMODS_ndigisCHAN_EndcapDp2");
537  if(meE4){ for(int j=120; j!=192; j++) if((j<144||j>167)&&numberOfDigis[j]>0) meE4->Fill((float)numberOfDigis[j]);}
538 
545  MonitorElement* me36;
546  me1=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh1");
547  if(me1){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+0]>0) me1->Fill((float)nDigisPerChan[i*36+0]);}
548  me2=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh2");
549  if(me2){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+1]>0) me2->Fill((float)nDigisPerChan[i*36+1]);}
550  me3=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh3");
551  if(me3){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+2]>0) me3->Fill((float)nDigisPerChan[i*36+2]);}
552  me4=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh4");
553  if(me4){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+3]>0) me4->Fill((float)nDigisPerChan[i*36+3]);}
554  me5=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh5");
555  if(me5){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+4]>0) me5->Fill((float)nDigisPerChan[i*36+4]);}
556  me6=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh6");
557  if(me6){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+5]>0) me6->Fill((float)nDigisPerChan[i*36+5]);}
558  me7=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh7");
559  if(me7){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+6]>0) me7->Fill((float)nDigisPerChan[i*36+6]);}
560  me8=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh8");
561  if(me8){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+7]>0) me8->Fill((float)nDigisPerChan[i*36+7]);}
562  me9=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh9");
563  if(me9){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+8]>0) me9->Fill((float)nDigisPerChan[i*36+8]);}
564  me10=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh10");
565  if(me10){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+9]>0) me10->Fill((float)nDigisPerChan[i*36+9]);}
566  me11=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh11");
567  if(me11){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+10]>0) me11->Fill((float)nDigisPerChan[i*36+10]);}
568  me12=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh12");
569  if(me12){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+11]>0) me12->Fill((float)nDigisPerChan[i*36+11]);}
570  me13=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh13");
571  if(me13){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+12]>0) me13->Fill((float)nDigisPerChan[i*36+12]);}
572  me14=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh14");
573  if(me14){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+13]>0) me14->Fill((float)nDigisPerChan[i*36+13]);}
574  me15=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh15");
575  if(me15){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+14]>0) me15->Fill((float)nDigisPerChan[i*36+14]);}
576  me16=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh16");
577  if(me16){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+15]>0) me16->Fill((float)nDigisPerChan[i*36+15]);}
578  me17=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh17");
579  if(me17){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+16]>0) me17->Fill((float)nDigisPerChan[i*36+16]);}
580  me18=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh18");
581  if(me18){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+17]>0) me18->Fill((float)nDigisPerChan[i*36+17]);}
582  me19=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh19");
583  if(me19){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+18]>0) me19->Fill((float)nDigisPerChan[i*36+18]);}
584  me20=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh20");
585  if(me20){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+19]>0) me20->Fill((float)nDigisPerChan[i*36+19]);}
586  me21=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh21");
587  if(me21){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+20]>0) me21->Fill((float)nDigisPerChan[i*36+20]);}
588  me22=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh22");
589  if(me22){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+21]>0) me22->Fill((float)nDigisPerChan[i*36+21]);}
590  me23=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh23");
591  if(me23){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+22]>0) me23->Fill((float)nDigisPerChan[i*36+22]);}
592  me24=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh24");
593  if(me24){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+23]>0) me24->Fill((float)nDigisPerChan[i*36+23]);}
594  me25=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh25");
595  if(me25){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+24]>0) me25->Fill((float)nDigisPerChan[i*36+24]);}
596  me26=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh26");
597  if(me26){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+25]>0) me26->Fill((float)nDigisPerChan[i*36+25]);}
598  me27=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh27");
599  if(me27){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+26]>0) me27->Fill((float)nDigisPerChan[i*36+26]);}
600  me28=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh28");
601  if(me28){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+27]>0) me28->Fill((float)nDigisPerChan[i*36+27]);}
602  me29=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh29");
603  if(me29){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+28]>0) me29->Fill((float)nDigisPerChan[i*36+28]);}
604  me30=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh30");
605  if(me30){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+29]>0) me30->Fill((float)nDigisPerChan[i*36+29]);}
606  me31=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh31");
607  if(me31){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+30]>0) me31->Fill((float)nDigisPerChan[i*36+30]);}
608  me32=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh32");
609  if(me32){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+31]>0) me32->Fill((float)nDigisPerChan[i*36+31]);}
610  me33=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh33");
611  if(me33){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+32]>0) me33->Fill((float)nDigisPerChan[i*36+32]);}
612  me34=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh34");
613  if(me34){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+33]>0) me34->Fill((float)nDigisPerChan[i*36+33]);}
614  me35=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh35");
615  if(me35){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+34]>0) me35->Fill((float)nDigisPerChan[i*36+34]);}
616  me36=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh36");
617  if(me36){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+35]>0) me36->Fill((float)nDigisPerChan[i*36+35]);}
618 
619  // Rate of events with >N digis:
620  MonitorElement* meX1;
621  if(nEventDigis>bigEventSize){
622  meX1 = theDMBE->get("Pixel/bigEventRate");
623  if(meX1) meX1->Fill(lumiSection,1./23.);
624  }
625  //std::cout<<"nEventDigis: "<<nEventDigis<<" , nLumiSecs: "<<nLumiSecs<<" , nBigEvents: "<<nBigEvents<<std::endl;
626 
627  // Rate of pixel events and total number of pixel events per BX:
628  MonitorElement* meX2; MonitorElement* meX3;
629  if(nActiveModules>=4){
630  meX2 = theDMBE->get("Pixel/pixEvtsPerBX");
631  if(meX2) meX2->Fill(float(bx));
632  meX3 = theDMBE->get("Pixel/pixEventRate");
633  if(meX3) meX3->Fill(lumiSection, 1./23.);
634  }
635 
636  // Actual digi occupancy in a FED compared to average digi occupancy per FED
637  MonitorElement* meX4; MonitorElement* meX5;
638  meX4 = theDMBE->get("Pixel/averageDigiOccupancy");
639  meX5 = theDMBE->get("Pixel/avgfedDigiOccvsLumi");
640  if(meX4){
641  int maxfed=0;
642  for(int i=0; i!=32; i++){
643  if(nDigisPerFed[i]>maxfed) maxfed=nDigisPerFed[i];
644  }
645  for(int i=0; i!=40; i++){
646  float averageOcc = 0.;
647  if(i<32){
648  float averageBPIXFed = float(nBPIXDigis-maxfed)/31.;
649  if(averageBPIXFed>0.) averageOcc = nDigisPerFed[i]/averageBPIXFed;
650  //cout<<"\t BPIX i: "<<i<<" , "<<nBPIXDigis<<" , "<<averageBPIXFed<<" , "<<nDigisPerFed[i]<<" , "<<averageOcc<<endl;
651  }else{
652  float averageFPIXFed = float(nFPIXDigis)/8.;
653  if(averageFPIXFed>0.) averageOcc = nDigisPerFed[i]/averageFPIXFed;
654  //cout<<"\t FPIX i: "<<i<<" , "<<nFPIXDigis<<" , "<<averageFPIXFed<<" , "<<nDigisPerFed[i]<<" , "<<averageOcc<<endl;
655  }
656  meX4->setBinContent(i+1,averageOcc);
657  int lumiSections8 = int(lumiSection/8);
658  if (modOn){
659  if (meX5){
660  meX5->setBinContent(1+lumiSections8, i+1, averageOcc);
661  }//endif meX5
662  }//endif modOn
663  }
664  }
665 
666  // slow down...
667  if(slowDown) usleep(10000);
668 
669 }
int plaquetteName() const
plaquetteId (in pannel)
int i
Definition: DBlmapReader.cc:9
void setBinContent(int binx, double content)
set content of bin (1-D)
std::vector< std::string > getSubdirs(void) const
Definition: DQMStore.cc:1424
void cd(void)
go to top directory (ie. root)
Definition: DQMStore.cc:411
int bunchCrossing() const
Definition: EventBase.h:62
edm::LuminosityBlockNumber_t luminosityBlock() const
Definition: EventBase.h:59
double getEntries(void) const
get # of entries
int ii
Definition: cuy.py:588
int getNbinsY(void) const
get # of bins in Y-axis
void Fill(long long x)
int bladeName() const
blade id
int j
Definition: DBlmapReader.cc:9
MonitorElement * get(const std::string &path) const
get ME from full pathname (e.g. &quot;my/long/dir/my_histo&quot;)
Definition: DQMStore.cc:1473
bool isValid() const
Definition: HandleBase.h:76
int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:39
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:361
Definition: DetId.h:20
unsigned int I_detId[1440]
std::vector< std::string > getMEs(void) const
get list of (non-dir) MEs of current directory
Definition: DQMStore.cc:1447
double getBinContent(int binx) const
get content of bin (1-D)
int pannelName() const
pannel id
int getNbinsX(void) const
get # of bins in X-axis
int diskName() const
disk id
std::map< uint32_t, SiPixelDigiModule * > thePixelStructure
HalfCylinder halfCylinder() const
void Reset(void)
reset ME (ie. contents, errors, etc)
Definition: vlib.h:209
edm::InputTag src_
void SiPixelDigiSource::beginJob ( void  )
virtual

Reimplemented from edm::EDAnalyzer.

Definition at line 80 of file SiPixelDigiSource.cc.

References firstRun, I_detId, I_fedId, I_linkId1, I_linkId2, I_name, recoMuon::in, and EdgesToViz::infile.

80  {
81  firstRun = true;
82  // find a FED# for the current detId:
83  ifstream infile(edm::FileInPath("DQM/SiPixelMonitorClient/test/detId.dat").fullPath().c_str(),ios::in);
84  int nModsInFile=0;
85  assert(!infile.fail());
86  while(!infile.eof()&&nModsInFile<1440) {
87  infile >> I_name[nModsInFile] >> I_detId[nModsInFile] >> I_fedId[nModsInFile] >> I_linkId1[nModsInFile] >> I_linkId2[nModsInFile];
88  //cout<<nModsInFile<<" , "<<I_name[nModsInFile]<<" , "<<I_detId[nModsInFile]<<" , "<<I_fedId[nModsInFile]<<" , "<<I_linkId[nModsInFile]<<endl; ;
89  nModsInFile++;
90  }
91  infile.close();
92 }
std::string I_name[1440]
unsigned int I_detId[1440]
list infile
Definition: EdgesToViz.py:90
void SiPixelDigiSource::beginRun ( const edm::Run r,
edm::EventSetup const &  iSetup 
)
virtual

Reimplemented from edm::EDAnalyzer.

Definition at line 94 of file SiPixelDigiSource.cc.

References bladeOn, bookMEs(), buildStructure(), diskOn, eventNo, firstRun, hiRes, i, ladOn, layOn, lumSec, modOn, nBigEvents, nBPIXDigis, nDigisPerDisk, nDigisPerFed, nDM1P1M1, nDM1P1M2, nDM1P1M3, nDM1P1M4, nDM1P2M1, nDM1P2M2, nDM1P2M3, nDM2P1M1, nDM2P1M2, nDM2P1M3, nDM2P1M4, nDM2P2M1, nDM2P2M2, nDM2P2M3, nDP1P1M1, nDP1P1M2, nDP1P1M3, nDP1P1M4, nDP1P2M1, nDP1P2M2, nDP1P2M3, nDP2P1M1, nDP2P1M2, nDP2P1M3, nDP2P1M4, nDP2P2M1, nDP2P2M2, nDP2P2M3, nFPIXDigis, nL1M1, nL1M2, nL1M3, nL1M4, nL2M1, nL2M2, nL2M3, nL2M4, nL3M1, nL3M2, nL3M3, nL3M4, nLumiSecs, phiOn, ringOn, and twoDimOn.

94  {
95  LogInfo ("PixelDQM") << " SiPixelDigiSource::beginJob - Initialisation ... " << std::endl;
96  LogInfo ("PixelDQM") << "Mod/Lad/Lay/Phi " << modOn << "/" << ladOn << "/"
97  << layOn << "/" << phiOn << std::endl;
98  LogInfo ("PixelDQM") << "Blade/Disk/Ring" << bladeOn << "/" << diskOn << "/"
99  << ringOn << std::endl;
100 
101  LogInfo ("PixelDQM") << "2DIM IS " << twoDimOn << " and set to high resolution? " << hiRes << "\n";
102 
103  if(firstRun){
104  eventNo = 0;
105  lumSec = 0;
106  nLumiSecs = 0;
107  nBigEvents = 0;
108  nBPIXDigis = 0;
109  nFPIXDigis = 0;
110  for(int i=0; i!=40; i++) nDigisPerFed[i]=0;
111  for(int i=0; i!=4; i++) nDigisPerDisk[i]=0;
112  nDP1P1M1 = 0;
113  nDP1P1M2 = 0;
114  nDP1P1M3 = 0;
115  nDP1P1M4 = 0;
116  nDP1P2M1 = 0;
117  nDP1P2M2 = 0;
118  nDP1P2M3 = 0;
119  nDP2P1M1 = 0;
120  nDP2P1M2 = 0;
121  nDP2P1M3 = 0;
122  nDP2P1M4 = 0;
123  nDP2P2M1 = 0;
124  nDP2P2M2 = 0;
125  nDP2P2M3 = 0;
126  nDM1P1M1 = 0;
127  nDM1P1M2 = 0;
128  nDM1P1M3 = 0;
129  nDM1P1M4 = 0;
130  nDM1P2M1 = 0;
131  nDM1P2M2 = 0;
132  nDM1P2M3 = 0;
133  nDM2P1M1 = 0;
134  nDM2P1M2 = 0;
135  nDM2P1M3 = 0;
136  nDM2P1M4 = 0;
137  nDM2P2M1 = 0;
138  nDM2P2M2 = 0;
139  nDM2P2M3 = 0;
140  nL1M1 = 0;
141  nL1M2 = 0;
142  nL1M3 = 0;
143  nL1M4 = 0;
144  nL2M1 = 0;
145  nL2M2 = 0;
146  nL2M3 = 0;
147  nL2M4 = 0;
148  nL3M1 = 0;
149  nL3M2 = 0;
150  nL3M3 = 0;
151  nL3M4 = 0;
152 
153 
154  // Build map
155  buildStructure(iSetup);
156  // Book Monitoring Elements
157  bookMEs();
158  firstRun = false;
159  }
160 }
int i
Definition: DBlmapReader.cc:9
virtual void bookMEs()
virtual void buildStructure(edm::EventSetup const &)
void SiPixelDigiSource::bookMEs ( )
virtual

Create folder tree and book histograms

Definition at line 737 of file SiPixelDigiSource.cc.

References averageDigiOccupancy, avgfedDigiOccvsLumi, bigEventRate, bigEventSize, bladeOn, DQMStore::book1D(), DQMStore::book2D(), DQMStore::cd(), conf_, diskOn, edm::hlt::Exception, hiRes, isPIB, ladOn, layOn, LogDebug, loOccROCsBarrel, loOccROCsEndcap, meNDigisCHANBarrel_, meNDigisCHANBarrelCh10_, meNDigisCHANBarrelCh11_, meNDigisCHANBarrelCh12_, meNDigisCHANBarrelCh13_, meNDigisCHANBarrelCh14_, meNDigisCHANBarrelCh15_, meNDigisCHANBarrelCh16_, meNDigisCHANBarrelCh17_, meNDigisCHANBarrelCh18_, meNDigisCHANBarrelCh19_, meNDigisCHANBarrelCh1_, meNDigisCHANBarrelCh20_, meNDigisCHANBarrelCh21_, meNDigisCHANBarrelCh22_, meNDigisCHANBarrelCh23_, meNDigisCHANBarrelCh24_, meNDigisCHANBarrelCh25_, meNDigisCHANBarrelCh26_, meNDigisCHANBarrelCh27_, meNDigisCHANBarrelCh28_, meNDigisCHANBarrelCh29_, meNDigisCHANBarrelCh2_, meNDigisCHANBarrelCh30_, meNDigisCHANBarrelCh31_, meNDigisCHANBarrelCh32_, meNDigisCHANBarrelCh33_, meNDigisCHANBarrelCh34_, meNDigisCHANBarrelCh35_, meNDigisCHANBarrelCh36_, meNDigisCHANBarrelCh3_, meNDigisCHANBarrelCh4_, meNDigisCHANBarrelCh5_, meNDigisCHANBarrelCh6_, meNDigisCHANBarrelCh7_, meNDigisCHANBarrelCh8_, meNDigisCHANBarrelCh9_, meNDigisCHANBarrelL1_, meNDigisCHANBarrelL2_, meNDigisCHANBarrelL3_, meNDigisCHANEndcap_, meNDigisCHANEndcapDm1_, meNDigisCHANEndcapDm2_, meNDigisCHANEndcapDp1_, meNDigisCHANEndcapDp2_, meNDigisCOMBBarrel_, meNDigisCOMBEndcap_, modOn, noOccROCsBarrel, noOccROCsEndcap, cppFunctionSkipper::operator, phiOn, pixEventRate, pixEvtsPerBX, DQMStore::pwd(), reducedSet, ringOn, MonitorElement::setAxisTitle(), DQMStore::setCurrentFolder(), MonitorElement::setLumiFlag(), SiPixelFolderOrganizer::setModuleFolder(), AlCaHLTBitMon_QueryRunRegistry::string, theDMBE, thePixelStructure, indexGen::title, twoDimModOn, twoDimOn, and twoDimOnlyLayDisk.

Referenced by beginRun().

737  {
738 
739  // Get DQM interface
741  theDMBE->setCurrentFolder("Pixel");
742  char title[80]; sprintf(title, "Rate of events with >%i digis;LumiSection;Rate [Hz]",bigEventSize);
743  bigEventRate = theDMBE->book1D("bigEventRate",title,5000,0.,5000.);
744  char title1[80]; sprintf(title1, "Pixel events vs. BX;BX;# events");
745  pixEvtsPerBX = theDMBE->book1D("pixEvtsPerBX",title1,3565,0.,3565.);
746  char title2[80]; sprintf(title2, "Rate of Pixel events;LumiSection;Rate [Hz]");
747  pixEventRate = theDMBE->book1D("pixEventRate",title2,5000,0.,5000.);
748  char title3[80]; sprintf(title3, "Number of Zero-Occupancy Barrel ROCs;LumiSection;N_{ZERO-OCCUPANCY} Barrel ROCs");
749  noOccROCsBarrel = theDMBE->book1D("noOccROCsBarrel",title3,500,0.,5000.);
750  char title4[80]; sprintf(title4, "Number of Low-Efficiency Barrel ROCs;LumiSection;N_{LO EFF} Barrel ROCs");
751  loOccROCsBarrel = theDMBE->book1D("loOccROCsBarrel",title4,500,0.,5000.);
752  char title5[80]; sprintf(title5, "Number of Zero-Occupancy Endcap ROCs;LumiSection;N_{ZERO-OCCUPANCY} Endcap ROCs");
753  noOccROCsEndcap = theDMBE->book1D("noOccROCsEndcap",title5,500,0.,5000.);
754  char title6[80]; sprintf(title6, "Number of Low-Efficiency Endcap ROCs;LumiSection;N_{LO EFF} Endcap ROCs");
755  loOccROCsEndcap = theDMBE->book1D("loOccROCsEndcap",title6,500,0.,5000.);
756  char title7[80]; sprintf(title7, "Average digi occupancy per FED;FED;NDigis/<NDigis>");
757  averageDigiOccupancy = theDMBE->book1D("averageDigiOccupancy",title7,40,-0.5,39.5);
759  if(modOn){
760  char title4[80]; sprintf(title4, "FED Digi Occupancy (NDigis/<NDigis>) vs LumiSections;Lumi Section;FED");
761  avgfedDigiOccvsLumi = theDMBE->book2D ("avgfedDigiOccvsLumi", title4, 400,0., 3200., 40, -0.5, 39.5);
762  }
763  std::map<uint32_t,SiPixelDigiModule*>::iterator struct_iter;
764 
765  SiPixelFolderOrganizer theSiPixelFolder;
766 
767  for(struct_iter = thePixelStructure.begin(); struct_iter != thePixelStructure.end(); struct_iter++){
769  if(modOn){
770  if(theSiPixelFolder.setModuleFolder((*struct_iter).first)){
771  (*struct_iter).second->book( conf_,0,twoDimOn,hiRes, reducedSet, twoDimModOn);
772  } else {
773 
774  if(!isPIB) throw cms::Exception("LogicError")
775  << "[SiPixelDigiSource::bookMEs] Creation of DQM folder failed";
776  }
777  }
778  if(ladOn){
779  if(theSiPixelFolder.setModuleFolder((*struct_iter).first,1)){
780  (*struct_iter).second->book( conf_,1,twoDimOn,hiRes, reducedSet);
781  } else {
782  LogDebug ("PixelDQM") << "PROBLEM WITH LADDER-FOLDER\n";
783  }
784 
785  }
786  if(layOn || twoDimOnlyLayDisk){
787  if(theSiPixelFolder.setModuleFolder((*struct_iter).first,2)){
788  (*struct_iter).second->book( conf_,2,twoDimOn,hiRes, reducedSet, twoDimOnlyLayDisk);
789  } else {
790  LogDebug ("PixelDQM") << "PROBLEM WITH LAYER-FOLDER\n";
791  }
792  }
793 
794  if(phiOn){
795  if(theSiPixelFolder.setModuleFolder((*struct_iter).first,3)){
796  (*struct_iter).second->book( conf_,3,twoDimOn,hiRes, reducedSet);
797  } else {
798  LogDebug ("PixelDQM") << "PROBLEM WITH PHI-FOLDER\n";
799  }
800  }
801  if(bladeOn){
802  if(theSiPixelFolder.setModuleFolder((*struct_iter).first,4)){
803  (*struct_iter).second->book( conf_,4,twoDimOn,hiRes, reducedSet);
804  } else {
805  LogDebug ("PixelDQM") << "PROBLEM WITH BLADE-FOLDER\n";
806  }
807  }
808  if(diskOn || twoDimOnlyLayDisk){
809  if(theSiPixelFolder.setModuleFolder((*struct_iter).first,5)){
810  (*struct_iter).second->book( conf_,5,twoDimOn,hiRes, reducedSet, twoDimOnlyLayDisk);
811  } else {
812  LogDebug ("PixelDQM") << "PROBLEM WITH DISK-FOLDER\n";
813  }
814  }
815  if(ringOn){
816  if(theSiPixelFolder.setModuleFolder((*struct_iter).first,6)){
817  (*struct_iter).second->book( conf_,6,twoDimOn,hiRes, reducedSet);
818  } else {
819  LogDebug ("PixelDQM") << "PROBLEM WITH RING-FOLDER\n";
820  }
821  }
822  }
823  std::string currDir = theDMBE->pwd();
824  theDMBE->cd("Pixel/Barrel");
825  meNDigisCOMBBarrel_ = theDMBE->book1D("ALLMODS_ndigisCOMB_Barrel","Number of Digis",200,0.,400.);
826  meNDigisCOMBBarrel_->setAxisTitle("Number of digis per module per event",1);
827  meNDigisCHANBarrel_ = theDMBE->book1D("ALLMODS_ndigisCHAN_Barrel","Number of Digis",100,0.,1000.);
828  meNDigisCHANBarrel_->setAxisTitle("Number of digis per FED channel per event",1);
829  meNDigisCHANBarrelL1_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelL1","Number of Digis L1",100,0.,1000.);
830  meNDigisCHANBarrelL1_->setAxisTitle("Number of digis per FED channel per event",1);
831  meNDigisCHANBarrelL2_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelL2","Number of Digis L2",100,0.,1000.);
832  meNDigisCHANBarrelL2_->setAxisTitle("Number of digis per FED channel per event",1);
833  meNDigisCHANBarrelL3_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelL3","Number of Digis L3",100,0.,1000.);
834  meNDigisCHANBarrelL3_->setAxisTitle("Number of digis per FED channel per event",1);
835  meNDigisCHANBarrelCh1_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh1","Number of Digis Ch1",100,0.,1000.);
836  meNDigisCHANBarrelCh1_->setAxisTitle("Number of digis per FED channel per event",1);
837  meNDigisCHANBarrelCh2_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh2","Number of Digis Ch2",100,0.,1000.);
838  meNDigisCHANBarrelCh2_->setAxisTitle("Number of digis per FED channel per event",1);
839  meNDigisCHANBarrelCh3_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh3","Number of Digis Ch3",100,0.,1000.);
840  meNDigisCHANBarrelCh3_->setAxisTitle("Number of digis per FED channel per event",1);
841  meNDigisCHANBarrelCh4_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh4","Number of Digis Ch4",100,0.,1000.);
842  meNDigisCHANBarrelCh4_->setAxisTitle("Number of digis per FED channel per event",1);
843  meNDigisCHANBarrelCh5_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh5","Number of Digis Ch5",100,0.,1000.);
844  meNDigisCHANBarrelCh5_->setAxisTitle("Number of digis per FED channel per event",1);
845  meNDigisCHANBarrelCh6_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh6","Number of Digis Ch6",100,0.,1000.);
846  meNDigisCHANBarrelCh6_->setAxisTitle("Number of digis per FED channel per event",1);
847  meNDigisCHANBarrelCh7_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh7","Number of Digis Ch7",100,0.,1000.);
848  meNDigisCHANBarrelCh7_->setAxisTitle("Number of digis per FED channel per event",1);
849  meNDigisCHANBarrelCh8_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh8","Number of Digis Ch8",100,0.,1000.);
850  meNDigisCHANBarrelCh8_->setAxisTitle("Number of digis per FED channel per event",1);
851  meNDigisCHANBarrelCh9_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh9","Number of Digis Ch9",100,0.,1000.);
852  meNDigisCHANBarrelCh9_->setAxisTitle("Number of digis per FED channel per event",1);
853  meNDigisCHANBarrelCh10_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh10","Number of Digis Ch10",100,0.,1000.);
854  meNDigisCHANBarrelCh10_->setAxisTitle("Number of digis per FED channel per event",1);
855  meNDigisCHANBarrelCh11_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh11","Number of Digis Ch11",100,0.,1000.);
856  meNDigisCHANBarrelCh11_->setAxisTitle("Number of digis per FED channel per event",1);
857  meNDigisCHANBarrelCh12_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh12","Number of Digis Ch12",100,0.,1000.);
858  meNDigisCHANBarrelCh12_->setAxisTitle("Number of digis per FED channel per event",1);
859  meNDigisCHANBarrelCh13_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh13","Number of Digis Ch13",100,0.,1000.);
860  meNDigisCHANBarrelCh13_->setAxisTitle("Number of digis per FED channel per event",1);
861  meNDigisCHANBarrelCh14_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh14","Number of Digis Ch14",100,0.,1000.);
862  meNDigisCHANBarrelCh14_->setAxisTitle("Number of digis per FED channel per event",1);
863  meNDigisCHANBarrelCh15_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh15","Number of Digis Ch15",100,0.,1000.);
864  meNDigisCHANBarrelCh15_->setAxisTitle("Number of digis per FED channel per event",1);
865  meNDigisCHANBarrelCh16_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh16","Number of Digis Ch16",100,0.,1000.);
866  meNDigisCHANBarrelCh16_->setAxisTitle("Number of digis per FED channel per event",1);
867  meNDigisCHANBarrelCh17_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh17","Number of Digis Ch17",100,0.,1000.);
868  meNDigisCHANBarrelCh17_->setAxisTitle("Number of digis per FED channel per event",1);
869  meNDigisCHANBarrelCh18_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh18","Number of Digis Ch18",100,0.,1000.);
870  meNDigisCHANBarrelCh18_->setAxisTitle("Number of digis per FED channel per event",1);
871  meNDigisCHANBarrelCh19_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh19","Number of Digis Ch19",100,0.,1000.);
872  meNDigisCHANBarrelCh19_->setAxisTitle("Number of digis per FED channel per event",1);
873  meNDigisCHANBarrelCh20_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh20","Number of Digis Ch20",100,0.,1000.);
874  meNDigisCHANBarrelCh20_->setAxisTitle("Number of digis per FED channel per event",1);
875  meNDigisCHANBarrelCh21_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh21","Number of Digis Ch21",100,0.,1000.);
876  meNDigisCHANBarrelCh21_->setAxisTitle("Number of digis per FED channel per event",1);
877  meNDigisCHANBarrelCh22_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh22","Number of Digis Ch22",100,0.,1000.);
878  meNDigisCHANBarrelCh22_->setAxisTitle("Number of digis per FED channel per event",1);
879  meNDigisCHANBarrelCh23_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh23","Number of Digis Ch23",100,0.,1000.);
880  meNDigisCHANBarrelCh23_->setAxisTitle("Number of digis per FED channel per event",1);
881  meNDigisCHANBarrelCh24_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh24","Number of Digis Ch24",100,0.,1000.);
882  meNDigisCHANBarrelCh24_->setAxisTitle("Number of digis per FED channel per event",1);
883  meNDigisCHANBarrelCh25_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh25","Number of Digis Ch25",100,0.,1000.);
884  meNDigisCHANBarrelCh25_->setAxisTitle("Number of digis per FED channel per event",1);
885  meNDigisCHANBarrelCh26_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh26","Number of Digis Ch26",100,0.,1000.);
886  meNDigisCHANBarrelCh26_->setAxisTitle("Number of digis per FED channel per event",1);
887  meNDigisCHANBarrelCh27_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh27","Number of Digis Ch27",100,0.,1000.);
888  meNDigisCHANBarrelCh27_->setAxisTitle("Number of digis per FED channel per event",1);
889  meNDigisCHANBarrelCh28_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh28","Number of Digis Ch28",100,0.,1000.);
890  meNDigisCHANBarrelCh28_->setAxisTitle("Number of digis per FED channel per event",1);
891  meNDigisCHANBarrelCh29_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh29","Number of Digis Ch29",100,0.,1000.);
892  meNDigisCHANBarrelCh29_->setAxisTitle("Number of digis per FED channel per event",1);
893  meNDigisCHANBarrelCh30_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh30","Number of Digis Ch30",100,0.,1000.);
894  meNDigisCHANBarrelCh30_->setAxisTitle("Number of digis per FED channel per event",1);
895  meNDigisCHANBarrelCh31_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh31","Number of Digis Ch31",100,0.,1000.);
896  meNDigisCHANBarrelCh31_->setAxisTitle("Number of digis per FED channel per event",1);
897  meNDigisCHANBarrelCh32_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh32","Number of Digis Ch32",100,0.,1000.);
898  meNDigisCHANBarrelCh32_->setAxisTitle("Number of digis per FED channel per event",1);
899  meNDigisCHANBarrelCh33_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh33","Number of Digis Ch33",100,0.,1000.);
900  meNDigisCHANBarrelCh33_->setAxisTitle("Number of digis per FED channel per event",1);
901  meNDigisCHANBarrelCh34_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh34","Number of Digis Ch34",100,0.,1000.);
902  meNDigisCHANBarrelCh34_->setAxisTitle("Number of digis per FED channel per event",1);
903  meNDigisCHANBarrelCh35_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh35","Number of Digis Ch35",100,0.,1000.);
904  meNDigisCHANBarrelCh35_->setAxisTitle("Number of digis per FED channel per event",1);
905  meNDigisCHANBarrelCh36_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh36","Number of Digis Ch36",100,0.,1000.);
906  meNDigisCHANBarrelCh36_->setAxisTitle("Number of digis per FED channel per event",1);
907  theDMBE->cd("Pixel/Endcap");
908  meNDigisCOMBEndcap_ = theDMBE->book1D("ALLMODS_ndigisCOMB_Endcap","Number of Digis",200,0.,400.);
909  meNDigisCOMBEndcap_->setAxisTitle("Number of digis per module per event",1);
910  meNDigisCHANEndcap_ = theDMBE->book1D("ALLMODS_ndigisCHAN_Endcap","Number of Digis",100,0.,1000.);
911  meNDigisCHANEndcap_->setAxisTitle("Number of digis per FED channel per event",1);
912  meNDigisCHANEndcapDp1_ = theDMBE->book1D("ALLMODS_ndigisCHAN_EndcapDp1","Number of Digis Disk p1",100,0.,1000.);
913  meNDigisCHANEndcapDp1_->setAxisTitle("Number of digis per FED channel per event",1);
914  meNDigisCHANEndcapDp2_ = theDMBE->book1D("ALLMODS_ndigisCHAN_EndcapDp2","Number of Digis Disk p2",100,0.,1000.);
915  meNDigisCHANEndcapDp2_->setAxisTitle("Number of digis per FED channel per event",1);
916  meNDigisCHANEndcapDm1_ = theDMBE->book1D("ALLMODS_ndigisCHAN_EndcapDm1","Number of Digis Disk m1",100,0.,1000.);
917  meNDigisCHANEndcapDm1_->setAxisTitle("Number of digis per FED channel per event",1);
918  meNDigisCHANEndcapDm2_ = theDMBE->book1D("ALLMODS_ndigisCHAN_EndcapDm2","Number of Digis Disk m2",100,0.,1000.);
919  meNDigisCHANEndcapDm2_->setAxisTitle("Number of digis per FED channel per event",1);
920  theDMBE->cd(currDir);
921 }
#define LogDebug(id)
MonitorElement * meNDigisCHANBarrelCh19_
MonitorElement * meNDigisCHANBarrelCh35_
MonitorElement * meNDigisCHANBarrelCh2_
MonitorElement * meNDigisCHANBarrelCh30_
MonitorElement * meNDigisCHANEndcapDp1_
MonitorElement * meNDigisCHANBarrelCh31_
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:722
MonitorElement * meNDigisCHANBarrelCh8_
MonitorElement * meNDigisCHANBarrelCh36_
void cd(void)
go to top directory (ie. root)
Definition: DQMStore.cc:411
MonitorElement * loOccROCsEndcap
MonitorElement * meNDigisCHANBarrelCh17_
MonitorElement * meNDigisCHANBarrelCh25_
MonitorElement * meNDigisCHANBarrelCh6_
MonitorElement * meNDigisCOMBBarrel_
MonitorElement * meNDigisCHANEndcapDm1_
MonitorElement * meNDigisCOMBEndcap_
MonitorElement * meNDigisCHANBarrelCh14_
MonitorElement * meNDigisCHANBarrelCh12_
MonitorElement * meNDigisCHANBarrelL3_
MonitorElement * meNDigisCHANBarrelCh29_
MonitorElement * meNDigisCHANBarrelCh27_
MonitorElement * meNDigisCHANEndcapDm2_
MonitorElement * meNDigisCHANBarrelCh3_
MonitorElement * meNDigisCHANBarrelCh9_
MonitorElement * meNDigisCHANBarrelCh4_
MonitorElement * meNDigisCHANBarrelCh34_
MonitorElement * meNDigisCHANBarrelCh26_
MonitorElement * noOccROCsBarrel
MonitorElement * meNDigisCHANEndcap_
MonitorElement * meNDigisCHANBarrelCh28_
MonitorElement * noOccROCsEndcap
MonitorElement * meNDigisCHANBarrel_
MonitorElement * meNDigisCHANBarrelCh33_
MonitorElement * pixEventRate
MonitorElement * meNDigisCHANBarrelCh21_
MonitorElement * meNDigisCHANBarrelCh32_
MonitorElement * meNDigisCHANBarrelCh10_
MonitorElement * loOccROCsBarrel
MonitorElement * meNDigisCHANBarrelCh1_
MonitorElement * averageDigiOccupancy
MonitorElement * meNDigisCHANBarrelCh5_
MonitorElement * meNDigisCHANBarrelCh7_
MonitorElement * meNDigisCHANBarrelCh15_
MonitorElement * meNDigisCHANBarrelCh13_
MonitorElement * meNDigisCHANBarrelCh23_
MonitorElement * meNDigisCHANBarrelCh18_
MonitorElement * meNDigisCHANEndcapDp2_
MonitorElement * bigEventRate
MonitorElement * meNDigisCHANBarrelCh20_
MonitorElement * avgfedDigiOccvsLumi
edm::ParameterSet conf_
MonitorElement * meNDigisCHANBarrelCh22_
MonitorElement * pixEvtsPerBX
std::map< uint32_t, SiPixelDigiModule * > thePixelStructure
MonitorElement * meNDigisCHANBarrelL1_
void setLumiFlag(void)
this ME is meant to be stored for each luminosity section
MonitorElement * book2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2D histogram.
Definition: DQMStore.cc:850
MonitorElement * meNDigisCHANBarrelCh16_
MonitorElement * meNDigisCHANBarrelCh11_
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:434
MonitorElement * meNDigisCHANBarrelL2_
MonitorElement * meNDigisCHANBarrelCh24_
bool setModuleFolder(const uint32_t &rawdetid=0, int type=0)
Set folder name for a module or plaquette.
const std::string & pwd(void) const
Definition: DQMStore.cc:406
void SiPixelDigiSource::buildStructure ( edm::EventSetup const &  iSetup)
virtual

Definition at line 674 of file SiPixelDigiSource.cc.

References PixelEndcapName::bladeName(), PixelEndcapName::diskName(), edm::EventSetup::get(), PixelEndcapName::halfCylinder(), isPIB, LogDebug, PixelEndcapName::pannelName(), PixelSubdetector::PixelBarrel, PixelSubdetector::PixelEndcap, PixelEndcapName::plaquetteName(), DetId::rawId(), PixelGeomDetUnit::specificTopology(), AlCaHLTBitMon_QueryRunRegistry::string, DetId::subdetId(), and thePixelStructure.

Referenced by beginRun().

674  {
675 
676  LogInfo ("PixelDQM") <<" SiPixelDigiSource::buildStructure" ;
678  iSetup.get<TrackerDigiGeometryRecord>().get( pDD );
679 
680  LogVerbatim ("PixelDQM") << " *** Geometry node for TrackerGeom is "<<&(*pDD)<<std::endl;
681  LogVerbatim ("PixelDQM") << " *** I have " << pDD->dets().size() <<" detectors"<<std::endl;
682  LogVerbatim ("PixelDQM") << " *** I have " << pDD->detTypes().size() <<" types"<<std::endl;
683 
684  for(TrackerGeometry::DetContainer::const_iterator it = pDD->dets().begin(); it != pDD->dets().end(); it++){
685 
686  if(dynamic_cast<PixelGeomDetUnit*>((*it))!=0){
687 
688  DetId detId = (*it)->geographicalId();
689  const GeomDetUnit * geoUnit = pDD->idToDetUnit( detId );
690  const PixelGeomDetUnit * pixDet = dynamic_cast<const PixelGeomDetUnit*>(geoUnit);
691  int nrows = (pixDet->specificTopology()).nrows();
692  int ncols = (pixDet->specificTopology()).ncolumns();
693 
694  if(detId.subdetId() == static_cast<int>(PixelSubdetector::PixelBarrel)) {
695  if(isPIB) continue;
696  LogDebug ("PixelDQM") << " ---> Adding Barrel Module " << detId.rawId() << endl;
697  uint32_t id = detId();
698  SiPixelDigiModule* theModule = new SiPixelDigiModule(id, ncols, nrows);
699  thePixelStructure.insert(pair<uint32_t,SiPixelDigiModule*> (id,theModule));
700 
701  } else if(detId.subdetId() == static_cast<int>(PixelSubdetector::PixelEndcap)) {
702  LogDebug ("PixelDQM") << " ---> Adding Endcap Module " << detId.rawId() << endl;
703  uint32_t id = detId();
704  SiPixelDigiModule* theModule = new SiPixelDigiModule(id, ncols, nrows);
705 
707  int disk = PixelEndcapName(DetId(id)).diskName();
708  int blade = PixelEndcapName(DetId(id)).bladeName();
709  int panel = PixelEndcapName(DetId(id)).pannelName();
711 
712  char sside[80]; sprintf(sside, "HalfCylinder_%i",side);
713  char sdisk[80]; sprintf(sdisk, "Disk_%i",disk);
714  char sblade[80]; sprintf(sblade, "Blade_%02i",blade);
715  char spanel[80]; sprintf(spanel, "Panel_%i",panel);
716  char smodule[80];sprintf(smodule,"Module_%i",module);
717  std::string side_str = sside;
718  std::string disk_str = sdisk;
719  bool mask = side_str.find("HalfCylinder_1")!=string::npos||
720  side_str.find("HalfCylinder_2")!=string::npos||
721  side_str.find("HalfCylinder_4")!=string::npos||
722  disk_str.find("Disk_2")!=string::npos;
723  // clutch to take all of FPIX, but no BPIX:
724  mask = false;
725  if(isPIB && mask) continue;
726 
727  thePixelStructure.insert(pair<uint32_t,SiPixelDigiModule*> (id,theModule));
728  }
729 
730  }
731  }
732  LogInfo ("PixelDQM") << " *** Pixel Structure Size " << thePixelStructure.size() << endl;
733 }
#define LogDebug(id)
int plaquetteName() const
plaquetteId (in pannel)
uint32_t rawId() const
get the raw id
Definition: DetId.h:45
int bladeName() const
blade id
int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:39
Definition: DetId.h:20
virtual const PixelTopology & specificTopology() const
Returns a reference to the pixel proxy topology.
int pannelName() const
pannel id
int diskName() const
disk id
std::map< uint32_t, SiPixelDigiModule * > thePixelStructure
HalfCylinder halfCylinder() const
Definition: vlib.h:209
void SiPixelDigiSource::endJob ( void  )
virtual

Reimplemented from edm::EDAnalyzer.

Definition at line 163 of file SiPixelDigiSource.cc.

References conf_, edm::ParameterSet::getParameter(), download_sqlite_cfg::outputFile, DQMStore::save(), saveFile, AlCaHLTBitMon_QueryRunRegistry::string, and theDMBE.

163  {
164 
165  if(saveFile) {
166  LogInfo ("PixelDQM") << " SiPixelDigiSource::endJob - Saving Root File " << std::endl;
168  theDMBE->save( outputFile.c_str() );
169  }
170 
171 }
T getParameter(std::string const &) const
void save(const std::string &filename, const std::string &path="", const std::string &pattern="", const std::string &rewrite="", SaveReferenceTag ref=SaveWithReference, int minStatus=dqm::qstatus::STATUS_OK, const std::string &fileupdate="RECREATE")
Definition: DQMStore.cc:2118
edm::ParameterSet conf_

Member Data Documentation

MonitorElement* SiPixelDigiSource::averageDigiOccupancy
private

Definition at line 135 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::avgfedDigiOccvsLumi
private

Definition at line 136 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::bigEventRate
private

Definition at line 128 of file SiPixelDigiSource.h.

Referenced by bookMEs().

int SiPixelDigiSource::bigEventSize
private

Definition at line 185 of file SiPixelDigiSource.h.

Referenced by analyze(), and bookMEs().

bool SiPixelDigiSource::bladeOn
private

Definition at line 78 of file SiPixelDigiSource.h.

Referenced by analyze(), beginRun(), and bookMEs().

edm::ParameterSet SiPixelDigiSource::conf_
private

Definition at line 64 of file SiPixelDigiSource.h.

Referenced by bookMEs(), and endJob().

bool SiPixelDigiSource::diskOn
private

Definition at line 78 of file SiPixelDigiSource.h.

Referenced by analyze(), beginRun(), and bookMEs().

int SiPixelDigiSource::eventNo
private

Definition at line 79 of file SiPixelDigiSource.h.

Referenced by analyze(), and beginRun().

bool SiPixelDigiSource::firstRun
private

Definition at line 187 of file SiPixelDigiSource.h.

Referenced by beginJob(), and beginRun().

bool SiPixelDigiSource::hiRes
private

Definition at line 73 of file SiPixelDigiSource.h.

Referenced by beginRun(), and bookMEs().

unsigned int SiPixelDigiSource::I_detId[1440]
private

Definition at line 190 of file SiPixelDigiSource.h.

Referenced by analyze(), and beginJob().

int SiPixelDigiSource::I_fedId[1440]
private

Definition at line 191 of file SiPixelDigiSource.h.

Referenced by analyze(), and beginJob().

int SiPixelDigiSource::I_linkId1[1440]
private

Definition at line 192 of file SiPixelDigiSource.h.

Referenced by analyze(), and beginJob().

int SiPixelDigiSource::I_linkId2[1440]
private

Definition at line 193 of file SiPixelDigiSource.h.

Referenced by analyze(), and beginJob().

std::string SiPixelDigiSource::I_name[1440]
private

Definition at line 189 of file SiPixelDigiSource.h.

Referenced by beginJob().

bool SiPixelDigiSource::isPIB
private

Definition at line 67 of file SiPixelDigiSource.h.

Referenced by bookMEs(), and buildStructure().

bool SiPixelDigiSource::ladOn
private

Definition at line 76 of file SiPixelDigiSource.h.

Referenced by analyze(), beginRun(), and bookMEs().

bool SiPixelDigiSource::layOn
private

Definition at line 76 of file SiPixelDigiSource.h.

Referenced by analyze(), beginRun(), and bookMEs().

MonitorElement* SiPixelDigiSource::loOccROCsBarrel
private

Definition at line 132 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::loOccROCsEndcap
private

Definition at line 134 of file SiPixelDigiSource.h.

Referenced by bookMEs().

int SiPixelDigiSource::lumSec
private

Definition at line 80 of file SiPixelDigiSource.h.

Referenced by beginRun().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrel_
private

Definition at line 139 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh10_
private

Definition at line 152 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh11_
private

Definition at line 153 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh12_
private

Definition at line 154 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh13_
private

Definition at line 155 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh14_
private

Definition at line 156 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh15_
private

Definition at line 157 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh16_
private

Definition at line 158 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh17_
private

Definition at line 159 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh18_
private

Definition at line 160 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh19_
private

Definition at line 161 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh1_
private

Definition at line 143 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh20_
private

Definition at line 162 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh21_
private

Definition at line 163 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh22_
private

Definition at line 164 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh23_
private

Definition at line 165 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh24_
private

Definition at line 166 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh25_
private

Definition at line 167 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh26_
private

Definition at line 168 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh27_
private

Definition at line 169 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh28_
private

Definition at line 170 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh29_
private

Definition at line 171 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh2_
private

Definition at line 144 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh30_
private

Definition at line 172 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh31_
private

Definition at line 173 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh32_
private

Definition at line 174 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh33_
private

Definition at line 175 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh34_
private

Definition at line 176 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh35_
private

Definition at line 177 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh36_
private

Definition at line 178 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh3_
private

Definition at line 145 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh4_
private

Definition at line 146 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh5_
private

Definition at line 147 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh6_
private

Definition at line 148 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh7_
private

Definition at line 149 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh8_
private

Definition at line 150 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh9_
private

Definition at line 151 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelL1_
private

Definition at line 140 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelL2_
private

Definition at line 141 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelL3_
private

Definition at line 142 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANEndcap_
private

Definition at line 179 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANEndcapDm1_
private

Definition at line 182 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANEndcapDm2_
private

Definition at line 183 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANEndcapDp1_
private

Definition at line 180 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANEndcapDp2_
private

Definition at line 181 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCOMBBarrel_
private

Definition at line 137 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCOMBEndcap_
private

Definition at line 138 of file SiPixelDigiSource.h.

Referenced by bookMEs().

bool SiPixelDigiSource::modOn
private

Definition at line 69 of file SiPixelDigiSource.h.

Referenced by analyze(), beginRun(), and bookMEs().

int SiPixelDigiSource::nBigEvents
private

Definition at line 125 of file SiPixelDigiSource.h.

Referenced by beginRun().

int SiPixelDigiSource::nBPIXDigis
private

Definition at line 126 of file SiPixelDigiSource.h.

Referenced by analyze(), and beginRun().

int SiPixelDigiSource::nDigisA
private

Definition at line 198 of file SiPixelDigiSource.h.

Referenced by analyze().

int SiPixelDigiSource::nDigisB
private

Definition at line 199 of file SiPixelDigiSource.h.

Referenced by analyze().

int SiPixelDigiSource::nDigisPerChan[1152]
private

Definition at line 195 of file SiPixelDigiSource.h.

Referenced by analyze().

int SiPixelDigiSource::nDigisPerDisk[4]
private

Definition at line 196 of file SiPixelDigiSource.h.

Referenced by analyze(), and beginRun().

int SiPixelDigiSource::nDigisPerFed[40]
private

Definition at line 194 of file SiPixelDigiSource.h.

Referenced by analyze(), and beginRun().

int SiPixelDigiSource::nDM1P1M1
private

Definition at line 99 of file SiPixelDigiSource.h.

Referenced by analyze(), and beginRun().

int SiPixelDigiSource::nDM1P1M2
private

Definition at line 100 of file SiPixelDigiSource.h.

Referenced by analyze(), and beginRun().

int SiPixelDigiSource::nDM1P1M3
private

Definition at line 101 of file SiPixelDigiSource.h.

Referenced by analyze(), and beginRun().

int SiPixelDigiSource::nDM1P1M4
private

Definition at line 102 of file SiPixelDigiSource.h.

Referenced by analyze(), and beginRun().

int SiPixelDigiSource::nDM1P2M1
private

Definition at line 103 of file SiPixelDigiSource.h.

Referenced by analyze(), and beginRun().

int SiPixelDigiSource::nDM1P2M2
private

Definition at line 104 of file SiPixelDigiSource.h.

Referenced by analyze(), and beginRun().

int SiPixelDigiSource::nDM1P2M3
private

Definition at line 105 of file SiPixelDigiSource.h.

Referenced by analyze(), and beginRun().

int SiPixelDigiSource::nDM2P1M1
private

Definition at line 106 of file SiPixelDigiSource.h.

Referenced by analyze(), and beginRun().

int SiPixelDigiSource::nDM2P1M2
private

Definition at line 107 of file SiPixelDigiSource.h.

Referenced by analyze(), and beginRun().

int SiPixelDigiSource::nDM2P1M3
private

Definition at line 108 of file SiPixelDigiSource.h.

Referenced by analyze(), and beginRun().

int SiPixelDigiSource::nDM2P1M4
private

Definition at line 109 of file SiPixelDigiSource.h.

Referenced by analyze(), and beginRun().

int SiPixelDigiSource::nDM2P2M1
private

Definition at line 110 of file SiPixelDigiSource.h.

Referenced by analyze(), and beginRun().

int SiPixelDigiSource::nDM2P2M2
private

Definition at line 111 of file SiPixelDigiSource.h.

Referenced by analyze(), and beginRun().

int SiPixelDigiSource::nDM2P2M3
private

Definition at line 112 of file SiPixelDigiSource.h.

Referenced by analyze(), and beginRun().

int SiPixelDigiSource::nDP1P1M1
private

Definition at line 85 of file SiPixelDigiSource.h.

Referenced by analyze(), and beginRun().

int SiPixelDigiSource::nDP1P1M2
private

Definition at line 86 of file SiPixelDigiSource.h.

Referenced by analyze(), and beginRun().

int SiPixelDigiSource::nDP1P1M3
private

Definition at line 87 of file SiPixelDigiSource.h.

Referenced by analyze(), and beginRun().

int SiPixelDigiSource::nDP1P1M4
private

Definition at line 88 of file SiPixelDigiSource.h.

Referenced by analyze(), and beginRun().

int SiPixelDigiSource::nDP1P2M1
private

Definition at line 89 of file SiPixelDigiSource.h.

Referenced by analyze(), and beginRun().

int SiPixelDigiSource::nDP1P2M2
private

Definition at line 90 of file SiPixelDigiSource.h.

Referenced by analyze(), and beginRun().

int SiPixelDigiSource::nDP1P2M3
private

Definition at line 91 of file SiPixelDigiSource.h.

Referenced by analyze(), and beginRun().

int SiPixelDigiSource::nDP2P1M1
private

Definition at line 92 of file SiPixelDigiSource.h.

Referenced by analyze(), and beginRun().

int SiPixelDigiSource::nDP2P1M2
private

Definition at line 93 of file SiPixelDigiSource.h.

Referenced by analyze(), and beginRun().

int SiPixelDigiSource::nDP2P1M3
private

Definition at line 94 of file SiPixelDigiSource.h.

Referenced by analyze(), and beginRun().

int SiPixelDigiSource::nDP2P1M4
private

Definition at line 95 of file SiPixelDigiSource.h.

Referenced by analyze(), and beginRun().

int SiPixelDigiSource::nDP2P2M1
private

Definition at line 96 of file SiPixelDigiSource.h.

Referenced by analyze(), and beginRun().

int SiPixelDigiSource::nDP2P2M2
private

Definition at line 97 of file SiPixelDigiSource.h.

Referenced by analyze(), and beginRun().

int SiPixelDigiSource::nDP2P2M3
private

Definition at line 98 of file SiPixelDigiSource.h.

Referenced by analyze(), and beginRun().

int SiPixelDigiSource::nFPIXDigis
private

Definition at line 127 of file SiPixelDigiSource.h.

Referenced by analyze(), and beginRun().

int SiPixelDigiSource::nL1M1
private

Definition at line 113 of file SiPixelDigiSource.h.

Referenced by beginRun().

int SiPixelDigiSource::nL1M2
private

Definition at line 114 of file SiPixelDigiSource.h.

Referenced by beginRun().

int SiPixelDigiSource::nL1M3
private

Definition at line 115 of file SiPixelDigiSource.h.

Referenced by beginRun().

int SiPixelDigiSource::nL1M4
private

Definition at line 116 of file SiPixelDigiSource.h.

Referenced by beginRun().

int SiPixelDigiSource::nL2M1
private

Definition at line 117 of file SiPixelDigiSource.h.

Referenced by beginRun().

int SiPixelDigiSource::nL2M2
private

Definition at line 118 of file SiPixelDigiSource.h.

Referenced by beginRun().

int SiPixelDigiSource::nL2M3
private

Definition at line 119 of file SiPixelDigiSource.h.

Referenced by beginRun().

int SiPixelDigiSource::nL2M4
private

Definition at line 120 of file SiPixelDigiSource.h.

Referenced by beginRun().

int SiPixelDigiSource::nL3M1
private

Definition at line 121 of file SiPixelDigiSource.h.

Referenced by beginRun().

int SiPixelDigiSource::nL3M2
private

Definition at line 122 of file SiPixelDigiSource.h.

Referenced by beginRun().

int SiPixelDigiSource::nL3M3
private

Definition at line 123 of file SiPixelDigiSource.h.

Referenced by beginRun().

int SiPixelDigiSource::nL3M4
private

Definition at line 124 of file SiPixelDigiSource.h.

Referenced by beginRun().

int SiPixelDigiSource::nLumiSecs
private

Definition at line 81 of file SiPixelDigiSource.h.

Referenced by beginRun().

MonitorElement* SiPixelDigiSource::noOccROCsBarrel
private

Definition at line 131 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::noOccROCsEndcap
private

Definition at line 133 of file SiPixelDigiSource.h.

Referenced by bookMEs().

int SiPixelDigiSource::numberOfDigis[192]
private

Definition at line 197 of file SiPixelDigiSource.h.

Referenced by analyze().

bool SiPixelDigiSource::phiOn
private

Definition at line 76 of file SiPixelDigiSource.h.

Referenced by analyze(), beginRun(), and bookMEs().

MonitorElement* SiPixelDigiSource::pixEventRate
private

Definition at line 130 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::pixEvtsPerBX
private

Definition at line 129 of file SiPixelDigiSource.h.

Referenced by bookMEs().

bool SiPixelDigiSource::reducedSet
private

Definition at line 74 of file SiPixelDigiSource.h.

Referenced by analyze(), and bookMEs().

bool SiPixelDigiSource::ringOn
private

Definition at line 78 of file SiPixelDigiSource.h.

Referenced by analyze(), beginRun(), and bookMEs().

bool SiPixelDigiSource::saveFile
private

Definition at line 66 of file SiPixelDigiSource.h.

Referenced by endJob().

bool SiPixelDigiSource::slowDown
private

Definition at line 68 of file SiPixelDigiSource.h.

Referenced by analyze().

edm::InputTag SiPixelDigiSource::src_
private

Definition at line 65 of file SiPixelDigiSource.h.

Referenced by analyze().

DQMStore* SiPixelDigiSource::theDMBE
private

Definition at line 82 of file SiPixelDigiSource.h.

Referenced by analyze(), bookMEs(), endJob(), and SiPixelDigiSource().

std::map<uint32_t,SiPixelDigiModule*> SiPixelDigiSource::thePixelStructure
private

Definition at line 83 of file SiPixelDigiSource.h.

Referenced by analyze(), bookMEs(), and buildStructure().

bool SiPixelDigiSource::twoDimModOn
private

Definition at line 71 of file SiPixelDigiSource.h.

Referenced by analyze(), and bookMEs().

bool SiPixelDigiSource::twoDimOn
private

Definition at line 70 of file SiPixelDigiSource.h.

Referenced by analyze(), beginRun(), and bookMEs().

bool SiPixelDigiSource::twoDimOnlyLayDisk
private

Definition at line 72 of file SiPixelDigiSource.h.

Referenced by analyze(), and bookMEs().