CMS 3D CMS Logo

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

#include <DQM/SiStripMonitorDigi/src/SiStripMonitorDigi.cc>

Inheritance diagram for SiStripMonitorDigi:
edm::EDAnalyzer

Classes

struct  DigiFailureMEs
 
struct  LayerMEs
 
struct  ModMEs
 
struct  SubDetMEs
 

Public Member Functions

virtual void analyze (const edm::Event &, const edm::EventSetup &)
 
virtual void beginJob ()
 
virtual void beginLuminosityBlock (const edm::LuminosityBlock &, const edm::EventSetup &)
 
virtual void beginRun (const edm::Run &, const edm::EventSetup &)
 
virtual void endJob ()
 
virtual void endLuminosityBlock (const edm::LuminosityBlock &, const edm::EventSetup &)
 
virtual void endRun (const edm::Run &, const edm::EventSetup &)
 
 SiStripMonitorDigi (const edm::ParameterSet &)
 
 ~SiStripMonitorDigi ()
 
- Public Member Functions inherited from edm::EDAnalyzer
 EDAnalyzer ()
 
std::string workerType () const
 
virtual ~EDAnalyzer ()
 

Private Member Functions

bool AllDigis (const edm::EventSetup &es)
 
void bookLayer ()
 
MonitorElementbookME1D (const char *ParameterSetLabel, const char *HistoName)
 
MonitorElementbookMETrend (const char *ParameterSetLabel, const char *HistoName)
 
void bookTrendMEs (TString name, int32_t layer, uint32_t id, std::string flag)
 
void createLayerMEs (std::string label, int ndet)
 
void createMEs (const edm::EventSetup &es)
 
void createModuleMEs (ModMEs &mod_single, uint32_t detid)
 
void createSubDetMEs (std::string label)
 
void createSubDetTH2 (std::string label)
 
void fillDigiADCsMEs (int value, std::string name)
 
void fillME (MonitorElement *ME, float value1)
 
void fillME (MonitorElement *ME, float value1, float value2)
 
void fillME (MonitorElement *ME, float value1, float value2, float value3)
 
void fillME (MonitorElement *ME, float value1, float value2, float value3, float value4)
 
void fillTrend (MonitorElement *me, float value, float timeinorbit)
 
int getDigiSourceIndex (uint32_t id)
 
void ResetModuleMEs (uint32_t idet)
 

Private Attributes

edm::InputTag apvPhaseProducer_
 
bool calculate_strip_occupancy
 
edm::ParameterSet conf_
 
bool createTrendMEs
 
SiStripDCSStatusdcsStatus_
 
std::map< std::pair
< std::string, int32_t >, bool > 
DetectedLayers
 
std::vector< const
edm::DetSetVector< SiStripDigi > * > 
digi_detset_handles
 
DigiFailureMEs digiFailureMEs
 
std::map< uint32_t, ModMEsDigiMEs
 
std::vector< edm::InputTagdigiProducerList
 
bool digitkhistomapon
 
DQMStoredqmStore_
 
int eventNb
 
int firstEvent
 
SiStripFolderOrganizer folder_organizer
 
edm::InputTag historyProducer_
 
std::map< std::string,
std::vector< uint32_t > > 
LayerDetMap
 
std::map< std::string, LayerMEsLayerMEsMap
 
bool layerswitchadccooleston
 
bool layerswitchadchotteston
 
bool layerswitchdigiadcprofon
 
bool layerswitchdigiadcson
 
bool layerswitchnumdigisapvon
 
bool layerswitchnumdigison
 
bool layerswitchnumdigisprofon
 
bool layerswitchstripoccupancyon
 
unsigned long long m_cacheID_
 
bool Mod_On_
 
std::vector< uint32_t > ModulesToBeExcluded_
 
bool moduleswitchadccooleston
 
bool moduleswitchadchotteston
 
bool moduleswitchdigiadcson
 
bool moduleswitchnumdigison
 
bool moduleswitchnumdigispstripon
 
bool moduleswitchstripoccupancyon
 
TString name
 
bool reset_each_run
 
int runNb
 
bool select_all_detectors
 
bool show_control_view
 
bool show_mechanical_structure_view
 
bool show_readout_view
 
edm::ESHandle< SiStripDetCablingSiStripDetCabling_
 
std::map< std::string, SubDetMEsSubDetMEsMap
 
std::map< std::string,
std::string > 
SubDetPhasePartMap
 
bool subdetswitchapvcycleprofon
 
bool subdetswitchapvcycleth2on
 
bool subdetswitchtotdigifailureon
 
bool subdetswitchtotdigiproflson
 
bool subdetswitchtotdigiprofon
 
TkHistoMaptkmapdigi
 
std::string topDir
 
int xLumiProf
 

Additional Inherited Members

- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer ModuleType
 
typedef WorkerT< EDAnalyzerWorkerType
 
- 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

Data Quality Monitoring source of the Silicon Strip Tracker. Produces histograms related to digis.

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

Implementation: <Notes on="" implementation>="">

Definition at line 26 of file SiStripMonitorDigi.h.

Constructor & Destructor Documentation

SiStripMonitorDigi::SiStripMonitorDigi ( const edm::ParameterSet iConfig)
explicit

Definition at line 40 of file SiStripMonitorDigi.cc.

References apvPhaseProducer_, conf_, createTrendMEs, dcsStatus_, digiProducerList, digitkhistomapon, eventNb, firstEvent, edm::ParameterSet::getParameter(), historyProducer_, layerswitchadccooleston, layerswitchadchotteston, layerswitchdigiadcprofon, layerswitchdigiadcson, layerswitchnumdigison, layerswitchnumdigisprofon, layerswitchstripoccupancyon, Mod_On_, moduleswitchadccooleston, moduleswitchadchotteston, moduleswitchdigiadcson, moduleswitchnumdigison, moduleswitchnumdigispstripon, moduleswitchstripoccupancyon, SubDetPhasePartMap, subdetswitchapvcycleprofon, subdetswitchapvcycleth2on, subdetswitchtotdigifailureon, subdetswitchtotdigiproflson, subdetswitchtotdigiprofon, and xLumiProf.

41 {
42  firstEvent = -1;
43  eventNb = 0;
44 
45  // Detector Partitions
46  SubDetPhasePartMap["TIB"] = "TI";
47  SubDetPhasePartMap["TID__side__1"] = "TI";
48  SubDetPhasePartMap["TID__side__2"] = "TI";
49  SubDetPhasePartMap["TOB"] = "TO";
50  SubDetPhasePartMap["TEC__side__1"] = "TM";
51  SubDetPhasePartMap["TEC__side__2"] = "TP";
52 
53  // get Digi Producer List
54  digiProducerList = conf_.getParameter<std::vector<edm::InputTag> >("DigiProducersList");
55 
56  //get on/off option for every cluster from cfi
57  edm::ParameterSet ParametersNumberOfDigis = conf_.getParameter<edm::ParameterSet>("TH1NumberOfDigis");
58  layerswitchnumdigison = ParametersNumberOfDigis.getParameter<bool>("layerswitchon");
59  moduleswitchnumdigison = ParametersNumberOfDigis.getParameter<bool>("moduleswitchon");
60 
61  edm::ParameterSet ParametersNumberOfDigisPerStrip = conf_.getParameter<edm::ParameterSet>("TH1NumberOfDigisPerStrip");
62  moduleswitchnumdigispstripon = ParametersNumberOfDigisPerStrip.getParameter<bool>("moduleswitchon");
63 
64  edm::ParameterSet ParametersADCsHottestStrip = conf_.getParameter<edm::ParameterSet>("TH1ADCsHottestStrip");
65  layerswitchadchotteston = ParametersADCsHottestStrip.getParameter<bool>("layerswitchon");
66  moduleswitchadchotteston = ParametersADCsHottestStrip.getParameter<bool>("moduleswitchon");
67 
68  edm::ParameterSet ParametersADCsCoolestStrip = conf_.getParameter<edm::ParameterSet>("TH1ADCsCoolestStrip");
69  layerswitchadccooleston = ParametersADCsCoolestStrip.getParameter<bool>("layerswitchon");
70  moduleswitchadccooleston = ParametersADCsCoolestStrip.getParameter<bool>("moduleswitchon");
71 
72  edm::ParameterSet ParametersDigiADCs = conf_.getParameter<edm::ParameterSet>("TH1DigiADCs");
73  layerswitchdigiadcson = ParametersDigiADCs.getParameter<bool>("layerswitchon");
74  moduleswitchdigiadcson = ParametersDigiADCs.getParameter<bool>("moduleswitchon");
75 
76  edm::ParameterSet ParametersStripOccupancy = conf_.getParameter<edm::ParameterSet>("TH1StripOccupancy");
77  layerswitchstripoccupancyon = ParametersStripOccupancy.getParameter<bool>("layerswitchon");
78  moduleswitchstripoccupancyon = ParametersStripOccupancy.getParameter<bool>("moduleswitchon");
79 
80  edm::ParameterSet ParametersDigiProf = conf_.getParameter<edm::ParameterSet>("TProfNumberOfDigi");
81  layerswitchnumdigisprofon = ParametersDigiProf.getParameter<bool>("layerswitchon");
82  edm::ParameterSet ParametersDigiADC = conf_.getParameter<edm::ParameterSet>("TProfDigiADC");
83  layerswitchdigiadcprofon = ParametersDigiProf.getParameter<bool>("layerswitchon");
84 
85  edm::ParameterSet ParametersTotDigiProf = conf_.getParameter<edm::ParameterSet>("TProfTotalNumberOfDigis");
86  subdetswitchtotdigiprofon = ParametersTotDigiProf.getParameter<bool>("subdetswitchon");
87 
88  edm::ParameterSet ParametersTotDigisProfVsLS = conf_.getParameter<edm::ParameterSet>("TProfTotalNumberOfDigisVsLS");
89  subdetswitchtotdigiproflson = ParametersTotDigisProfVsLS.getParameter<bool>("subdetswitchon");
90 
91  edm::ParameterSet ParametersTotDigiFailure = conf_.getParameter<edm::ParameterSet>("TotalNumberOfDigisFailure");
92  subdetswitchtotdigifailureon = ParametersTotDigiFailure.getParameter<bool>("subdetswitchon");
93 
94  edm::ParameterSet ParametersDigiApvProf = conf_.getParameter<edm::ParameterSet>("TProfDigiApvCycle");
95  subdetswitchapvcycleprofon = ParametersDigiApvProf.getParameter<bool>("subdetswitchon");
96 
97  edm::ParameterSet ParametersDigiApvTH2 = conf_.getParameter<edm::ParameterSet>("TH2DigiApvCycle");
98  subdetswitchapvcycleth2on = ParametersDigiApvTH2.getParameter<bool>("subdetswitchon");
99 
100  digitkhistomapon = conf_.getParameter<bool>("TkHistoMap_On");
101 
102  createTrendMEs = conf_.getParameter<bool>("CreateTrendMEs");
103  Mod_On_ = conf_.getParameter<bool>("Mod_On");
104  xLumiProf = conf_.getParameter<int>("xLumiProf");
105 
106  // Event History Producer
107  historyProducer_ = conf_.getParameter<edm::InputTag>("HistoryProducer");
108  // Apv Phase Producer
109  apvPhaseProducer_ = conf_.getParameter<edm::InputTag>("ApvPhaseProducer");
110 
111  // Create DCS Status
112  bool checkDCS = conf_.getParameter<bool>("UseDCSFiltering");
113  if (checkDCS) dcsStatus_ = new SiStripDCSStatus();
114  else dcsStatus_ = 0;
115 }
T getParameter(std::string const &) const
edm::InputTag historyProducer_
std::map< std::string, std::string > SubDetPhasePartMap
unsigned long long m_cacheID_
SiStripDCSStatus * dcsStatus_
edm::InputTag apvPhaseProducer_
edm::ParameterSet conf_
std::vector< edm::InputTag > digiProducerList
SiStripFolderOrganizer folder_organizer
SiStripMonitorDigi::~SiStripMonitorDigi ( )

Definition at line 117 of file SiStripMonitorDigi.cc.

References dcsStatus_.

117  {
118  if (dcsStatus_) delete dcsStatus_;
119 }
SiStripDCSStatus * dcsStatus_

Member Function Documentation

bool SiStripMonitorDigi::AllDigis ( const edm::EventSetup es)
private
void SiStripMonitorDigi::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
virtual

Implements edm::EDAnalyzer.

Definition at line 309 of file SiStripMonitorDigi.cc.

References ecalMGPA::adc(), SiStripMonitorDigi::ModMEs::ADCsCoolestStrip, SiStripMonitorDigi::ModMEs::ADCsHottestStrip, apvPhaseProducer_, createTrendMEs, edm::DetSet< T >::data, dcsStatus_, cond::rpcobgas::detid, digi_detset_handles, SiStripMonitorDigi::ModMEs::DigiADCs, digiFailureMEs, DigiMEs, digiProducerList, digitkhistomapon, eventNb, edm::HandleBase::failedToGet(), TkHistoMap::fill(), MonitorElement::Fill(), HcalObjRepresent::Fill(), fillME(), fillTrend(), folder_organizer, edm::Event::getByLabel(), getDigiSourceIndex(), SiStripDCSStatus::getStatus(), SiStripFolderOrganizer::getSubDetFolderAndTag(), historyProducer_, edm::EventBase::id(), APVCyclePhaseCollection::invalid, edm::HandleBase::isValid(), SiStripMonitorDigi::LayerMEs::LayerADCsCoolestStrip, SiStripMonitorDigi::LayerMEs::LayerADCsCoolestStripTrend, SiStripMonitorDigi::LayerMEs::LayerADCsHottestStrip, SiStripMonitorDigi::LayerMEs::LayerADCsHottestStripTrend, LayerDetMap, SiStripMonitorDigi::LayerMEs::LayerDigiADCProfile, SiStripMonitorDigi::LayerMEs::LayerDigiADCs, SiStripMonitorDigi::LayerMEs::LayerDigiADCsTrend, LayerMEsMap, SiStripMonitorDigi::LayerMEs::LayerNumberOfDigis, SiStripMonitorDigi::LayerMEs::LayerNumberOfDigisProfile, SiStripMonitorDigi::LayerMEs::LayerNumberOfDigisTrend, SiStripMonitorDigi::LayerMEs::LayerStripOccupancy, SiStripMonitorDigi::LayerMEs::LayerStripOccupancyTrend, layerswitchadccooleston, layerswitchadchotteston, layerswitchdigiadcprofon, layerswitchdigiadcson, layerswitchnumdigison, layerswitchnumdigisprofon, layerswitchstripoccupancyon, python.multivaluedict::map(), Mod_On_, moduleswitchadccooleston, moduleswitchadchotteston, moduleswitchdigiadcson, moduleswitchnumdigison, moduleswitchnumdigispstripon, moduleswitchstripoccupancyon, APVCyclePhaseCollection::multiphase, APVCyclePhaseCollection::nopartition, NULL, SiStripMonitorDigi::ModMEs::NumberOfDigis, SiStripMonitorDigi::ModMEs::NumberOfDigisPerStrip, edm::EventBase::orbitNumber(), pos, edm::Handle< T >::product(), edm::EventID::run(), runNb, SiStripDetCabling_, SiStripMonitorDigi::ModMEs::StripOccupancy, SiStripMonitorDigi::SubDetMEs::SubDetDigiApvProf, SiStripMonitorDigi::SubDetMEs::SubDetDigiApvTH2, SubDetMEsMap, SubDetPhasePartMap, subdetswitchapvcycleprofon, subdetswitchapvcycleth2on, subdetswitchtotdigiproflson, subdetswitchtotdigiprofon, SiStripMonitorDigi::SubDetMEs::SubDetTotDigiProf, SiStripMonitorDigi::DigiFailureMEs::SubDetTotDigiProfLS, tkmapdigi, and SiStripMonitorDigi::SubDetMEs::totNDigis.

309  {
310 
311  // Filter out events if DCS Event if requested
312  if (dcsStatus_ && !dcsStatus_->getStatus(iEvent, iSetup)) return;
313 
314  runNb = iEvent.id().run();
315  eventNb++;
316  float iOrbitSec = iEvent.orbitNumber()/11223.0;
317 
318  digi_detset_handles.clear();
319  for(std::vector<edm::InputTag>::iterator itDigiProducerList = digiProducerList.begin();
320  itDigiProducerList != digiProducerList.end(); ++itDigiProducerList ) {
321 
323 
324  iEvent.getByLabel((*itDigiProducerList),digi_handle);
325  if (digi_handle.isValid()) digi_detset_handles.push_back(digi_handle.product());
326  }
327 
328  // initialise # of clusters to zero
329  for (std::map<std::string, SubDetMEs>::iterator iSubdet = SubDetMEsMap.begin();
330  iSubdet != SubDetMEsMap.end(); iSubdet++) {
331  iSubdet->second.totNDigis = 0;
332  }
333 
334  for (std::map<std::string, std::vector< uint32_t > >::const_iterator iterLayer = LayerDetMap.begin();
335  iterLayer != LayerDetMap.end(); iterLayer++) {
336 
337  std::string layer_label = iterLayer->first;
338  std::vector< uint32_t > layer_dets = iterLayer->second;
339  std::map<std::string, LayerMEs>::iterator iLayerME = LayerMEsMap.find(layer_label);
340 
341  //get Layer MEs
342  LayerMEs local_layermes;
343  if(iLayerME == LayerMEsMap.end()) continue;
344  else local_layermes = iLayerME->second;
345  int largest_adc_layer= 0;
346  int smallest_adc_layer= 99999;
347  int ndigi_layer = 0;
348 
349  uint16_t iDet = 0;
350  std::string subdet_label = "";
351  // loop over all modules in the layer
352  for (std::vector< uint32_t >::const_iterator iterDets = layer_dets.begin() ;
353  iterDets != layer_dets.end() ; iterDets++) {
354  iDet++;
355  // detid and type of ME
356  uint32_t detid = (*iterDets);
357 
358  // Get SubDet label once
359  if (subdet_label.size() == 0) subdet_label = folder_organizer.getSubDetFolderAndTag(detid).second;
360 
361  // DetId and corresponding set of MEs
362  std::map<uint32_t, ModMEs >::iterator pos = DigiMEs.find(detid);
363  ModMEs local_modmes = pos->second;
364 
365  // search digis of detid
366  int loc = getDigiSourceIndex(detid);
367 
368  int ndigi_det = 0;
369  if (loc > -1) ndigi_det = (*(digi_detset_handles[loc]))[detid].size();
370 
371 
372  // no digis for this detector module, so fill histogram with 0
373  if(Mod_On_ && moduleswitchnumdigison && (local_modmes.NumberOfDigis != NULL))
374  (local_modmes.NumberOfDigis)->Fill(ndigi_det);
375 
377  local_layermes.LayerNumberOfDigisProfile->Fill(iDet*1.0,ndigi_det);
378 
379  if (digitkhistomapon) tkmapdigi->fill(detid,ndigi_det);
380 
381  if (ndigi_det == 0) continue; // no digis for this detid => jump to next step of loop
382 
383  const edm::DetSet<SiStripDigi> & digi_detset = (*(digi_detset_handles[loc]))[detid];
384 
385  ndigi_layer += ndigi_det;
386  // ADCs
387  int largest_adc=(digi_detset.data.begin())->adc();
388  int smallest_adc=(digi_detset.data.begin())->adc();
389 
390 
391  // Check if these parameters are really needed
392  float det_occupancy = 0.0;
393 
394  for(edm::DetSet<SiStripDigi>::const_iterator digiIter = digi_detset.data.begin();
395  digiIter!= digi_detset.data.end(); digiIter++ ){
396 
397  int this_adc = digiIter->adc();
398  if (this_adc > 0.0) det_occupancy++;
399 
400  if(this_adc>largest_adc) largest_adc = this_adc;
401  if(this_adc<smallest_adc) smallest_adc = this_adc;
402 
403  if(Mod_On_ && moduleswitchnumdigispstripon && (local_modmes.NumberOfDigisPerStrip != NULL) && (this_adc > 0.0) )
404  (local_modmes.NumberOfDigisPerStrip)->Fill(digiIter->strip());
405 
406  if(Mod_On_ && moduleswitchdigiadcson && (local_modmes.DigiADCs != NULL) )
407  (local_modmes.DigiADCs)->Fill(static_cast<float>(this_adc));
408 
409  //Fill #ADCs for this digi at layer level
411  fillME(local_layermes.LayerDigiADCs , this_adc);
412  if (createTrendMEs) fillTrend(local_layermes.LayerDigiADCsTrend, this_adc, iOrbitSec);
413  }
414 
416  local_layermes.LayerDigiADCProfile->Fill(iDet*1.0,this_adc);
417 
418  }//end of loop over digis in this det
419 
420  // Occupancy
421  short nstrips = SiStripDetCabling_->nApvPairs(detid) * 2 * 128;
422  if (nstrips > 0 && det_occupancy > 0 ) {
423  det_occupancy = det_occupancy/nstrips;
424  if (Mod_On_ && moduleswitchstripoccupancyon && (local_modmes.StripOccupancy != NULL))
425  (local_modmes.StripOccupancy)->Fill(det_occupancy);
427  fillME(local_layermes.LayerStripOccupancy, det_occupancy);
428  if (createTrendMEs) fillTrend(local_layermes.LayerStripOccupancyTrend, det_occupancy, iOrbitSec);
429  }
430  }
431 
432  if (largest_adc > largest_adc_layer) largest_adc_layer = largest_adc;
433  if (smallest_adc < smallest_adc_layer) smallest_adc_layer = smallest_adc;
434 
435  // nr. of adcs for hottest strip
436  if( Mod_On_ && moduleswitchadchotteston && (local_modmes.ADCsHottestStrip != NULL))
437  (local_modmes.ADCsHottestStrip)->Fill(static_cast<float>(largest_adc));
438 
439  // nr. of adcs for coolest strip
440  if(Mod_On_ && moduleswitchadccooleston && (local_modmes.ADCsCoolestStrip != NULL))
441  (local_modmes.ADCsCoolestStrip)->Fill(static_cast<float>(smallest_adc));
442 
443  }//end of loop over DetIds
444 
446  fillME(local_layermes.LayerNumberOfDigis,ndigi_layer);
447  if (createTrendMEs) fillTrend(local_layermes.LayerNumberOfDigisTrend, ndigi_layer, iOrbitSec);
448  }
450  fillME(local_layermes.LayerADCsHottestStrip,largest_adc_layer);
451  if (createTrendMEs) fillTrend(local_layermes.LayerADCsHottestStripTrend, largest_adc_layer, iOrbitSec);
452  }
454  fillME(local_layermes.LayerADCsCoolestStrip ,smallest_adc_layer);
455  if (createTrendMEs) fillTrend(local_layermes.LayerADCsCoolestStripTrend, smallest_adc_layer, iOrbitSec);
456  }
457  std::map<std::string, SubDetMEs>::iterator iSubdet = SubDetMEsMap.find(subdet_label);
458  if(iSubdet != SubDetMEsMap.end()) iSubdet->second.totNDigis += ndigi_layer;
459  }
460 
461  for (std::map<std::string, SubDetMEs>::iterator it = SubDetMEsMap.begin();
462  it != SubDetMEsMap.end(); it++) {
464  if (strcmp(it->first.c_str(),"TEC__side__1")==0){
465  digiFailureMEs.SubDetTotDigiProfLS->Fill(1, it->second.totNDigis);
466  }else if (strcmp(it->first.c_str(),"TEC__side__2")==0){
467  digiFailureMEs.SubDetTotDigiProfLS->Fill(2, it->second.totNDigis);
468  }else if (strcmp(it->first.c_str(),"TIB")==0){
469  digiFailureMEs.SubDetTotDigiProfLS->Fill(3, it->second.totNDigis);
470  }else if (strcmp(it->first.c_str(),"TID__side__1")==0){
471  digiFailureMEs.SubDetTotDigiProfLS->Fill(4, it->second.totNDigis);
472  }else if (strcmp(it->first.c_str(),"TID__side__2")==0){
473  digiFailureMEs.SubDetTotDigiProfLS->Fill(5, it->second.totNDigis);
474  }else if (strcmp(it->first.c_str(),"TOB")==0){
475  digiFailureMEs.SubDetTotDigiProfLS->Fill(6, it->second.totNDigis);
476  }
477  }
478  }
479 
480  // get EventHistory
481  edm::Handle<EventWithHistory> event_history;
482  iEvent.getByLabel(historyProducer_,event_history);
483 
484  // get Phase of APV
485  edm::Handle<APVCyclePhaseCollection> apv_phase_collection;
486  iEvent.getByLabel(apvPhaseProducer_,apv_phase_collection);
487 
488  if (event_history.isValid()
489  && !event_history.failedToGet()
490  && apv_phase_collection.isValid()
491  && !apv_phase_collection.failedToGet()) {
492 
493 
494  long long tbx = event_history->absoluteBX();
495  float iOrbitSec = iEvent.orbitNumber()/11223.0;
496 
497  for (std::map<std::string, SubDetMEs>::iterator it = SubDetMEsMap.begin();
498  it != SubDetMEsMap.end(); it++) {
499 
500  SubDetMEs subdetmes;
501  std::string subdet = it->first;
502  subdetmes = it->second;
503 
504  int the_phase = APVCyclePhaseCollection::invalid;
505  long long tbx_corr = tbx;
506 
507  if (SubDetPhasePartMap.find(subdet) != SubDetPhasePartMap.end()) the_phase = apv_phase_collection->getPhase(SubDetPhasePartMap[subdet]);
508  if(the_phase==APVCyclePhaseCollection::nopartition ||
510  the_phase==APVCyclePhaseCollection::invalid) the_phase=30;
511  tbx_corr -= the_phase;
512 
513  if (subdetswitchtotdigiprofon)subdetmes.SubDetTotDigiProf->Fill(iOrbitSec,subdetmes.totNDigis);
514  if (subdetswitchapvcycleprofon)subdetmes.SubDetDigiApvProf->Fill(tbx_corr%70,subdetmes.totNDigis);
515  if (subdetswitchapvcycleth2on) subdetmes.SubDetDigiApvTH2->Fill(tbx_corr%70,subdetmes.totNDigis);
516  }
517  }
518 }//end of method analyze
int adc(sample_type sample)
get the ADC sample (12 bits)
RunNumber_t run() const
Definition: EventID.h:42
std::map< std::string, LayerMEs > LayerMEsMap
edm::InputTag historyProducer_
std::map< uint32_t, ModMEs > DigiMEs
#define NULL
Definition: scimark2.h:8
std::map< std::string, std::string > SubDetPhasePartMap
void Fill(long long x)
bool getStatus(edm::Event const &e, edm::EventSetup const &eSetup)
std::pair< std::string, std::string > getSubDetFolderAndTag(const uint32_t &detid)
SiStripDCSStatus * dcsStatus_
edm::ESHandle< SiStripDetCabling > SiStripDetCabling_
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
DigiFailureMEs digiFailureMEs
void fill(uint32_t &detid, float value)
Definition: TkHistoMap.cc:130
void fillME(MonitorElement *ME, float value1)
std::vector< const edm::DetSetVector< SiStripDigi > * > digi_detset_handles
int orbitNumber() const
Definition: EventBase.h:63
std::map< std::string, SubDetMEs > SubDetMEsMap
bool isValid() const
Definition: HandleBase.h:76
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:355
void fillTrend(MonitorElement *me, float value, float timeinorbit)
bool failedToGet() const
Definition: HandleBase.h:80
int getDigiSourceIndex(uint32_t id)
edm::InputTag apvPhaseProducer_
std::map< std::string, std::vector< uint32_t > > LayerDetMap
T const * product() const
Definition: Handle.h:74
std::vector< edm::InputTag > digiProducerList
edm::EventID id() const
Definition: EventBase.h:56
collection_type data
Definition: DetSet.h:77
SiStripFolderOrganizer folder_organizer
collection_type::const_iterator const_iterator
Definition: DetSet.h:32
void SiStripMonitorDigi::beginJob ( void  )
virtual

Reimplemented from edm::EDAnalyzer.

Definition at line 174 of file SiStripMonitorDigi.cc.

174  {
175 }
void SiStripMonitorDigi::beginLuminosityBlock ( const edm::LuminosityBlock lb,
const edm::EventSetup es 
)
virtual
void SiStripMonitorDigi::beginRun ( const edm::Run run,
const edm::EventSetup es 
)
virtual

Reimplemented from edm::EDAnalyzer.

Definition at line 122 of file SiStripMonitorDigi.cc.

References createMEs(), DigiMEs, edm::EventSetup::get(), m_cacheID_, reset_each_run, ResetModuleMEs(), and show_mechanical_structure_view.

122  {
123 
125  unsigned long long cacheID = es.get<SiStripDetCablingRcd>().cacheIdentifier();
126  if (m_cacheID_ != cacheID) {
127  m_cacheID_ = cacheID;
128  edm::LogInfo("SiStripMonitorDigi") <<"SiStripMonitorDigi::beginRun: "
129  << " Creating MEs for new Cabling ";
130  createMEs(es);
131  }
132  } else if (reset_each_run) {
133  edm::LogInfo("SiStripMonitorDigi") <<"SiStripMonitorDigi::beginRun: "
134  << " Resetting MEs ";
135  for (std::map<uint32_t, ModMEs >::const_iterator idet = DigiMEs.begin() ; idet!=DigiMEs.end() ; idet++) {
136  ResetModuleMEs(idet->first);
137  }
138  }
139 }
void ResetModuleMEs(uint32_t idet)
std::map< uint32_t, ModMEs > DigiMEs
unsigned long long m_cacheID_
const T & get() const
Definition: EventSetup.h:55
void createMEs(const edm::EventSetup &es)
void SiStripMonitorDigi::bookLayer ( )
private
MonitorElement * SiStripMonitorDigi::bookME1D ( const char *  ParameterSetLabel,
const char *  HistoName 
)
private

Definition at line 563 of file SiStripMonitorDigi.cc.

References DQMStore::book1D(), conf_, dqmStore_, and edm::ParameterSet::getParameter().

Referenced by createLayerMEs(), and createModuleMEs().

564 {
567  Parameters.getParameter<int32_t>("Nbinx"),
568  Parameters.getParameter<double>("xmin"),
569  Parameters.getParameter<double>("xmax")
570  );
571 }
T getParameter(std::string const &) const
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:514
vector< ParameterSet > Parameters
edm::ParameterSet conf_
std::string HistoName
MonitorElement * SiStripMonitorDigi::bookMETrend ( const char *  ParameterSetLabel,
const char *  HistoName 
)
private

Definition at line 542 of file SiStripMonitorDigi.cc.

References DQMStore::bookProfile(), conf_, MonitorElement::DQM_KIND_TPROFILE, dqmStore_, edm::ParameterSet::getParameter(), and MonitorElement::setAxisTitle().

Referenced by createLayerMEs().

543 {
544  edm::ParameterSet ParametersTrend = conf_.getParameter<edm::ParameterSet>("Trending");
546  ParametersTrend.getParameter<int32_t>("Nbins"),
547  // 0,
548  ParametersTrend.getParameter<double>("xmin"),
549  ParametersTrend.getParameter<double>("xmax"),
550  // ParametersTrend.getParameter<int32_t>("Nbins"),
551  100, //that parameter should not be there !?
552  ParametersTrend.getParameter<double>("ymin"),
553  ParametersTrend.getParameter<double>("ymax"),
554  "" );
555  if(!me) return me;
556 
557  me->setAxisTitle("Event Time in Seconds",1);
558  if (me->kind() == MonitorElement::DQM_KIND_TPROFILE) me->getTH1()->SetBit(TH1::kCanRebin);
559  return me;
560 }
T getParameter(std::string const &) const
MonitorElement * bookProfile(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, const char *option="s")
Definition: DQMStore.cc:828
edm::ParameterSet conf_
std::string HistoName
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
void SiStripMonitorDigi::bookTrendMEs ( TString  name,
int32_t  layer,
uint32_t  id,
std::string  flag 
)
private
void SiStripMonitorDigi::createLayerMEs ( std::string  label,
int  ndet 
)
private

Definition at line 645 of file SiStripMonitorDigi.cc.

References bookME1D(), bookMETrend(), DQMStore::bookProfile(), SiStripHistoId::createHistoLayer(), createTrendMEs, dqmStore_, label, SiStripMonitorDigi::LayerMEs::LayerADCsCoolestStrip, SiStripMonitorDigi::LayerMEs::LayerADCsCoolestStripTrend, SiStripMonitorDigi::LayerMEs::LayerADCsHottestStrip, SiStripMonitorDigi::LayerMEs::LayerADCsHottestStripTrend, SiStripMonitorDigi::LayerMEs::LayerDigiADCProfile, SiStripMonitorDigi::LayerMEs::LayerDigiADCs, SiStripMonitorDigi::LayerMEs::LayerDigiADCsTrend, LayerMEsMap, SiStripMonitorDigi::LayerMEs::LayerNumberOfDigis, SiStripMonitorDigi::LayerMEs::LayerNumberOfDigisProfile, SiStripMonitorDigi::LayerMEs::LayerNumberOfDigisTrend, SiStripMonitorDigi::LayerMEs::LayerStripOccupancy, SiStripMonitorDigi::LayerMEs::LayerStripOccupancyTrend, layerswitchadccooleston, layerswitchadchotteston, layerswitchdigiadcprofon, layerswitchdigiadcson, layerswitchnumdigison, layerswitchnumdigisprofon, and layerswitchstripoccupancyon.

Referenced by createMEs().

645  {
646 
647  std::map<std::string, LayerMEs>::iterator iLayerME = LayerMEsMap.find(label);
648  if(iLayerME==LayerMEsMap.end()){
649  SiStripHistoId hidmanager;
650  LayerMEs layerMEs;
651  layerMEs.LayerNumberOfDigis = 0;
652  layerMEs.LayerNumberOfDigisTrend = 0;
653  layerMEs.LayerADCsHottestStrip = 0;
654  layerMEs.LayerADCsHottestStripTrend = 0;
655  layerMEs.LayerADCsCoolestStrip = 0;
656  layerMEs.LayerADCsCoolestStripTrend = 0;
657  layerMEs.LayerDigiADCs = 0;
658  layerMEs.LayerDigiADCsTrend = 0;
659  layerMEs.LayerStripOccupancy = 0;
660  layerMEs.LayerStripOccupancyTrend = 0;
661  layerMEs.LayerNumberOfDigisProfile = 0;
662  layerMEs.LayerDigiADCProfile = 0;
663 
664 
665  //#Digis
667  layerMEs.LayerNumberOfDigis=bookME1D("TH1NumberOfDigis", hidmanager.createHistoLayer("Summary_TotalNumberOfDigis","layer",label,"").c_str());
668  if (createTrendMEs) layerMEs.LayerNumberOfDigisTrend=bookMETrend("TH1NumberOfDigis", hidmanager.createHistoLayer("Trend_NumberOfDigis","layer",label,"").c_str());
669  }
670 
671  //#ADCs for hottest strip
673  layerMEs.LayerADCsHottestStrip=bookME1D("TH1ADCsHottestStrip", hidmanager.createHistoLayer("Summary_ADCsHottestStrip","layer",label,"").c_str());
674  if (createTrendMEs) layerMEs.LayerADCsHottestStripTrend=bookMETrend("TH1ADCsHottestStrip", hidmanager.createHistoLayer("Trend_ADCsHottestStrip","layer",label,"").c_str());
675  }
676 
677  //#ADCs for coolest strip
679  layerMEs.LayerADCsCoolestStrip=bookME1D("TH1ADCsCoolestStrip", hidmanager.createHistoLayer("Summary_ADCsCoolestStrip","layer",label,"").c_str());
680  if (createTrendMEs) layerMEs.LayerADCsCoolestStripTrend=bookMETrend("TH1ADCsCoolestStrip", hidmanager.createHistoLayer("Trend_ADCsCoolestStrip","layer",label,"").c_str());
681  }
682 
683  //#ADCs for each digi
685  layerMEs.LayerDigiADCs=bookME1D("TH1DigiADCs", hidmanager.createHistoLayer("Summary_DigiADCs","layer",label,"").c_str());
686  if (createTrendMEs) layerMEs.LayerDigiADCsTrend=bookMETrend("TH1DigiADCs", hidmanager.createHistoLayer("Trend_DigiADCs","layer",label,"").c_str());
687  }
688 
689  //Strip Occupancy
691  layerMEs.LayerStripOccupancy=bookME1D("TH1StripOccupancy", hidmanager.createHistoLayer("Summary_StripOccupancy","layer",label,"").c_str());
692  if (createTrendMEs) layerMEs.LayerStripOccupancyTrend=bookMETrend("TH1StripOccupancy", hidmanager.createHistoLayer("Trend_StripOccupancy","layer",label,"").c_str());
693 
694  }
695  // # of Digis
697  std::string hid = hidmanager.createHistoLayer("NumberOfDigiProfile","layer",label,"");
698  layerMEs.LayerNumberOfDigisProfile = dqmStore_->bookProfile(hid, hid, ndets, 0.5, ndets+0.5,21, -0.5, 200.5);
699  }
700 
701  // # of Digis
703  std::string hid = hidmanager.createHistoLayer("DigiADCProfile","layer",label,"");
704  layerMEs.LayerDigiADCProfile = dqmStore_->bookProfile(hid, hid, ndets, 0.5, ndets+0.5, 64, -0.5, 255.5);
705  }
706 
707  LayerMEsMap[label]=layerMEs;
708  }
709 }
std::map< std::string, LayerMEs > LayerMEsMap
const std::string & label
Definition: MVAComputer.cc:186
MonitorElement * bookMETrend(const char *ParameterSetLabel, const char *HistoName)
MonitorElement * bookProfile(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, const char *option="s")
Definition: DQMStore.cc:828
std::string createHistoLayer(std::string description, std::string id_type, std::string path, std::string flag)
MonitorElement * bookME1D(const char *ParameterSetLabel, const char *HistoName)
void SiStripMonitorDigi::createMEs ( const edm::EventSetup es)
private

Definition at line 179 of file SiStripMonitorDigi.cc.

References abs, SiStripMonitorDigi::ModMEs::ADCsCoolestStrip, SiStripMonitorDigi::ModMEs::ADCsHottestStrip, DQMStore::book2D(), DQMStore::bookProfile(), conf_, createLayerMEs(), createModuleMEs(), createSubDetMEs(), cond::rpcobgas::detid, SiStripMonitorDigi::ModMEs::DigiADCs, digiFailureMEs, DigiMEs, digitkhistomapon, dqmStore_, folder_organizer, edm::EventSetup::get(), SiStripFolderOrganizer::getLayerFolderName(), edm::ParameterSet::getParameter(), SiStripFolderOrganizer::GetSubDetAndLayer(), SiStripFolderOrganizer::getSubDetFolderAndTag(), SiStripHistoId::getSubdetid(), SiStripSubStructure::getTECDetectors(), SiStripSubStructure::getTIBDetectors(), SiStripSubStructure::getTIDDetectors(), SiStripSubStructure::getTOBDetectors(), label, LayerDetMap, LayerMEsMap, Mod_On_, SiStripMonitorDigi::ModMEs::NumberOfDigis, SiStripMonitorDigi::ModMEs::NumberOfDigisPerStrip, reset_each_run, ResetModuleMEs(), MonitorElement::setBinLabel(), DQMStore::setCurrentFolder(), SiStripFolderOrganizer::setDetectorFolder(), SiStripFolderOrganizer::setLayerFolder(), show_mechanical_structure_view, SiStripDetCabling_, SiStripMonitorDigi::ModMEs::StripOccupancy, SiStripMonitorDigi::DigiFailureMEs::SubDetDigiFailures, SubDetMEsMap, subdetswitchtotdigifailureon, subdetswitchtotdigiproflson, SiStripMonitorDigi::DigiFailureMEs::SubDetTotDigiProfLS, and tkmapdigi.

Referenced by beginRun().

179  {
180 
182  // take from eventSetup the SiStripDetCabling object - here will use SiStripDetControl later on
184 
185  // get list of active detectors from SiStripDetCabling
186  std::vector<uint32_t> activeDets;
187  activeDets.clear(); // just in case
188  SiStripDetCabling_->addActiveDetectorsRawIds(activeDets);
189 
190  SiStripSubStructure substructure;
191 
192  // remove any eventual zero elements - there should be none, but just in case
193  for(std::vector<uint32_t>::iterator idets = activeDets.begin(); idets != activeDets.end(); idets++){
194  if(*idets == 0) activeDets.erase(idets);
195  }
196 
197  // create SiStripFolderOrganizer
199 
200  // Create TkHistoMap for Digi
201  if (digitkhistomapon) tkmapdigi = new TkHistoMap("SiStrip/TkHisto","TkHMap_NumberOfDigi",0.0,1);
202 
203  std::vector<uint32_t> tibDetIds;
204  // loop over detectors and book MEs
205  edm::LogInfo("SiStripTkDQM|SiStripMonitorDigi")<<"nr. of activeDets: "<<activeDets.size();
206  for(std::vector<uint32_t>::const_iterator detid_iterator = activeDets.begin(); detid_iterator!=activeDets.end(); detid_iterator++){
207 
208  uint32_t detid = (*detid_iterator);
209 
210  ModMEs local_modmes;
211  local_modmes.NumberOfDigis = 0;
212  local_modmes.NumberOfDigisPerStrip = 0;
213  local_modmes.ADCsHottestStrip = 0;
214  local_modmes.ADCsCoolestStrip = 0;
215  local_modmes.DigiADCs = 0;
216  local_modmes.StripOccupancy = 0;
217 
218  if (Mod_On_) {
219  // set appropriate folder using SiStripFolderOrganizer
220  folder_organizer.setDetectorFolder(detid); // pass the detid to this method
221  if (reset_each_run) ResetModuleMEs(detid);
222  createModuleMEs(local_modmes, detid);
223  // append to DigiMEs
224  DigiMEs.insert( std::make_pair(detid, local_modmes));
225  }
226 
227  // Create Layer Level MEs if they are not created already
228  std::pair<std::string,int32_t> det_layer_pair = folder_organizer.GetSubDetAndLayer(detid);
229  SiStripHistoId hidmanager;
230  std::string label = hidmanager.getSubdetid(detid,false);
231 
232  // get detids for the layer
233  std::map<std::string, LayerMEs>::iterator iLayerME = LayerMEsMap.find(label);
234  if(iLayerME==LayerMEsMap.end()) {
235  int32_t lnumber = det_layer_pair.second;
236  std::vector<uint32_t> layerDetIds;
237  if (det_layer_pair.first == "TIB") {
238  substructure.getTIBDetectors(activeDets,layerDetIds,lnumber,0,0,0);
239  } else if (det_layer_pair.first == "TOB") {
240  substructure.getTOBDetectors(activeDets,layerDetIds,lnumber,0,0);
241  } else if (det_layer_pair.first == "TID" && lnumber > 0) {
242  substructure.getTIDDetectors(activeDets,layerDetIds,2,abs(lnumber),0,0);
243  } else if (det_layer_pair.first == "TID" && lnumber < 0) {
244  substructure.getTIDDetectors(activeDets,layerDetIds,1,abs(lnumber),0,0);
245  } else if (det_layer_pair.first == "TEC" && lnumber > 0) {
246  substructure.getTECDetectors(activeDets,layerDetIds,2,abs(lnumber),0,0,0,0);
247  } else if (det_layer_pair.first == "TEC" && lnumber < 0) {
248  substructure.getTECDetectors(activeDets,layerDetIds,1,abs(lnumber),0,0,0,0);
249  }
250 
251  LayerDetMap[label] = layerDetIds;
252 
253  // book Layer plots
254  folder_organizer.setLayerFolder(detid,det_layer_pair.second);
255  createLayerMEs(label, layerDetIds.size());
256  }
257 
258  // book sub-detector plots
259  std::pair<std::string,std::string> sdet_pair = folder_organizer.getSubDetFolderAndTag(detid);
260  if (SubDetMEsMap.find(sdet_pair.second) == SubDetMEsMap.end()){
261  dqmStore_->setCurrentFolder(sdet_pair.first);
262  createSubDetMEs(sdet_pair.second);
263  }
264 
265  }//end of loop over detectors
266  //
267  // Book new histogram to monitor digi in last LS
268  //
271  std::stringstream ss;
272  folder_organizer.getLayerFolderName(ss, 0);
273  dqmStore_->setCurrentFolder(ss.str().c_str());
275  const char* HistoName = "NumberOfDigisInLastLS";
277  6,0.5,6.5,
278  100, 0., 10000., "" );
279  digiFailureMEs.SubDetTotDigiProfLS->setBinLabel(1, std::string("TECB"));
280  digiFailureMEs.SubDetTotDigiProfLS->setBinLabel(2, std::string("TECF"));
281  digiFailureMEs.SubDetTotDigiProfLS->setBinLabel(3, std::string("TIB"));
282  digiFailureMEs.SubDetTotDigiProfLS->setBinLabel(4, std::string("TIDB"));
283  digiFailureMEs.SubDetTotDigiProfLS->setBinLabel(5, std::string("TIDF"));
284  digiFailureMEs.SubDetTotDigiProfLS->setBinLabel(6, std::string("TOB"));
285  }
286 
288  edm::ParameterSet Parameters = conf_.getParameter<edm::ParameterSet>("TotalNumberOfDigisFailure");
289  std::string HistoName = "DataPresentInLastLS";
290  digiFailureMEs.SubDetDigiFailures = dqmStore_->book2D(HistoName,HistoName,
291  Parameters.getParameter<int32_t>("Nbins"),
292  Parameters.getParameter<double>("xmin"),
293  Parameters.getParameter<double>("xmax"),
294  Parameters.getParameter<int32_t>("Nbinsy"),
295  Parameters.getParameter<double>("ymin"),
296  Parameters.getParameter<double>("ymax"));
297  digiFailureMEs.SubDetDigiFailures->setBinLabel(1, std::string("TECB"));
298  digiFailureMEs.SubDetDigiFailures->setBinLabel(2, std::string("TECF"));
299  digiFailureMEs.SubDetDigiFailures->setBinLabel(3, std::string("TIB"));
300  digiFailureMEs.SubDetDigiFailures->setBinLabel(4, std::string("TIDB"));
301  digiFailureMEs.SubDetDigiFailures->setBinLabel(5, std::string("TIDF"));
302  digiFailureMEs.SubDetDigiFailures->setBinLabel(6, std::string("TOB"));
303  }
304  }//end of if
305 
306 }//end of method
void ResetModuleMEs(uint32_t idet)
void createSubDetMEs(std::string label)
T getParameter(std::string const &) const
std::map< std::string, LayerMEs > LayerMEsMap
const std::string & label
Definition: MVAComputer.cc:186
void createModuleMEs(ModMEs &mod_single, uint32_t detid)
void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
#define abs(x)
Definition: mlp_lapack.h:159
std::map< uint32_t, ModMEs > DigiMEs
std::string getSubdetid(uint32_t id, bool flag_ring)
std::pair< std::string, std::string > getSubDetFolderAndTag(const uint32_t &detid)
edm::ESHandle< SiStripDetCabling > SiStripDetCabling_
void getTOBDetectors(const std::vector< uint32_t > &inputDetRawIds, std::vector< uint32_t > &tobDetRawIds, uint32_t layer=0, uint32_t bkw_frw=0, uint32_t rod=0) const
DigiFailureMEs digiFailureMEs
void createLayerMEs(std::string label, int ndet)
void getLayerFolderName(std::stringstream &ss, uint32_t rawdetid, bool ring_flag=0)
MonitorElement * bookProfile(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, const char *option="s")
Definition: DQMStore.cc:828
void setDetectorFolder(uint32_t rawdetid=0)
std::map< std::string, SubDetMEs > SubDetMEsMap
vector< ParameterSet > Parameters
std::map< std::string, std::vector< uint32_t > > LayerDetMap
const T & get() const
Definition: EventSetup.h:55
edm::ParameterSet conf_
std::string HistoName
void getTECDetectors(const std::vector< uint32_t > &inputDetRawIds, std::vector< uint32_t > &tecDetRawIds, uint32_t side=0, uint32_t wheel=0, uint32_t petal_bkw_frw=0, uint32_t petal=0, uint32_t ring=0, uint32_t ster=0) const
void getTIBDetectors(const std::vector< uint32_t > &inputDetRawIds, std::vector< uint32_t > &tibDetRawIds, uint32_t layer=0, uint32_t bkw_frw=0, uint32_t int_ext=0, uint32_t string=0) const
std::pair< std::string, int32_t > GetSubDetAndLayer(const uint32_t &detid, bool ring_flag=0)
SiStripFolderOrganizer folder_organizer
void getTIDDetectors(const std::vector< uint32_t > &inputDetRawIds, std::vector< uint32_t > &tidDetRawIds, uint32_t side=0, uint32_t wheel=0, uint32_t ring=0, uint32_t ster=0) const
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
void setLayerFolder(uint32_t rawdetid=0, int32_t layer=0, bool ring_flag=0)
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:232
void SiStripMonitorDigi::createModuleMEs ( ModMEs mod_single,
uint32_t  detid 
)
private

Definition at line 583 of file SiStripMonitorDigi.cc.

References SiStripMonitorDigi::ModMEs::ADCsCoolestStrip, SiStripMonitorDigi::ModMEs::ADCsHottestStrip, DQMStore::book1D(), bookME1D(), SiStripHistoId::createHistoId(), SiStripMonitorDigi::ModMEs::DigiADCs, dqmStore_, MonitorElement::getTH1(), moduleswitchadccooleston, moduleswitchadchotteston, moduleswitchdigiadcson, moduleswitchnumdigison, moduleswitchnumdigispstripon, moduleswitchstripoccupancyon, SiStripMonitorDigi::ModMEs::NumberOfDigis, SiStripMonitorDigi::ModMEs::NumberOfDigisPerStrip, MonitorElement::setAxisTitle(), SiStripDetCabling_, SiStripMonitorDigi::ModMEs::StripOccupancy, and DQMStore::tag().

Referenced by createMEs().

583  {
584 
585  // use SistripHistoId for producing histogram id (and title)
586  SiStripHistoId hidmanager;
587  std::string hid;
588 
589  //nr. of digis per module
591  hid = hidmanager.createHistoId("NumberOfDigis","det",detid);
592  mod_single.NumberOfDigis = dqmStore_->book1D(hid, hid, 21, -0.5, 20.5);
593  dqmStore_->tag(mod_single.NumberOfDigis, detid);
594  mod_single.NumberOfDigis->setAxisTitle("number of digis in one detector module");
595  mod_single.NumberOfDigis->getTH1()->StatOverflows(kTRUE); // over/underflows in Mean calculation
596  }
597 
598  //nr. of digis per strip in module
600  hid = hidmanager.createHistoId("NumberOfDigisPerStrip","det",detid);
601  short nstrips = SiStripDetCabling_->nApvPairs(detid) * 2 * 128;
602  mod_single.NumberOfDigisPerStrip = dqmStore_->book1D(hid, hid, nstrips, -0.5, nstrips+0.5);
603  dqmStore_->tag(mod_single.NumberOfDigisPerStrip, detid);
604  mod_single.NumberOfDigisPerStrip->setAxisTitle("number of (digis > 0) per strip");
605  mod_single.NumberOfDigisPerStrip->getTH1()->StatOverflows(kTRUE); // over/underflows in Mean calculation
606  }
607  //#ADCs for hottest strip
609  hid = hidmanager.createHistoId("ADCsHottestStrip","det",detid);
610  mod_single.ADCsHottestStrip = bookME1D("TH1ADCsHottestStrip", hid.c_str());
611  dqmStore_->tag(mod_single.ADCsHottestStrip, detid); // 6 APVs -> 768 strips
612  mod_single.ADCsHottestStrip->setAxisTitle("number of ADCs for hottest strip");
613  }
614 
615  //#ADCs for coolest strip
617  hid = hidmanager.createHistoId("ADCsCoolestStrip","det",detid);
618  mod_single.ADCsCoolestStrip = bookME1D("TH1ADCsCoolestStrip", hid.c_str());
619  dqmStore_->tag(mod_single.ADCsCoolestStrip, detid);
620  mod_single.ADCsCoolestStrip->setAxisTitle("number of ADCs for coolest strip");
621  }
622 
623  //#ADCs for each digi
625  hid = hidmanager.createHistoId("DigiADCs","det",detid);
626  mod_single.DigiADCs = bookME1D("TH1DigiADCs", hid.c_str());
627  dqmStore_->tag(mod_single.DigiADCs, detid);
628  mod_single.DigiADCs->setAxisTitle("number of ADCs for each digi");
629  }
630 
631  //Strip occupancy
633  hid = hidmanager.createHistoId("StripOccupancy","det",detid);
634  mod_single.StripOccupancy = bookME1D("TH1StripOccupancy", hid.c_str());
635  dqmStore_->tag(mod_single.StripOccupancy, detid);
636  mod_single.StripOccupancy->setAxisTitle("strip occupancy");
637  }
638 
639 }
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:514
void tag(MonitorElement *me, unsigned int myTag)
Definition: DQMStore.cc:1151
edm::ESHandle< SiStripDetCabling > SiStripDetCabling_
std::string createHistoId(std::string description, std::string id_type, uint32_t component_id)
MonitorElement * bookME1D(const char *ParameterSetLabel, const char *HistoName)
void SiStripMonitorDigi::createSubDetMEs ( std::string  label)
private

Definition at line 713 of file SiStripMonitorDigi.cc.

References DQMStore::book2D(), DQMStore::bookProfile(), conf_, MonitorElement::DQM_KIND_TPROFILE, dqmStore_, edm::ParameterSet::getParameter(), MonitorElement::getTH1(), MonitorElement::kind(), label, MonitorElement::setAxisTitle(), DQMStore::setCurrentFolder(), SiStripMonitorDigi::SubDetMEs::SubDetDigiApvProf, SiStripMonitorDigi::SubDetMEs::SubDetDigiApvTH2, SubDetMEsMap, subdetswitchapvcycleprofon, subdetswitchapvcycleth2on, subdetswitchtotdigiprofon, SiStripMonitorDigi::SubDetMEs::SubDetTotDigiProf, and SiStripMonitorDigi::SubDetMEs::totNDigis.

Referenced by createMEs().

713  {
714 
715  SubDetMEs subdetMEs;
716  subdetMEs.totNDigis = 0;
717  subdetMEs.SubDetTotDigiProf = 0;
718  subdetMEs.SubDetDigiApvProf = 0;
719  subdetMEs.SubDetDigiApvTH2 = 0;
720 
721  std::string HistoName;
722 
723  // Total Number of Digi - Profile
725  edm::ParameterSet Parameters = conf_.getParameter<edm::ParameterSet>("TProfTotalNumberOfDigis");
726  HistoName = "TotalNumberOfDigiProfile__" + label;
727  subdetMEs.SubDetTotDigiProf=dqmStore_->bookProfile(HistoName,HistoName,
728  Parameters.getParameter<int32_t>("Nbins"),
729  Parameters.getParameter<double>("xmin"),
730  Parameters.getParameter<double>("xmax"),
731  100, //that parameter should not be there !?
732  Parameters.getParameter<double>("ymin"),
733  Parameters.getParameter<double>("ymax"),
734  "" );
735  subdetMEs.SubDetTotDigiProf->setAxisTitle("Event Time in Seconds",1);
736  if (subdetMEs.SubDetTotDigiProf->kind() == MonitorElement::DQM_KIND_TPROFILE) subdetMEs.SubDetTotDigiProf->getTH1()->SetBit(TH1::kCanRebin);
737  }
738 
739  // Number of Digi vs Bx - Profile
741  edm::ParameterSet Parameters = conf_.getParameter<edm::ParameterSet>("TProfDigiApvCycle");
742  HistoName = "Digi_vs_ApvCycle__" + label;
743  subdetMEs.SubDetDigiApvProf=dqmStore_->bookProfile(HistoName,HistoName,
744  Parameters.getParameter<int32_t>("Nbins"),
745  Parameters.getParameter<double>("xmin"),
746  Parameters.getParameter<double>("xmax"),
747  200, //that parameter should not be there !?
748  Parameters.getParameter<double>("ymin"),
749  Parameters.getParameter<double>("ymax"),
750  "" );
751  subdetMEs.SubDetDigiApvProf->setAxisTitle("ApvCycle (Corrected Absolute Bx % 70)",1);
752  }
753 
754  // Number of Digi vs Bx - TH2
756  edm::ParameterSet Parameters = conf_.getParameter<edm::ParameterSet>("TH2DigiApvCycle");
757  dqmStore_->setCurrentFolder("SiStrip/MechanicalView/"+label);
758  HistoName = "Digi_vs_ApvCycle_2D__" + label;
759  // Adjusting the scale for 2D histogram
760  double h2ymax = 9999.0;
761  double yfact = Parameters.getParameter<double>("yfactor");
762  if(label.find("TIB") != std::string::npos) h2ymax = (6984.*256.)*yfact;
763  else if (label.find("TID") != std::string::npos) h2ymax = (2208.*256.)*yfact;
764  else if (label.find("TOB") != std::string::npos) h2ymax = (12906.*256.)*yfact;
765  else if (label.find("TEC") != std::string::npos) h2ymax = (7552.*2.*256.)*yfact;
766  subdetMEs.SubDetDigiApvTH2=dqmStore_->book2D(HistoName,HistoName,
767  Parameters.getParameter<int32_t>("Nbins"),
768  Parameters.getParameter<double>("xmin"),
769  Parameters.getParameter<double>("xmax"),
770  Parameters.getParameter<int32_t>("Nbinsy"), //it was 100 that parameter should not be there !?
771  Parameters.getParameter<double>("ymin"),
772  h2ymax);
773  subdetMEs.SubDetDigiApvTH2->setAxisTitle("absolute Bx mod(70)",1);
774  }
775  SubDetMEsMap[label]=subdetMEs;
776 }
T getParameter(std::string const &) const
const std::string & label
Definition: MVAComputer.cc:186
MonitorElement * bookProfile(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, const char *option="s")
Definition: DQMStore.cc:828
std::map< std::string, SubDetMEs > SubDetMEsMap
vector< ParameterSet > Parameters
edm::ParameterSet conf_
std::string HistoName
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
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
void SiStripMonitorDigi::createSubDetTH2 ( std::string  label)
private
void SiStripMonitorDigi::endJob ( void  )
virtual

Reimplemented from edm::EDAnalyzer.

Definition at line 520 of file SiStripMonitorDigi.cc.

References conf_, dqmStore_, edm::ParameterSet::getParameter(), dumpDBToFile_GT_ttrig_cfg::outputFileName, and DQMStore::save().

520  {
521  bool outputMEsInRootFile = conf_.getParameter<bool>("OutputMEsInRootFile");
522  std::string outputFileName = conf_.getParameter<std::string>("OutputFileName");
523 
524  // save histograms in a file
525  if(outputMEsInRootFile) dqmStore_->save(outputFileName);
526 
527 }//end of method
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_
void SiStripMonitorDigi::endLuminosityBlock ( const edm::LuminosityBlock lb,
const edm::EventSetup es 
)
virtual

Reimplemented from edm::EDAnalyzer.

Definition at line 155 of file SiStripMonitorDigi.cc.

References digiFailureMEs, dqmStore_, HcalObjRepresent::Fill(), DQMStore::get(), MonitorElement::getBinContent(), edm::LuminosityBlockBase::id(), edm::LuminosityBlockID::luminosityBlock(), MonitorElement::Reset(), SiStripMonitorDigi::DigiFailureMEs::SubDetDigiFailures, subdetswitchtotdigifailureon, relativeConstraints::value, and xLumiProf.

155  {
156  if(lb.id().luminosityBlock() % xLumiProf == 0){
159  MonitorElement * me = dqmStore_->get("SiStrip/MechanicalView/NumberOfDigisInLastLS");
160  if (me){
161  for (int ibin = 1; ibin<7;ibin++){
162  float value = me->getBinContent(ibin);
163  if (value < 50.){
165  }else{
167  }
168  }
169  }
170  }
171  }
172 }
LuminosityBlockID id() const
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
DigiFailureMEs digiFailureMEs
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
LuminosityBlockNumber_t luminosityBlock() const
double getBinContent(int binx) const
get content of bin (1-D)
void Reset(void)
reset ME (ie. contents, errors, etc)
void SiStripMonitorDigi::endRun ( const edm::Run ,
const edm::EventSetup  
)
virtual

Reimplemented from edm::EDAnalyzer.

Definition at line 142 of file SiStripMonitorDigi.cc.

142  {
143 }
void SiStripMonitorDigi::fillDigiADCsMEs ( int  value,
std::string  name 
)
private
void SiStripMonitorDigi::fillME ( MonitorElement ME,
float  value1 
)
inlineprivate

Definition at line 86 of file SiStripMonitorDigi.h.

References MonitorElement::Fill().

Referenced by analyze().

86 {if (ME!=0)ME->Fill(value1);}
void Fill(long long x)
void SiStripMonitorDigi::fillME ( MonitorElement ME,
float  value1,
float  value2 
)
inlineprivate

Definition at line 87 of file SiStripMonitorDigi.h.

References MonitorElement::Fill().

87 {if (ME!=0)ME->Fill(value1,value2);}
void Fill(long long x)
void SiStripMonitorDigi::fillME ( MonitorElement ME,
float  value1,
float  value2,
float  value3 
)
inlineprivate

Definition at line 88 of file SiStripMonitorDigi.h.

References MonitorElement::Fill().

88 {if (ME!=0)ME->Fill(value1,value2,value3);}
void Fill(long long x)
void SiStripMonitorDigi::fillME ( MonitorElement ME,
float  value1,
float  value2,
float  value3,
float  value4 
)
inlineprivate

Definition at line 89 of file SiStripMonitorDigi.h.

References MonitorElement::Fill().

89 {if (ME!=0)ME->Fill(value1,value2,value3,value4);}
void Fill(long long x)
void SiStripMonitorDigi::fillTrend ( MonitorElement me,
float  value,
float  timeinorbit 
)
private

Definition at line 574 of file SiStripMonitorDigi.cc.

References MonitorElement::Fill().

Referenced by analyze().

575 {
576  if(!me) return;
577  me->Fill(timeinorbit,value);
578 }
void Fill(long long x)
int SiStripMonitorDigi::getDigiSourceIndex ( uint32_t  id)
private

Definition at line 780 of file SiStripMonitorDigi.cc.

References digi_detset_handles, and end.

Referenced by analyze().

780  {
781  int location = -1;
782  for (unsigned int ival = 0; ival < digi_detset_handles.size(); ++ival){
784  if(isearch != digi_detset_handles[ival]->end()) {
785  location = ival;
786  break;
787  }
788  }
789  return location;
790 }
std::vector< const edm::DetSetVector< SiStripDigi > * > digi_detset_handles
#define end
Definition: vmac.h:38
collection_type::const_iterator const_iterator
Definition: DetSetVector.h:106
void SiStripMonitorDigi::ResetModuleMEs ( uint32_t  idet)
private

Definition at line 529 of file SiStripMonitorDigi.cc.

References SiStripMonitorDigi::ModMEs::ADCsCoolestStrip, SiStripMonitorDigi::ModMEs::ADCsHottestStrip, SiStripMonitorDigi::ModMEs::DigiADCs, DigiMEs, Mod_On_, moduleswitchadccooleston, moduleswitchadchotteston, moduleswitchdigiadcson, moduleswitchnumdigison, moduleswitchnumdigispstripon, moduleswitchstripoccupancyon, SiStripMonitorDigi::ModMEs::NumberOfDigis, SiStripMonitorDigi::ModMEs::NumberOfDigisPerStrip, pos, MonitorElement::Reset(), and SiStripMonitorDigi::ModMEs::StripOccupancy.

Referenced by beginRun(), and createMEs().

529  {
530  std::map<uint32_t, ModMEs >::iterator pos = DigiMEs.find(idet);
531  ModMEs mod_me = pos->second;
532 
533  if(Mod_On_ && moduleswitchnumdigison) mod_me.NumberOfDigis->Reset();
534  if(Mod_On_ && moduleswitchnumdigispstripon) mod_me.NumberOfDigisPerStrip ->Reset();
535  if(Mod_On_ && moduleswitchadchotteston) mod_me.ADCsHottestStrip->Reset();
536  if(Mod_On_ && moduleswitchadccooleston) mod_me.ADCsCoolestStrip->Reset();
537  if(Mod_On_ && moduleswitchdigiadcson) mod_me.DigiADCs->Reset();
538  if(Mod_On_ && moduleswitchstripoccupancyon) mod_me.StripOccupancy->Reset();
539 
540 }
std::map< uint32_t, ModMEs > DigiMEs

Member Data Documentation

edm::InputTag SiStripMonitorDigi::apvPhaseProducer_
private

Definition at line 157 of file SiStripMonitorDigi.h.

Referenced by analyze(), and SiStripMonitorDigi().

bool SiStripMonitorDigi::calculate_strip_occupancy
private

Definition at line 103 of file SiStripMonitorDigi.h.

edm::ParameterSet SiStripMonitorDigi::conf_
private
bool SiStripMonitorDigi::createTrendMEs
private

Definition at line 153 of file SiStripMonitorDigi.h.

Referenced by analyze(), createLayerMEs(), and SiStripMonitorDigi().

SiStripDCSStatus* SiStripMonitorDigi::dcsStatus_
private

Definition at line 159 of file SiStripMonitorDigi.h.

Referenced by analyze(), SiStripMonitorDigi(), and ~SiStripMonitorDigi().

std::map<std::pair<std::string,int32_t>,bool> SiStripMonitorDigi::DetectedLayers
private

Definition at line 113 of file SiStripMonitorDigi.h.

std::vector<const edm::DetSetVector<SiStripDigi> *> SiStripMonitorDigi::digi_detset_handles
private

Definition at line 114 of file SiStripMonitorDigi.h.

Referenced by analyze(), and getDigiSourceIndex().

DigiFailureMEs SiStripMonitorDigi::digiFailureMEs
private

Definition at line 109 of file SiStripMonitorDigi.h.

Referenced by analyze(), beginLuminosityBlock(), createMEs(), and endLuminosityBlock().

std::map<uint32_t, ModMEs> SiStripMonitorDigi::DigiMEs
private

Definition at line 102 of file SiStripMonitorDigi.h.

Referenced by analyze(), beginRun(), createMEs(), and ResetModuleMEs().

std::vector<edm::InputTag> SiStripMonitorDigi::digiProducerList
private

Definition at line 101 of file SiStripMonitorDigi.h.

Referenced by analyze(), and SiStripMonitorDigi().

bool SiStripMonitorDigi::digitkhistomapon
private

Definition at line 152 of file SiStripMonitorDigi.h.

Referenced by analyze(), createMEs(), and SiStripMonitorDigi().

DQMStore* SiStripMonitorDigi::dqmStore_
private
int SiStripMonitorDigi::eventNb
private

Definition at line 122 of file SiStripMonitorDigi.h.

Referenced by analyze(), and SiStripMonitorDigi().

int SiStripMonitorDigi::firstEvent
private

Definition at line 123 of file SiStripMonitorDigi.h.

Referenced by SiStripMonitorDigi().

SiStripFolderOrganizer SiStripMonitorDigi::folder_organizer
private

Definition at line 112 of file SiStripMonitorDigi.h.

Referenced by analyze(), and createMEs().

edm::InputTag SiStripMonitorDigi::historyProducer_
private

Definition at line 156 of file SiStripMonitorDigi.h.

Referenced by analyze(), and SiStripMonitorDigi().

std::map<std::string, std::vector< uint32_t > > SiStripMonitorDigi::LayerDetMap
private

Definition at line 105 of file SiStripMonitorDigi.h.

Referenced by analyze(), and createMEs().

std::map<std::string, LayerMEs> SiStripMonitorDigi::LayerMEsMap
private

Definition at line 106 of file SiStripMonitorDigi.h.

Referenced by analyze(), createLayerMEs(), and createMEs().

bool SiStripMonitorDigi::layerswitchadccooleston
private

Definition at line 128 of file SiStripMonitorDigi.h.

Referenced by analyze(), createLayerMEs(), and SiStripMonitorDigi().

bool SiStripMonitorDigi::layerswitchadchotteston
private

Definition at line 127 of file SiStripMonitorDigi.h.

Referenced by analyze(), createLayerMEs(), and SiStripMonitorDigi().

bool SiStripMonitorDigi::layerswitchdigiadcprofon
private

Definition at line 132 of file SiStripMonitorDigi.h.

Referenced by analyze(), createLayerMEs(), and SiStripMonitorDigi().

bool SiStripMonitorDigi::layerswitchdigiadcson
private

Definition at line 129 of file SiStripMonitorDigi.h.

Referenced by analyze(), createLayerMEs(), and SiStripMonitorDigi().

bool SiStripMonitorDigi::layerswitchnumdigisapvon
private

Definition at line 126 of file SiStripMonitorDigi.h.

bool SiStripMonitorDigi::layerswitchnumdigison
private

Definition at line 125 of file SiStripMonitorDigi.h.

Referenced by analyze(), createLayerMEs(), and SiStripMonitorDigi().

bool SiStripMonitorDigi::layerswitchnumdigisprofon
private

Definition at line 131 of file SiStripMonitorDigi.h.

Referenced by analyze(), createLayerMEs(), and SiStripMonitorDigi().

bool SiStripMonitorDigi::layerswitchstripoccupancyon
private

Definition at line 130 of file SiStripMonitorDigi.h.

Referenced by analyze(), createLayerMEs(), and SiStripMonitorDigi().

unsigned long long SiStripMonitorDigi::m_cacheID_
private

Definition at line 116 of file SiStripMonitorDigi.h.

Referenced by beginRun().

bool SiStripMonitorDigi::Mod_On_
private

Definition at line 150 of file SiStripMonitorDigi.h.

Referenced by analyze(), createMEs(), ResetModuleMEs(), and SiStripMonitorDigi().

std::vector<uint32_t> SiStripMonitorDigi::ModulesToBeExcluded_
private

Definition at line 118 of file SiStripMonitorDigi.h.

bool SiStripMonitorDigi::moduleswitchadccooleston
private

Definition at line 137 of file SiStripMonitorDigi.h.

Referenced by analyze(), createModuleMEs(), ResetModuleMEs(), and SiStripMonitorDigi().

bool SiStripMonitorDigi::moduleswitchadchotteston
private

Definition at line 136 of file SiStripMonitorDigi.h.

Referenced by analyze(), createModuleMEs(), ResetModuleMEs(), and SiStripMonitorDigi().

bool SiStripMonitorDigi::moduleswitchdigiadcson
private

Definition at line 138 of file SiStripMonitorDigi.h.

Referenced by analyze(), createModuleMEs(), ResetModuleMEs(), and SiStripMonitorDigi().

bool SiStripMonitorDigi::moduleswitchnumdigison
private

Definition at line 134 of file SiStripMonitorDigi.h.

Referenced by analyze(), createModuleMEs(), ResetModuleMEs(), and SiStripMonitorDigi().

bool SiStripMonitorDigi::moduleswitchnumdigispstripon
private

Definition at line 135 of file SiStripMonitorDigi.h.

Referenced by analyze(), createModuleMEs(), ResetModuleMEs(), and SiStripMonitorDigi().

bool SiStripMonitorDigi::moduleswitchstripoccupancyon
private

Definition at line 139 of file SiStripMonitorDigi.h.

Referenced by analyze(), createModuleMEs(), ResetModuleMEs(), and SiStripMonitorDigi().

TString SiStripMonitorDigi::name
private
bool SiStripMonitorDigi::reset_each_run
private

Definition at line 103 of file SiStripMonitorDigi.h.

Referenced by beginRun(), and createMEs().

int SiStripMonitorDigi::runNb
private

Definition at line 122 of file SiStripMonitorDigi.h.

Referenced by analyze().

bool SiStripMonitorDigi::select_all_detectors
private

Definition at line 103 of file SiStripMonitorDigi.h.

bool SiStripMonitorDigi::show_control_view
private

Definition at line 103 of file SiStripMonitorDigi.h.

bool SiStripMonitorDigi::show_mechanical_structure_view
private

Definition at line 103 of file SiStripMonitorDigi.h.

Referenced by beginRun(), and createMEs().

bool SiStripMonitorDigi::show_readout_view
private

Definition at line 103 of file SiStripMonitorDigi.h.

edm::ESHandle<SiStripDetCabling> SiStripMonitorDigi::SiStripDetCabling_
private

Definition at line 117 of file SiStripMonitorDigi.h.

Referenced by analyze(), createMEs(), and createModuleMEs().

std::map<std::string, SubDetMEs> SiStripMonitorDigi::SubDetMEsMap
private

Definition at line 107 of file SiStripMonitorDigi.h.

Referenced by analyze(), createMEs(), and createSubDetMEs().

std::map<std::string, std::string> SiStripMonitorDigi::SubDetPhasePartMap
private

Definition at line 108 of file SiStripMonitorDigi.h.

Referenced by analyze(), and SiStripMonitorDigi().

bool SiStripMonitorDigi::subdetswitchapvcycleprofon
private

Definition at line 142 of file SiStripMonitorDigi.h.

Referenced by analyze(), createSubDetMEs(), and SiStripMonitorDigi().

bool SiStripMonitorDigi::subdetswitchapvcycleth2on
private

Definition at line 143 of file SiStripMonitorDigi.h.

Referenced by analyze(), createSubDetMEs(), and SiStripMonitorDigi().

bool SiStripMonitorDigi::subdetswitchtotdigifailureon
private

Definition at line 146 of file SiStripMonitorDigi.h.

Referenced by createMEs(), endLuminosityBlock(), and SiStripMonitorDigi().

bool SiStripMonitorDigi::subdetswitchtotdigiproflson
private

Definition at line 145 of file SiStripMonitorDigi.h.

Referenced by analyze(), beginLuminosityBlock(), createMEs(), and SiStripMonitorDigi().

bool SiStripMonitorDigi::subdetswitchtotdigiprofon
private

Definition at line 141 of file SiStripMonitorDigi.h.

Referenced by analyze(), createSubDetMEs(), and SiStripMonitorDigi().

TkHistoMap* SiStripMonitorDigi::tkmapdigi
private

Definition at line 120 of file SiStripMonitorDigi.h.

Referenced by analyze(), and createMEs().

std::string SiStripMonitorDigi::topDir
private

Definition at line 155 of file SiStripMonitorDigi.h.

int SiStripMonitorDigi::xLumiProf
private