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

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 ()
 

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
 
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 nFPIXDigis
 
int nLumiSecs
 
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)
 
- Protected Member Functions inherited from edm::EDAnalyzer
CurrentProcessingContext const * currentContext () const
 

Detailed Description

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

Usage: <usage>

Definition at line 49 of file SiPixelDigiSource.h.

Member Typedef Documentation

Definition at line 54 of file SiPixelDigiSource.h.

Constructor & Destructor Documentation

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

Definition at line 46 of file SiPixelDigiSource.cc.

References cmsCodeRules.cppFunctionSkipper::operator, and theDMBE.

46  :
47  conf_(iConfig),
48  src_( conf_.getParameter<edm::InputTag>( "src" ) ),
49  saveFile( conf_.getUntrackedParameter<bool>("saveFile",false) ),
50  isPIB( conf_.getUntrackedParameter<bool>("isPIB",false) ),
51  slowDown( conf_.getUntrackedParameter<bool>("slowDown",false) ),
52  modOn( conf_.getUntrackedParameter<bool>("modOn",true) ),
53  twoDimOn( conf_.getUntrackedParameter<bool>("twoDimOn",true) ),
54  twoDimModOn( conf_.getUntrackedParameter<bool>("twoDimModOn",true) ),
55  twoDimOnlyLayDisk( conf_.getUntrackedParameter<bool>("twoDimOnlyLayDisk",false) ),
56  hiRes( conf_.getUntrackedParameter<bool>("hiRes",false) ),
57  reducedSet( conf_.getUntrackedParameter<bool>("reducedSet",false) ),
58  ladOn( conf_.getUntrackedParameter<bool>("ladOn",false) ),
59  layOn( conf_.getUntrackedParameter<bool>("layOn",false) ),
60  phiOn( conf_.getUntrackedParameter<bool>("phiOn",false) ),
61  ringOn( conf_.getUntrackedParameter<bool>("ringOn",false) ),
62  bladeOn( conf_.getUntrackedParameter<bool>("bladeOn",false) ),
63  diskOn( conf_.getUntrackedParameter<bool>("diskOn",false) ),
64  bigEventSize( conf_.getUntrackedParameter<int>("bigEventSize",1000) )
65 {
67  LogInfo ("PixelDQM") << "SiPixelDigiSource::SiPixelDigiSource: Got DQM BackEnd interface"<<endl;
68 }
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 71 of file SiPixelDigiSource.cc.

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

Member Function Documentation

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

Implements edm::EDAnalyzer.

Definition at line 134 of file SiPixelDigiSource.cc.

References Reference_intrackfit_cff::barrel, bigEventSize, PixelEndcapName::bladeName(), bladeOn, edm::EventBase::bunchCrossing(), PixelEndcapName::diskName(), diskOn, Reference_intrackfit_cff::endcap, eventNo, MonitorElement::Fill(), DQMStore::get(), edm::Event::getByLabel(), PixelEndcapName::halfCylinder(), i, I_detId, I_fedId, I_linkId1, I_linkId2, collect_tpl::input, edm::HandleBase::isValid(), j, ladOn, layOn, edm::EventBase::luminosityBlock(), PixelEndcapName::mI, PixelEndcapName::mO, modOn, nBPIXDigis, nDigisA, nDigisB, nDigisPerChan, nDigisPerDisk, nDigisPerFed, nFPIXDigis, numberOfDigis, cmsCodeRules.cppFunctionSkipper::operator, PixelEndcapName::pannelName(), phiOn, PixelEndcapName::pI, PixelSubdetector::PixelBarrel, PixelSubdetector::PixelEndcap, PixelEndcapName::pO, reducedSet, MonitorElement::Reset(), ringOn, MonitorElement::setBinContent(), slowDown, src_, DetId::subdetId(), theDMBE, thePixelStructure, twoDimModOn, twoDimOn, and twoDimOnlyLayDisk.

135 {
136  eventNo++;
137  //cout<<"BIGFATEVENTNUMBER: "<<eventNo<<endl;
138 
139  // get input data
141  iEvent.getByLabel( src_, input );
142  if (!input.isValid()) return;
143  // Get DQM interface
145 
146  //float iOrbitSec = iEvent.orbitNumber()/11223.;
147  int bx = iEvent.bunchCrossing();
148  //long long tbx = (long long)iEvent.orbitNumber() * 3564 + bx;
149  int lumiSection = (int)iEvent.luminosityBlock();
150  int nEventDigis = 0; int nActiveModules = 0;
151  //int nEventBPIXDigis = 0; int nEventFPIXDigis = 0;
152 
153  if(modOn){
154  MonitorElement* meReset = theDMBE->get("Pixel/averageDigiOccupancy");
155  //if(meReset && eventNo%1000==0){
156  if(meReset && lumiSection%8==0){
157  meReset->Reset();
158  nBPIXDigis = 0;
159  nFPIXDigis = 0;
160  for(int i=0; i!=40; i++) nDigisPerFed[i]=0;
161  }
162  }
163 
164  std::map<uint32_t,SiPixelDigiModule*>::iterator struct_iter;
165  for(int i=0; i!=192; i++) numberOfDigis[i]=0;
166  for(int i=0; i!=1152; i++) nDigisPerChan[i]=0;
167  for(int i=0; i!=4; i++) nDigisPerDisk[i]=0;
168  for (struct_iter = thePixelStructure.begin() ; struct_iter != thePixelStructure.end() ; struct_iter++) {
169  int numberOfDigisMod = (*struct_iter).second->fill(*input, modOn,
170  ladOn, layOn, phiOn,
171  bladeOn, diskOn, ringOn,
173  nDigisA, nDigisB);
174  if(numberOfDigisMod>0){
175  nEventDigis = nEventDigis + numberOfDigisMod;
176  nActiveModules++;
177  bool barrel = DetId((*struct_iter).first).subdetId() == static_cast<int>(PixelSubdetector::PixelBarrel);
178  bool endcap = DetId((*struct_iter).first).subdetId() == static_cast<int>(PixelSubdetector::PixelEndcap);
179  //if((*struct_iter).first >= 302055684 && (*struct_iter).first <= 302197792 ){ // Barrel
180  if(barrel){ // Barrel
181  //cout<<"AAbpix: "<<numberOfDigisMod<<" + "<<nBPIXDigis<<" = ";
182  nBPIXDigis = nBPIXDigis + numberOfDigisMod;
183  //cout<<nBPIXDigis<<endl;
184  for(int i=0; i!=768; i++){
185  //cout<<"\t\t\t bpix: "<<i<<" , "<<(*struct_iter).first<<" , "<<I_detId[i]<<endl;
186  if((*struct_iter).first == I_detId[i]){
187  //if(I_fedId[i]>=32&&I_fedId[i]<=39) std::cout<<"Attention: a BPIX module matched to an FPIX FED!"<<std::endl;
188  nDigisPerFed[I_fedId[i]]=nDigisPerFed[I_fedId[i]]+numberOfDigisMod;
189  //cout<<"BPIX: "<<i<<" , "<<I_fedId[i]<<" , "<<numberOfDigisMod<<" , "<<nDigisPerFed[I_fedId[i]]<<endl;
190  int index1 = I_fedId[i]*36+(I_linkId1[i]-1); int index2 = I_fedId[i]*36+(I_linkId2[i]-1);
191  if(nDigisA>0) nDigisPerChan[index1]=nDigisPerChan[index1]+nDigisA;
192  if(nDigisB>0) nDigisPerChan[index2]=nDigisPerChan[index2]+nDigisB;
193  //cout<<"BPIX: "<<i<<" , "<<I_linkId1[i]<<" , "<<I_linkId2[i]<<" , "<<nDigisA<<" , "<<nDigisB<<endl;
194  i=767;
195  }
196  }
197  //}else if((*struct_iter).first >= 343999748 && (*struct_iter).first <= 352477708 ){ // Endcap
198  }else if(endcap){ // Endcap
199  //cout<<"AAfpix: "<<nFPIXDigis<<" = ";
200  nFPIXDigis = nFPIXDigis + numberOfDigisMod;
201  //cout<<nFPIXDigis<<endl;
202  PixelEndcapName::HalfCylinder side = PixelEndcapName(DetId((*struct_iter).first)).halfCylinder();
203  int disk = PixelEndcapName(DetId((*struct_iter).first)).diskName();
204  int blade = PixelEndcapName(DetId((*struct_iter).first)).bladeName();
205  int panel = PixelEndcapName(DetId((*struct_iter).first)).pannelName();
206  //std::cout<<"Endcap: "<<side<<" , "<<disk<<" , "<<blade<<" , "<<panel<<" , "<<std::endl;
207  int iter=-1; int i=0;
208  if(side==PixelEndcapName::mI){
209  if(disk==1){
210  i=0;
211  if(blade==1){ if(panel==1) iter=i; else if(panel==2) iter=i+1; }
212  if(blade==2){ if(panel==1) iter=i+2; else if(panel==2) iter=i+3; }
213  if(blade==3){ if(panel==1) iter=i+4; else if(panel==2) iter=i+5; }
214  if(blade==4){ if(panel==1) iter=i+6; else if(panel==2) iter=i+7; }
215  if(blade==5){ if(panel==1) iter=i+8; else if(panel==2) iter=i+9; }
216  if(blade==6){ if(panel==1) iter=i+10; else if(panel==2) iter=i+11; }
217  if(blade==7){ if(panel==1) iter=i+12; else if(panel==2) iter=i+13; }
218  if(blade==8){ if(panel==1) iter=i+14; else if(panel==2) iter=i+15; }
219  if(blade==9){ if(panel==1) iter=i+16; else if(panel==2) iter=i+17; }
220  if(blade==10){ if(panel==1) iter=i+18; else if(panel==2) iter=i+19; }
221  if(blade==11){ if(panel==1) iter=i+20; else if(panel==2) iter=i+21; }
222  if(blade==12){ if(panel==1) iter=i+22; else if(panel==2) iter=i+23; }
223  }else if(disk==2){
224  i=24;
225  if(blade==1){ if(panel==1) iter=i; else if(panel==2) iter=i+1; }
226  if(blade==2){ if(panel==1) iter=i+2; else if(panel==2) iter=i+3; }
227  if(blade==3){ if(panel==1) iter=i+4; else if(panel==2) iter=i+5; }
228  if(blade==4){ if(panel==1) iter=i+6; else if(panel==2) iter=i+7; }
229  if(blade==5){ if(panel==1) iter=i+8; else if(panel==2) iter=i+9; }
230  if(blade==6){ if(panel==1) iter=i+10; else if(panel==2) iter=i+11; }
231  if(blade==7){ if(panel==1) iter=i+12; else if(panel==2) iter=i+13; }
232  if(blade==8){ if(panel==1) iter=i+14; else if(panel==2) iter=i+15; }
233  if(blade==9){ if(panel==1) iter=i+16; else if(panel==2) iter=i+17; }
234  if(blade==10){ if(panel==1) iter=i+18; else if(panel==2) iter=i+19; }
235  if(blade==11){ if(panel==1) iter=i+20; else if(panel==2) iter=i+21; }
236  if(blade==12){ if(panel==1) iter=i+22; else if(panel==2) iter=i+23; }
237  }
238  }else if(side==PixelEndcapName::mO){
239  if(disk==1){
240  i=48;
241  if(blade==1){ if(panel==1) iter=i; else if(panel==2) iter=i+1; }
242  if(blade==2){ if(panel==1) iter=i+2; else if(panel==2) iter=i+3; }
243  if(blade==3){ if(panel==1) iter=i+4; else if(panel==2) iter=i+5; }
244  if(blade==4){ if(panel==1) iter=i+6; else if(panel==2) iter=i+7; }
245  if(blade==5){ if(panel==1) iter=i+8; else if(panel==2) iter=i+9; }
246  if(blade==6){ if(panel==1) iter=i+10; else if(panel==2) iter=i+11; }
247  if(blade==7){ if(panel==1) iter=i+12; else if(panel==2) iter=i+13; }
248  if(blade==8){ if(panel==1) iter=i+14; else if(panel==2) iter=i+15; }
249  if(blade==9){ if(panel==1) iter=i+16; else if(panel==2) iter=i+17; }
250  if(blade==10){ if(panel==1) iter=i+18; else if(panel==2) iter=i+19; }
251  if(blade==11){ if(panel==1) iter=i+20; else if(panel==2) iter=i+21; }
252  if(blade==12){ if(panel==1) iter=i+22; else if(panel==2) iter=i+23; }
253  }else if(disk==2){
254  i=72;
255  if(blade==1){ if(panel==1) iter=i; else if(panel==2) iter=i+1; }
256  if(blade==2){ if(panel==1) iter=i+2; else if(panel==2) iter=i+3; }
257  if(blade==3){ if(panel==1) iter=i+4; else if(panel==2) iter=i+5; }
258  if(blade==4){ if(panel==1) iter=i+6; else if(panel==2) iter=i+7; }
259  if(blade==5){ if(panel==1) iter=i+8; else if(panel==2) iter=i+9; }
260  if(blade==6){ if(panel==1) iter=i+10; else if(panel==2) iter=i+11; }
261  if(blade==7){ if(panel==1) iter=i+12; else if(panel==2) iter=i+13; }
262  if(blade==8){ if(panel==1) iter=i+14; else if(panel==2) iter=i+15; }
263  if(blade==9){ if(panel==1) iter=i+16; else if(panel==2) iter=i+17; }
264  if(blade==10){ if(panel==1) iter=i+18; else if(panel==2) iter=i+19; }
265  if(blade==11){ if(panel==1) iter=i+20; else if(panel==2) iter=i+21; }
266  if(blade==12){ if(panel==1) iter=i+22; else if(panel==2) iter=i+23; }
267  }
268  }else if(side==PixelEndcapName::pI){
269  if(disk==1){
270  i=96;
271  if(blade==1){ if(panel==1) iter=i; else if(panel==2) iter=i+1; }
272  if(blade==2){ if(panel==1) iter=i+2; else if(panel==2) iter=i+3; }
273  if(blade==3){ if(panel==1) iter=i+4; else if(panel==2) iter=i+5; }
274  if(blade==4){ if(panel==1) iter=i+6; else if(panel==2) iter=i+7; }
275  if(blade==5){ if(panel==1) iter=i+8; else if(panel==2) iter=i+9; }
276  if(blade==6){ if(panel==1) iter=i+10; else if(panel==2) iter=i+11; }
277  if(blade==7){ if(panel==1) iter=i+12; else if(panel==2) iter=i+13; }
278  if(blade==8){ if(panel==1) iter=i+14; else if(panel==2) iter=i+15; }
279  if(blade==9){ if(panel==1) iter=i+16; else if(panel==2) iter=i+17; }
280  if(blade==10){ if(panel==1) iter=i+18; else if(panel==2) iter=i+19; }
281  if(blade==11){ if(panel==1) iter=i+20; else if(panel==2) iter=i+21; }
282  if(blade==12){ if(panel==1) iter=i+22; else if(panel==2) iter=i+23; }
283  }else if(disk==2){
284  i=120;
285  if(blade==1){ if(panel==1) iter=i; else if(panel==2) iter=i+1; }
286  if(blade==2){ if(panel==1) iter=i+2; else if(panel==2) iter=i+3; }
287  if(blade==3){ if(panel==1) iter=i+4; else if(panel==2) iter=i+5; }
288  if(blade==4){ if(panel==1) iter=i+6; else if(panel==2) iter=i+7; }
289  if(blade==5){ if(panel==1) iter=i+8; else if(panel==2) iter=i+9; }
290  if(blade==6){ if(panel==1) iter=i+10; else if(panel==2) iter=i+11; }
291  if(blade==7){ if(panel==1) iter=i+12; else if(panel==2) iter=i+13; }
292  if(blade==8){ if(panel==1) iter=i+14; else if(panel==2) iter=i+15; }
293  if(blade==9){ if(panel==1) iter=i+16; else if(panel==2) iter=i+17; }
294  if(blade==10){ if(panel==1) iter=i+18; else if(panel==2) iter=i+19; }
295  if(blade==11){ if(panel==1) iter=i+20; else if(panel==2) iter=i+21; }
296  if(blade==12){ if(panel==1) iter=i+22; else if(panel==2) iter=i+23; }
297  }
298  }else if(side==PixelEndcapName::pO){
299  if(disk==1){
300  i=144;
301  if(blade==1){ if(panel==1) iter=i; else if(panel==2) iter=i+1; }
302  if(blade==2){ if(panel==1) iter=i+2; else if(panel==2) iter=i+3; }
303  if(blade==3){ if(panel==1) iter=i+4; else if(panel==2) iter=i+5; }
304  if(blade==4){ if(panel==1) iter=i+6; else if(panel==2) iter=i+7; }
305  if(blade==5){ if(panel==1) iter=i+8; else if(panel==2) iter=i+9; }
306  if(blade==6){ if(panel==1) iter=i+10; else if(panel==2) iter=i+11; }
307  if(blade==7){ if(panel==1) iter=i+12; else if(panel==2) iter=i+13; }
308  if(blade==8){ if(panel==1) iter=i+14; else if(panel==2) iter=i+15; }
309  if(blade==9){ if(panel==1) iter=i+16; else if(panel==2) iter=i+17; }
310  if(blade==10){ if(panel==1) iter=i+18; else if(panel==2) iter=i+19; }
311  if(blade==11){ if(panel==1) iter=i+20; else if(panel==2) iter=i+21; }
312  if(blade==12){ if(panel==1) iter=i+22; else if(panel==2) iter=i+23; }
313  }else if(disk==2){
314  i=168;
315  if(blade==1){ if(panel==1) iter=i; else if(panel==2) iter=i+1; }
316  if(blade==2){ if(panel==1) iter=i+2; else if(panel==2) iter=i+3; }
317  if(blade==3){ if(panel==1) iter=i+4; else if(panel==2) iter=i+5; }
318  if(blade==4){ if(panel==1) iter=i+6; else if(panel==2) iter=i+7; }
319  if(blade==5){ if(panel==1) iter=i+8; else if(panel==2) iter=i+9; }
320  if(blade==6){ if(panel==1) iter=i+10; else if(panel==2) iter=i+11; }
321  if(blade==7){ if(panel==1) iter=i+12; else if(panel==2) iter=i+13; }
322  if(blade==8){ if(panel==1) iter=i+14; else if(panel==2) iter=i+15; }
323  if(blade==9){ if(panel==1) iter=i+16; else if(panel==2) iter=i+17; }
324  if(blade==10){ if(panel==1) iter=i+18; else if(panel==2) iter=i+19; }
325  if(blade==11){ if(panel==1) iter=i+20; else if(panel==2) iter=i+21; }
326  if(blade==12){ if(panel==1) iter=i+22; else if(panel==2) iter=i+23; }
327  }
328  }
329  numberOfDigis[iter]=numberOfDigis[iter]+numberOfDigisMod;
330  //if(side==PixelEndcapName::pO||side==PixelEndcapName::pI){
331  // if(disk==2){
332  // std::cout<<"status: "<<iter<<","<<side<<","<<disk<<","<<blade<<","<<panel<<","<<numberOfDigisMod<<","<<numberOfDigis[iter]<<std::endl;
333  //}}
334  for(int i=768; i!=1440; i++){
335  //cout<<"\t\t\t fpix: "<<i<<" , "<<(*struct_iter).first<<" , "<<I_detId[i]<<endl;
336  if((*struct_iter).first == I_detId[i]){
337  //if(I_fedId[i]<32||I_fedId[i]>39) std::cout<<"Attention: an FPIX module matched to a BPIX FED!"<<std::endl;
338  nDigisPerFed[I_fedId[i]]=nDigisPerFed[I_fedId[i]]+numberOfDigisMod;
339  //cout<<"FPIX: "<<i<<" , "<<I_fedId[i]<<" , "<<nDigisPerFed[I_fedId[i]]<<endl;
340  i=1439;
341  }
342  }
343  } //endif Barrel/Endcap
344  //cout<<"numberOfDigis: "<<numberOfDigisMod<<" , nBPIXDigis: "<<nBPIXDigis<<" , nFPIXDigis: "<<nFPIXDigis<<endl;
345  // digi occupancy per individual FED channel:
346  } // endif any digis in this module
347  } // endfor loop over all modules
348 
349 // if(lumiSection>lumSec){ lumSec = lumiSection; nLumiSecs++; }
350 // if(nEventDigis>bigEventSize) nBigEvents++;
351 // if(nLumiSecs%5==0){
352 
354  meE=theDMBE->get("Pixel/Endcap/ALLMODS_ndigisCHAN_Endcap");
355  if(meE){ for(int j=0; j!=192; j++) if(numberOfDigis[j]>0) meE->Fill((float)numberOfDigis[j]);}
356  meE1=theDMBE->get("Pixel/Endcap/ALLMODS_ndigisCHAN_EndcapDm1");
357  if(meE1){ for(int j=0; j!=72; j++) if((j<24||j>47)&&numberOfDigis[j]>0) meE1->Fill((float)numberOfDigis[j]);}
358  meE2=theDMBE->get("Pixel/Endcap/ALLMODS_ndigisCHAN_EndcapDm2");
359  if(meE2){ for(int j=24; j!=96; j++) if((j<48||j>71)&&numberOfDigis[j]>0) meE2->Fill((float)numberOfDigis[j]);}
360  meE3=theDMBE->get("Pixel/Endcap/ALLMODS_ndigisCHAN_EndcapDp1");
361  if(meE3){ for(int j=96; j!=168; j++) if((j<120||j>143)&&numberOfDigis[j]>0) meE3->Fill((float)numberOfDigis[j]);}
362  meE4=theDMBE->get("Pixel/Endcap/ALLMODS_ndigisCHAN_EndcapDp2");
363  if(meE4){ for(int j=120; j!=192; j++) if((j<144||j>167)&&numberOfDigis[j]>0) meE4->Fill((float)numberOfDigis[j]);}
364 
371  MonitorElement* me36;
372  me1=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh1");
373  if(me1){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+0]>0) me1->Fill((float)nDigisPerChan[i*36+0]);}
374  me2=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh2");
375  if(me2){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+1]>0) me2->Fill((float)nDigisPerChan[i*36+1]);}
376  me3=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh3");
377  if(me3){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+2]>0) me3->Fill((float)nDigisPerChan[i*36+2]);}
378  me4=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh4");
379  if(me4){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+3]>0) me4->Fill((float)nDigisPerChan[i*36+3]);}
380  me5=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh5");
381  if(me5){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+4]>0) me5->Fill((float)nDigisPerChan[i*36+4]);}
382  me6=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh6");
383  if(me6){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+5]>0) me6->Fill((float)nDigisPerChan[i*36+5]);}
384  me7=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh7");
385  if(me7){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+6]>0) me7->Fill((float)nDigisPerChan[i*36+6]);}
386  me8=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh8");
387  if(me8){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+7]>0) me8->Fill((float)nDigisPerChan[i*36+7]);}
388  me9=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh9");
389  if(me9){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+8]>0) me9->Fill((float)nDigisPerChan[i*36+8]);}
390  me10=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh10");
391  if(me10){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+9]>0) me10->Fill((float)nDigisPerChan[i*36+9]);}
392  me11=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh11");
393  if(me11){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+10]>0) me11->Fill((float)nDigisPerChan[i*36+10]);}
394  me12=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh12");
395  if(me12){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+11]>0) me12->Fill((float)nDigisPerChan[i*36+11]);}
396  me13=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh13");
397  if(me13){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+12]>0) me13->Fill((float)nDigisPerChan[i*36+12]);}
398  me14=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh14");
399  if(me14){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+13]>0) me14->Fill((float)nDigisPerChan[i*36+13]);}
400  me15=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh15");
401  if(me15){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+14]>0) me15->Fill((float)nDigisPerChan[i*36+14]);}
402  me16=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh16");
403  if(me16){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+15]>0) me16->Fill((float)nDigisPerChan[i*36+15]);}
404  me17=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh17");
405  if(me17){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+16]>0) me17->Fill((float)nDigisPerChan[i*36+16]);}
406  me18=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh18");
407  if(me18){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+17]>0) me18->Fill((float)nDigisPerChan[i*36+17]);}
408  me19=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh19");
409  if(me19){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+18]>0) me19->Fill((float)nDigisPerChan[i*36+18]);}
410  me20=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh20");
411  if(me20){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+19]>0) me20->Fill((float)nDigisPerChan[i*36+19]);}
412  me21=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh21");
413  if(me21){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+20]>0) me21->Fill((float)nDigisPerChan[i*36+20]);}
414  me22=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh22");
415  if(me22){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+21]>0) me22->Fill((float)nDigisPerChan[i*36+21]);}
416  me23=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh23");
417  if(me23){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+22]>0) me23->Fill((float)nDigisPerChan[i*36+22]);}
418  me24=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh24");
419  if(me24){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+23]>0) me24->Fill((float)nDigisPerChan[i*36+23]);}
420  me25=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh25");
421  if(me25){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+24]>0) me25->Fill((float)nDigisPerChan[i*36+24]);}
422  me26=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh26");
423  if(me26){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+25]>0) me26->Fill((float)nDigisPerChan[i*36+25]);}
424  me27=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh27");
425  if(me27){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+26]>0) me27->Fill((float)nDigisPerChan[i*36+26]);}
426  me28=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh28");
427  if(me28){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+27]>0) me28->Fill((float)nDigisPerChan[i*36+27]);}
428  me29=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh29");
429  if(me29){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+28]>0) me29->Fill((float)nDigisPerChan[i*36+28]);}
430  me30=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh30");
431  if(me30){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+29]>0) me30->Fill((float)nDigisPerChan[i*36+29]);}
432  me31=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh31");
433  if(me31){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+30]>0) me31->Fill((float)nDigisPerChan[i*36+30]);}
434  me32=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh32");
435  if(me32){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+31]>0) me32->Fill((float)nDigisPerChan[i*36+31]);}
436  me33=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh33");
437  if(me33){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+32]>0) me33->Fill((float)nDigisPerChan[i*36+32]);}
438  me34=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh34");
439  if(me34){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+33]>0) me34->Fill((float)nDigisPerChan[i*36+33]);}
440  me35=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh35");
441  if(me35){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+34]>0) me35->Fill((float)nDigisPerChan[i*36+34]);}
442  me36=theDMBE->get("Pixel/Barrel/ALLMODS_ndigisCHAN_BarrelCh36");
443  if(me36){ for(int i=0; i!=32; i++) if(nDigisPerChan[i*36+35]>0) me36->Fill((float)nDigisPerChan[i*36+35]);}
444 
445  // Rate of events with >N digis:
446  MonitorElement* meX1;
447  if(nEventDigis>bigEventSize){
448  meX1 = theDMBE->get("Pixel/bigEventRate");
449  if(meX1) meX1->Fill(lumiSection,1./23.);
450  }
451  //std::cout<<"nEventDigis: "<<nEventDigis<<" , nLumiSecs: "<<nLumiSecs<<" , nBigEvents: "<<nBigEvents<<std::endl;
452 
453  // Rate of pixel events and total number of pixel events per BX:
454  MonitorElement* meX2; MonitorElement* meX3;
455  if(nActiveModules>=4){
456  meX2 = theDMBE->get("Pixel/pixEvtsPerBX");
457  if(meX2) meX2->Fill(float(bx));
458  meX3 = theDMBE->get("Pixel/pixEventRate");
459  if(meX3) meX3->Fill(lumiSection, 1./23.);
460  }
461 
462  // Actual digi occupancy in a FED compared to average digi occupancy per FED
463  MonitorElement* meX4; MonitorElement* meX5;
464  meX4 = theDMBE->get("Pixel/averageDigiOccupancy");
465  meX5 = theDMBE->get("Pixel/avgfedDigiOccvsLumi");
466  if(meX4){
467  int maxfed=0;
468  for(int i=0; i!=32; i++){
469  if(nDigisPerFed[i]>maxfed) maxfed=nDigisPerFed[i];
470  }
471  for(int i=0; i!=40; i++){
472  float averageOcc = 0.;
473  if(i<32){
474  float averageBPIXFed = float(nBPIXDigis-maxfed)/31.;
475  if(averageBPIXFed>0.) averageOcc = nDigisPerFed[i]/averageBPIXFed;
476  //cout<<"\t BPIX i: "<<i<<" , "<<nBPIXDigis<<" , "<<averageBPIXFed<<" , "<<nDigisPerFed[i]<<" , "<<averageOcc<<endl;
477  }else{
478  float averageFPIXFed = float(nFPIXDigis)/8.;
479  if(averageFPIXFed>0.) averageOcc = nDigisPerFed[i]/averageFPIXFed;
480  //cout<<"\t FPIX i: "<<i<<" , "<<nFPIXDigis<<" , "<<averageFPIXFed<<" , "<<nDigisPerFed[i]<<" , "<<averageOcc<<endl;
481  }
482  meX4->setBinContent(i+1,averageOcc);
483  int lumiSections8 = int(lumiSection/8);
484  if (modOn){
485  if (meX5){
486  meX5->setBinContent(1+lumiSections8, i+1, averageOcc);
487  }//endif meX5
488  }//endif modOn
489  }
490  }
491 
492  // slow down...
493  if(slowDown) usleep(10000);
494 
495 }
int i
Definition: DBlmapReader.cc:9
void setBinContent(int binx, double content)
set content of bin (1-D)
int bunchCrossing() const
Definition: EventBase.h:62
edm::LuminosityBlockNumber_t luminosityBlock() const
Definition: EventBase.h:59
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:1265
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:355
tuple input
Definition: collect_tpl.py:10
Definition: DetId.h:20
unsigned int I_detId[1440]
int pannelName() const
pannel id
int diskName() const
disk id
std::map< uint32_t, SiPixelDigiModule * > thePixelStructure
HalfCylinder halfCylinder() const
void Reset(void)
reset ME (ie. contents, errors, etc)
edm::InputTag src_
void SiPixelDigiSource::beginJob ( void  )
virtual

Reimplemented from edm::EDAnalyzer.

Definition at line 79 of file SiPixelDigiSource.cc.

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

79  {
80  firstRun = true;
81  // find a FED# for the current detId:
82  ifstream infile(edm::FileInPath("DQM/SiPixelMonitorClient/test/detId.dat").fullPath().c_str(),ios::in);
83  int nModsInFile=0;
84  assert(!infile.fail());
85  while(!infile.eof()&&nModsInFile<1440) {
86  infile >> I_name[nModsInFile] >> I_detId[nModsInFile] >> I_fedId[nModsInFile] >> I_linkId1[nModsInFile] >> I_linkId2[nModsInFile];
87  //cout<<nModsInFile<<" , "<<I_name[nModsInFile]<<" , "<<I_detId[nModsInFile]<<" , "<<I_fedId[nModsInFile]<<" , "<<I_linkId[nModsInFile]<<endl; ;
88  nModsInFile++;
89  }
90  infile.close();
91 }
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 93 of file SiPixelDigiSource.cc.

References bladeOn, bookMEs(), buildStructure(), diskOn, eventNo, firstRun, hiRes, i, ladOn, layOn, lumSec, modOn, nBigEvents, nBPIXDigis, nDigisPerDisk, nDigisPerFed, nFPIXDigis, nLumiSecs, phiOn, ringOn, and twoDimOn.

93  {
94  LogInfo ("PixelDQM") << " SiPixelDigiSource::beginJob - Initialisation ... " << std::endl;
95  LogInfo ("PixelDQM") << "Mod/Lad/Lay/Phi " << modOn << "/" << ladOn << "/"
96  << layOn << "/" << phiOn << std::endl;
97  LogInfo ("PixelDQM") << "Blade/Disk/Ring" << bladeOn << "/" << diskOn << "/"
98  << ringOn << std::endl;
99 
100  LogInfo ("PixelDQM") << "2DIM IS " << twoDimOn << " and set to high resolution? " << hiRes << "\n";
101 
102  if(firstRun){
103  eventNo = 0;
104  lumSec = 0;
105  nLumiSecs = 0;
106  nBigEvents = 0;
107  nBPIXDigis = 0;
108  nFPIXDigis = 0;
109  for(int i=0; i!=40; i++) nDigisPerFed[i]=0;
110  for(int i=0; i!=4; i++) nDigisPerDisk[i]=0;
111 
112  // Build map
113  buildStructure(iSetup);
114  // Book Monitoring Elements
115  bookMEs();
116  firstRun = false;
117  }
118 }
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 563 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, 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, cmsCodeRules.cppFunctionSkipper::operator, phiOn, pixEventRate, pixEvtsPerBX, DQMStore::pwd(), reducedSet, ringOn, MonitorElement::setAxisTitle(), DQMStore::setCurrentFolder(), SiPixelFolderOrganizer::setModuleFolder(), theDMBE, thePixelStructure, indexGen::title, twoDimModOn, twoDimOn, and twoDimOnlyLayDisk.

Referenced by beginRun().

563  {
564 
565  // Get DQM interface
567  theDMBE->setCurrentFolder("Pixel");
568  char title[80]; sprintf(title, "Rate of events with >%i digis;LumiSection;Rate [Hz]",bigEventSize);
569  bigEventRate = theDMBE->book1D("bigEventRate",title,5000,0.,5000.);
570  char title1[80]; sprintf(title1, "Pixel events vs. BX;BX;# events");
571  pixEvtsPerBX = theDMBE->book1D("pixEvtsPerBX",title1,3565,0.,3565.);
572  char title2[80]; sprintf(title2, "Rate of Pixel events;LumiSection;Rate [Hz]");
573  pixEventRate = theDMBE->book1D("pixEventRate",title2,5000,0.,5000.);
574  char title3[80]; sprintf(title3, "Average digi occupancy per FED;FED;NDigis/<NDigis>");
575  averageDigiOccupancy = theDMBE->book1D("averageDigiOccupancy",title3,40,-0.5,39.5);
576  if(modOn){
577  char title4[80]; sprintf(title4, "FED Digi Occupancy (NDigis/<NDigis>) vs LumiSections;Lumi Section;FED");
578  avgfedDigiOccvsLumi = theDMBE->book2D ("avgfedDigiOccvsLumi", title4, 400,0., 3200., 40, -0.5, 39.5);
579  }
580  std::map<uint32_t,SiPixelDigiModule*>::iterator struct_iter;
581 
582  SiPixelFolderOrganizer theSiPixelFolder;
583 
584  for(struct_iter = thePixelStructure.begin(); struct_iter != thePixelStructure.end(); struct_iter++){
586  if(modOn){
587  if(theSiPixelFolder.setModuleFolder((*struct_iter).first)){
588  (*struct_iter).second->book( conf_,0,twoDimOn,hiRes, reducedSet, twoDimModOn);
589  } else {
590 
591  if(!isPIB) throw cms::Exception("LogicError")
592  << "[SiPixelDigiSource::bookMEs] Creation of DQM folder failed";
593  }
594  }
595  if(ladOn){
596  if(theSiPixelFolder.setModuleFolder((*struct_iter).first,1)){
597  (*struct_iter).second->book( conf_,1,twoDimOn,hiRes, reducedSet);
598  } else {
599  LogDebug ("PixelDQM") << "PROBLEM WITH LADDER-FOLDER\n";
600  }
601 
602  }
603  if(layOn || twoDimOnlyLayDisk){
604  if(theSiPixelFolder.setModuleFolder((*struct_iter).first,2)){
605  (*struct_iter).second->book( conf_,2,twoDimOn,hiRes, reducedSet, twoDimOnlyLayDisk);
606  } else {
607  LogDebug ("PixelDQM") << "PROBLEM WITH LAYER-FOLDER\n";
608  }
609  }
610 
611  if(phiOn){
612  if(theSiPixelFolder.setModuleFolder((*struct_iter).first,3)){
613  (*struct_iter).second->book( conf_,3,twoDimOn,hiRes, reducedSet);
614  } else {
615  LogDebug ("PixelDQM") << "PROBLEM WITH PHI-FOLDER\n";
616  }
617  }
618  if(bladeOn){
619  if(theSiPixelFolder.setModuleFolder((*struct_iter).first,4)){
620  (*struct_iter).second->book( conf_,4,twoDimOn,hiRes, reducedSet);
621  } else {
622  LogDebug ("PixelDQM") << "PROBLEM WITH BLADE-FOLDER\n";
623  }
624  }
625  if(diskOn || twoDimOnlyLayDisk){
626  if(theSiPixelFolder.setModuleFolder((*struct_iter).first,5)){
627  (*struct_iter).second->book( conf_,5,twoDimOn,hiRes, reducedSet, twoDimOnlyLayDisk);
628  } else {
629  LogDebug ("PixelDQM") << "PROBLEM WITH DISK-FOLDER\n";
630  }
631  }
632  if(ringOn){
633  if(theSiPixelFolder.setModuleFolder((*struct_iter).first,6)){
634  (*struct_iter).second->book( conf_,6,twoDimOn,hiRes, reducedSet);
635  } else {
636  LogDebug ("PixelDQM") << "PROBLEM WITH RING-FOLDER\n";
637  }
638  }
639  }
640  std::string currDir = theDMBE->pwd();
641  theDMBE->cd("Pixel/Barrel");
642  meNDigisCOMBBarrel_ = theDMBE->book1D("ALLMODS_ndigisCOMB_Barrel","Number of Digis",200,0.,400.);
643  meNDigisCOMBBarrel_->setAxisTitle("Number of digis per module per event",1);
644  meNDigisCHANBarrel_ = theDMBE->book1D("ALLMODS_ndigisCHAN_Barrel","Number of Digis",100,0.,1000.);
645  meNDigisCHANBarrel_->setAxisTitle("Number of digis per FED channel per event",1);
646  meNDigisCHANBarrelL1_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelL1","Number of Digis L1",100,0.,1000.);
647  meNDigisCHANBarrelL1_->setAxisTitle("Number of digis per FED channel per event",1);
648  meNDigisCHANBarrelL2_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelL2","Number of Digis L2",100,0.,1000.);
649  meNDigisCHANBarrelL2_->setAxisTitle("Number of digis per FED channel per event",1);
650  meNDigisCHANBarrelL3_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelL3","Number of Digis L3",100,0.,1000.);
651  meNDigisCHANBarrelL3_->setAxisTitle("Number of digis per FED channel per event",1);
652  meNDigisCHANBarrelCh1_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh1","Number of Digis Ch1",100,0.,1000.);
653  meNDigisCHANBarrelCh1_->setAxisTitle("Number of digis per FED channel per event",1);
654  meNDigisCHANBarrelCh2_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh2","Number of Digis Ch2",100,0.,1000.);
655  meNDigisCHANBarrelCh2_->setAxisTitle("Number of digis per FED channel per event",1);
656  meNDigisCHANBarrelCh3_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh3","Number of Digis Ch3",100,0.,1000.);
657  meNDigisCHANBarrelCh3_->setAxisTitle("Number of digis per FED channel per event",1);
658  meNDigisCHANBarrelCh4_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh4","Number of Digis Ch4",100,0.,1000.);
659  meNDigisCHANBarrelCh4_->setAxisTitle("Number of digis per FED channel per event",1);
660  meNDigisCHANBarrelCh5_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh5","Number of Digis Ch5",100,0.,1000.);
661  meNDigisCHANBarrelCh5_->setAxisTitle("Number of digis per FED channel per event",1);
662  meNDigisCHANBarrelCh6_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh6","Number of Digis Ch6",100,0.,1000.);
663  meNDigisCHANBarrelCh6_->setAxisTitle("Number of digis per FED channel per event",1);
664  meNDigisCHANBarrelCh7_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh7","Number of Digis Ch7",100,0.,1000.);
665  meNDigisCHANBarrelCh7_->setAxisTitle("Number of digis per FED channel per event",1);
666  meNDigisCHANBarrelCh8_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh8","Number of Digis Ch8",100,0.,1000.);
667  meNDigisCHANBarrelCh8_->setAxisTitle("Number of digis per FED channel per event",1);
668  meNDigisCHANBarrelCh9_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh9","Number of Digis Ch9",100,0.,1000.);
669  meNDigisCHANBarrelCh9_->setAxisTitle("Number of digis per FED channel per event",1);
670  meNDigisCHANBarrelCh10_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh10","Number of Digis Ch10",100,0.,1000.);
671  meNDigisCHANBarrelCh10_->setAxisTitle("Number of digis per FED channel per event",1);
672  meNDigisCHANBarrelCh11_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh11","Number of Digis Ch11",100,0.,1000.);
673  meNDigisCHANBarrelCh11_->setAxisTitle("Number of digis per FED channel per event",1);
674  meNDigisCHANBarrelCh12_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh12","Number of Digis Ch12",100,0.,1000.);
675  meNDigisCHANBarrelCh12_->setAxisTitle("Number of digis per FED channel per event",1);
676  meNDigisCHANBarrelCh13_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh13","Number of Digis Ch13",100,0.,1000.);
677  meNDigisCHANBarrelCh13_->setAxisTitle("Number of digis per FED channel per event",1);
678  meNDigisCHANBarrelCh14_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh14","Number of Digis Ch14",100,0.,1000.);
679  meNDigisCHANBarrelCh14_->setAxisTitle("Number of digis per FED channel per event",1);
680  meNDigisCHANBarrelCh15_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh15","Number of Digis Ch15",100,0.,1000.);
681  meNDigisCHANBarrelCh15_->setAxisTitle("Number of digis per FED channel per event",1);
682  meNDigisCHANBarrelCh16_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh16","Number of Digis Ch16",100,0.,1000.);
683  meNDigisCHANBarrelCh16_->setAxisTitle("Number of digis per FED channel per event",1);
684  meNDigisCHANBarrelCh17_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh17","Number of Digis Ch17",100,0.,1000.);
685  meNDigisCHANBarrelCh17_->setAxisTitle("Number of digis per FED channel per event",1);
686  meNDigisCHANBarrelCh18_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh18","Number of Digis Ch18",100,0.,1000.);
687  meNDigisCHANBarrelCh18_->setAxisTitle("Number of digis per FED channel per event",1);
688  meNDigisCHANBarrelCh19_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh19","Number of Digis Ch19",100,0.,1000.);
689  meNDigisCHANBarrelCh19_->setAxisTitle("Number of digis per FED channel per event",1);
690  meNDigisCHANBarrelCh20_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh20","Number of Digis Ch20",100,0.,1000.);
691  meNDigisCHANBarrelCh20_->setAxisTitle("Number of digis per FED channel per event",1);
692  meNDigisCHANBarrelCh21_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh21","Number of Digis Ch21",100,0.,1000.);
693  meNDigisCHANBarrelCh21_->setAxisTitle("Number of digis per FED channel per event",1);
694  meNDigisCHANBarrelCh22_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh22","Number of Digis Ch22",100,0.,1000.);
695  meNDigisCHANBarrelCh22_->setAxisTitle("Number of digis per FED channel per event",1);
696  meNDigisCHANBarrelCh23_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh23","Number of Digis Ch23",100,0.,1000.);
697  meNDigisCHANBarrelCh23_->setAxisTitle("Number of digis per FED channel per event",1);
698  meNDigisCHANBarrelCh24_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh24","Number of Digis Ch24",100,0.,1000.);
699  meNDigisCHANBarrelCh24_->setAxisTitle("Number of digis per FED channel per event",1);
700  meNDigisCHANBarrelCh25_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh25","Number of Digis Ch25",100,0.,1000.);
701  meNDigisCHANBarrelCh25_->setAxisTitle("Number of digis per FED channel per event",1);
702  meNDigisCHANBarrelCh26_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh26","Number of Digis Ch26",100,0.,1000.);
703  meNDigisCHANBarrelCh26_->setAxisTitle("Number of digis per FED channel per event",1);
704  meNDigisCHANBarrelCh27_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh27","Number of Digis Ch27",100,0.,1000.);
705  meNDigisCHANBarrelCh27_->setAxisTitle("Number of digis per FED channel per event",1);
706  meNDigisCHANBarrelCh28_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh28","Number of Digis Ch28",100,0.,1000.);
707  meNDigisCHANBarrelCh28_->setAxisTitle("Number of digis per FED channel per event",1);
708  meNDigisCHANBarrelCh29_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh29","Number of Digis Ch29",100,0.,1000.);
709  meNDigisCHANBarrelCh29_->setAxisTitle("Number of digis per FED channel per event",1);
710  meNDigisCHANBarrelCh30_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh30","Number of Digis Ch30",100,0.,1000.);
711  meNDigisCHANBarrelCh30_->setAxisTitle("Number of digis per FED channel per event",1);
712  meNDigisCHANBarrelCh31_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh31","Number of Digis Ch31",100,0.,1000.);
713  meNDigisCHANBarrelCh31_->setAxisTitle("Number of digis per FED channel per event",1);
714  meNDigisCHANBarrelCh32_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh32","Number of Digis Ch32",100,0.,1000.);
715  meNDigisCHANBarrelCh32_->setAxisTitle("Number of digis per FED channel per event",1);
716  meNDigisCHANBarrelCh33_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh33","Number of Digis Ch33",100,0.,1000.);
717  meNDigisCHANBarrelCh33_->setAxisTitle("Number of digis per FED channel per event",1);
718  meNDigisCHANBarrelCh34_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh34","Number of Digis Ch34",100,0.,1000.);
719  meNDigisCHANBarrelCh34_->setAxisTitle("Number of digis per FED channel per event",1);
720  meNDigisCHANBarrelCh35_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh35","Number of Digis Ch35",100,0.,1000.);
721  meNDigisCHANBarrelCh35_->setAxisTitle("Number of digis per FED channel per event",1);
722  meNDigisCHANBarrelCh36_ = theDMBE->book1D("ALLMODS_ndigisCHAN_BarrelCh36","Number of Digis Ch36",100,0.,1000.);
723  meNDigisCHANBarrelCh36_->setAxisTitle("Number of digis per FED channel per event",1);
724  theDMBE->cd("Pixel/Endcap");
725  meNDigisCOMBEndcap_ = theDMBE->book1D("ALLMODS_ndigisCOMB_Endcap","Number of Digis",200,0.,400.);
726  meNDigisCOMBEndcap_->setAxisTitle("Number of digis per module per event",1);
727  meNDigisCHANEndcap_ = theDMBE->book1D("ALLMODS_ndigisCHAN_Endcap","Number of Digis",100,0.,1000.);
728  meNDigisCHANEndcap_->setAxisTitle("Number of digis per FED channel per event",1);
729  meNDigisCHANEndcapDp1_ = theDMBE->book1D("ALLMODS_ndigisCHAN_EndcapDp1","Number of Digis Disk p1",100,0.,1000.);
730  meNDigisCHANEndcapDp1_->setAxisTitle("Number of digis per FED channel per event",1);
731  meNDigisCHANEndcapDp2_ = theDMBE->book1D("ALLMODS_ndigisCHAN_EndcapDp2","Number of Digis Disk p2",100,0.,1000.);
732  meNDigisCHANEndcapDp2_->setAxisTitle("Number of digis per FED channel per event",1);
733  meNDigisCHANEndcapDm1_ = theDMBE->book1D("ALLMODS_ndigisCHAN_EndcapDm1","Number of Digis Disk m1",100,0.,1000.);
734  meNDigisCHANEndcapDm1_->setAxisTitle("Number of digis per FED channel per event",1);
735  meNDigisCHANEndcapDm2_ = theDMBE->book1D("ALLMODS_ndigisCHAN_EndcapDm2","Number of Digis Disk m2",100,0.,1000.);
736  meNDigisCHANEndcapDm2_->setAxisTitle("Number of digis per FED channel per event",1);
737  theDMBE->cd(currDir);
738 }
#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:514
MonitorElement * meNDigisCHANBarrelCh8_
MonitorElement * meNDigisCHANBarrelCh36_
void cd(void)
go to top directory (ie. root)
Definition: DQMStore.cc:209
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 * meNDigisCHANEndcap_
MonitorElement * meNDigisCHANBarrelCh28_
MonitorElement * meNDigisCHANBarrel_
MonitorElement * meNDigisCHANBarrelCh33_
MonitorElement * pixEventRate
MonitorElement * meNDigisCHANBarrelCh21_
MonitorElement * meNDigisCHANBarrelCh32_
MonitorElement * meNDigisCHANBarrelCh10_
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_
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:642
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:232
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:204
void SiPixelDigiSource::buildStructure ( edm::EventSetup const &  iSetup)
virtual

Definition at line 500 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(), DetId::subdetId(), and thePixelStructure.

Referenced by beginRun().

500  {
501 
502  LogInfo ("PixelDQM") <<" SiPixelDigiSource::buildStructure" ;
504  iSetup.get<TrackerDigiGeometryRecord>().get( pDD );
505 
506  LogVerbatim ("PixelDQM") << " *** Geometry node for TrackerGeom is "<<&(*pDD)<<std::endl;
507  LogVerbatim ("PixelDQM") << " *** I have " << pDD->dets().size() <<" detectors"<<std::endl;
508  LogVerbatim ("PixelDQM") << " *** I have " << pDD->detTypes().size() <<" types"<<std::endl;
509 
510  for(TrackerGeometry::DetContainer::const_iterator it = pDD->dets().begin(); it != pDD->dets().end(); it++){
511 
512  if(dynamic_cast<PixelGeomDetUnit*>((*it))!=0){
513 
514  DetId detId = (*it)->geographicalId();
515  const GeomDetUnit * geoUnit = pDD->idToDetUnit( detId );
516  const PixelGeomDetUnit * pixDet = dynamic_cast<const PixelGeomDetUnit*>(geoUnit);
517  int nrows = (pixDet->specificTopology()).nrows();
518  int ncols = (pixDet->specificTopology()).ncolumns();
519 
520  if(detId.subdetId() == static_cast<int>(PixelSubdetector::PixelBarrel)) {
521  if(isPIB) continue;
522  LogDebug ("PixelDQM") << " ---> Adding Barrel Module " << detId.rawId() << endl;
523  uint32_t id = detId();
524  SiPixelDigiModule* theModule = new SiPixelDigiModule(id, ncols, nrows);
525  thePixelStructure.insert(pair<uint32_t,SiPixelDigiModule*> (id,theModule));
526 
527  } else if(detId.subdetId() == static_cast<int>(PixelSubdetector::PixelEndcap)) {
528  LogDebug ("PixelDQM") << " ---> Adding Endcap Module " << detId.rawId() << endl;
529  uint32_t id = detId();
530  SiPixelDigiModule* theModule = new SiPixelDigiModule(id, ncols, nrows);
531 
533  int disk = PixelEndcapName(DetId(id)).diskName();
534  int blade = PixelEndcapName(DetId(id)).bladeName();
535  int panel = PixelEndcapName(DetId(id)).pannelName();
537 
538  char sside[80]; sprintf(sside, "HalfCylinder_%i",side);
539  char sdisk[80]; sprintf(sdisk, "Disk_%i",disk);
540  char sblade[80]; sprintf(sblade, "Blade_%02i",blade);
541  char spanel[80]; sprintf(spanel, "Panel_%i",panel);
542  char smodule[80];sprintf(smodule,"Module_%i",module);
543  std::string side_str = sside;
544  std::string disk_str = sdisk;
545  bool mask = side_str.find("HalfCylinder_1")!=string::npos||
546  side_str.find("HalfCylinder_2")!=string::npos||
547  side_str.find("HalfCylinder_4")!=string::npos||
548  disk_str.find("Disk_2")!=string::npos;
549  // clutch to take all of FPIX, but no BPIX:
550  mask = false;
551  if(isPIB && mask) continue;
552 
553  thePixelStructure.insert(pair<uint32_t,SiPixelDigiModule*> (id,theModule));
554  }
555 
556  }
557  }
558  LogInfo ("PixelDQM") << " *** Pixel Structure Size " << thePixelStructure.size() << endl;
559 }
#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 121 of file SiPixelDigiSource.cc.

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

121  {
122 
123  if(saveFile) {
124  LogInfo ("PixelDQM") << " SiPixelDigiSource::endJob - Saving Root File " << std::endl;
125  std::string outputFile = conf_.getParameter<std::string>("outputFile");
126  theDMBE->save( outputFile.c_str() );
127  }
128 
129 }
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:1898
edm::ParameterSet conf_

Member Data Documentation

MonitorElement* SiPixelDigiSource::averageDigiOccupancy
private

Definition at line 92 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::avgfedDigiOccvsLumi
private

Definition at line 93 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::bigEventRate
private

Definition at line 89 of file SiPixelDigiSource.h.

Referenced by bookMEs().

int SiPixelDigiSource::bigEventSize
private

Definition at line 142 of file SiPixelDigiSource.h.

Referenced by analyze(), and bookMEs().

bool SiPixelDigiSource::bladeOn
private

Definition at line 79 of file SiPixelDigiSource.h.

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

edm::ParameterSet SiPixelDigiSource::conf_
private

Definition at line 65 of file SiPixelDigiSource.h.

Referenced by bookMEs(), and endJob().

bool SiPixelDigiSource::diskOn
private

Definition at line 79 of file SiPixelDigiSource.h.

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

int SiPixelDigiSource::eventNo
private

Definition at line 80 of file SiPixelDigiSource.h.

Referenced by analyze(), and beginRun().

bool SiPixelDigiSource::firstRun
private

Definition at line 144 of file SiPixelDigiSource.h.

Referenced by beginJob(), and beginRun().

bool SiPixelDigiSource::hiRes
private

Definition at line 74 of file SiPixelDigiSource.h.

Referenced by beginRun(), and bookMEs().

unsigned int SiPixelDigiSource::I_detId[1440]
private

Definition at line 147 of file SiPixelDigiSource.h.

Referenced by analyze(), and beginJob().

int SiPixelDigiSource::I_fedId[1440]
private

Definition at line 148 of file SiPixelDigiSource.h.

Referenced by analyze(), and beginJob().

int SiPixelDigiSource::I_linkId1[1440]
private

Definition at line 149 of file SiPixelDigiSource.h.

Referenced by analyze(), and beginJob().

int SiPixelDigiSource::I_linkId2[1440]
private

Definition at line 150 of file SiPixelDigiSource.h.

Referenced by analyze(), and beginJob().

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

Definition at line 146 of file SiPixelDigiSource.h.

Referenced by beginJob().

bool SiPixelDigiSource::isPIB
private

Definition at line 68 of file SiPixelDigiSource.h.

Referenced by bookMEs(), and buildStructure().

bool SiPixelDigiSource::ladOn
private

Definition at line 77 of file SiPixelDigiSource.h.

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

bool SiPixelDigiSource::layOn
private

Definition at line 77 of file SiPixelDigiSource.h.

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

int SiPixelDigiSource::lumSec
private

Definition at line 81 of file SiPixelDigiSource.h.

Referenced by beginRun().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrel_
private

Definition at line 96 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh10_
private

Definition at line 109 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh11_
private

Definition at line 110 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh12_
private

Definition at line 111 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh13_
private

Definition at line 112 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh14_
private

Definition at line 113 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh15_
private

Definition at line 114 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh16_
private

Definition at line 115 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh17_
private

Definition at line 116 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh18_
private

Definition at line 117 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh19_
private

Definition at line 118 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh1_
private

Definition at line 100 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh20_
private

Definition at line 119 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh21_
private

Definition at line 120 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh22_
private

Definition at line 121 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh23_
private

Definition at line 122 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh24_
private

Definition at line 123 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh25_
private

Definition at line 124 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh26_
private

Definition at line 125 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh27_
private

Definition at line 126 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh28_
private

Definition at line 127 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh29_
private

Definition at line 128 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh2_
private

Definition at line 101 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh30_
private

Definition at line 129 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh31_
private

Definition at line 130 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh32_
private

Definition at line 131 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh33_
private

Definition at line 132 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh34_
private

Definition at line 133 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh35_
private

Definition at line 134 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh36_
private

Definition at line 135 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh3_
private

Definition at line 102 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh4_
private

Definition at line 103 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh5_
private

Definition at line 104 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh6_
private

Definition at line 105 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh7_
private

Definition at line 106 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh8_
private

Definition at line 107 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelCh9_
private

Definition at line 108 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelL1_
private

Definition at line 97 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelL2_
private

Definition at line 98 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANBarrelL3_
private

Definition at line 99 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANEndcap_
private

Definition at line 136 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANEndcapDm1_
private

Definition at line 139 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANEndcapDm2_
private

Definition at line 140 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANEndcapDp1_
private

Definition at line 137 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCHANEndcapDp2_
private

Definition at line 138 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCOMBBarrel_
private

Definition at line 94 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::meNDigisCOMBEndcap_
private

Definition at line 95 of file SiPixelDigiSource.h.

Referenced by bookMEs().

bool SiPixelDigiSource::modOn
private

Definition at line 70 of file SiPixelDigiSource.h.

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

int SiPixelDigiSource::nBigEvents
private

Definition at line 86 of file SiPixelDigiSource.h.

Referenced by beginRun().

int SiPixelDigiSource::nBPIXDigis
private

Definition at line 87 of file SiPixelDigiSource.h.

Referenced by analyze(), and beginRun().

int SiPixelDigiSource::nDigisA
private

Definition at line 155 of file SiPixelDigiSource.h.

Referenced by analyze().

int SiPixelDigiSource::nDigisB
private

Definition at line 156 of file SiPixelDigiSource.h.

Referenced by analyze().

int SiPixelDigiSource::nDigisPerChan[1152]
private

Definition at line 152 of file SiPixelDigiSource.h.

Referenced by analyze().

int SiPixelDigiSource::nDigisPerDisk[4]
private

Definition at line 153 of file SiPixelDigiSource.h.

Referenced by analyze(), and beginRun().

int SiPixelDigiSource::nDigisPerFed[40]
private

Definition at line 151 of file SiPixelDigiSource.h.

Referenced by analyze(), and beginRun().

int SiPixelDigiSource::nFPIXDigis
private

Definition at line 88 of file SiPixelDigiSource.h.

Referenced by analyze(), and beginRun().

int SiPixelDigiSource::nLumiSecs
private

Definition at line 82 of file SiPixelDigiSource.h.

Referenced by beginRun().

int SiPixelDigiSource::numberOfDigis[192]
private

Definition at line 154 of file SiPixelDigiSource.h.

Referenced by analyze().

bool SiPixelDigiSource::phiOn
private

Definition at line 77 of file SiPixelDigiSource.h.

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

MonitorElement* SiPixelDigiSource::pixEventRate
private

Definition at line 91 of file SiPixelDigiSource.h.

Referenced by bookMEs().

MonitorElement* SiPixelDigiSource::pixEvtsPerBX
private

Definition at line 90 of file SiPixelDigiSource.h.

Referenced by bookMEs().

bool SiPixelDigiSource::reducedSet
private

Definition at line 75 of file SiPixelDigiSource.h.

Referenced by analyze(), and bookMEs().

bool SiPixelDigiSource::ringOn
private

Definition at line 79 of file SiPixelDigiSource.h.

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

bool SiPixelDigiSource::saveFile
private

Definition at line 67 of file SiPixelDigiSource.h.

Referenced by endJob().

bool SiPixelDigiSource::slowDown
private

Definition at line 69 of file SiPixelDigiSource.h.

Referenced by analyze().

edm::InputTag SiPixelDigiSource::src_
private

Definition at line 66 of file SiPixelDigiSource.h.

Referenced by analyze().

DQMStore* SiPixelDigiSource::theDMBE
private

Definition at line 83 of file SiPixelDigiSource.h.

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

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

Definition at line 84 of file SiPixelDigiSource.h.

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

bool SiPixelDigiSource::twoDimModOn
private

Definition at line 72 of file SiPixelDigiSource.h.

Referenced by analyze(), and bookMEs().

bool SiPixelDigiSource::twoDimOn
private

Definition at line 71 of file SiPixelDigiSource.h.

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

bool SiPixelDigiSource::twoDimOnlyLayDisk
private

Definition at line 73 of file SiPixelDigiSource.h.

Referenced by analyze(), and bookMEs().