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

void AddApvShotsToSubDet (const std::vector< APVShot > &, std::vector< APVShot > &)
 
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 FillApvShotsMap (TkHistoMap *, const std::vector< APVShot > &, uint32_t id, int)
 
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
 
bool globalsummaryapvshotson
 
bool globalswitchapvshotsApvon
 
bool globalswitchapvshotsonprof
 
bool globalswitchchargemedianapvshotson
 
bool globalswitchnapvshotson
 
bool globalswitchnstripsapvshotson
 
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_
 
MonitorElementMedianChargeApvShotsGlobal
 
bool Mod_On_
 
std::vector< uint32_t > ModulesToBeExcluded_
 
bool moduleswitchadccooleston
 
bool moduleswitchadchotteston
 
bool moduleswitchdigiadcson
 
bool moduleswitchnumdigison
 
bool moduleswitchnumdigispstripon
 
bool moduleswitchstripoccupancyon
 
TString name
 
MonitorElementNApvApvShotsGlobal
 
MonitorElementNApvShotsGlobal
 
MonitorElementNApvShotsGlobalProf
 
bool reset_each_run
 
int runNb
 
bool select_all_detectors
 
bool shotschargehistomapon
 
bool shotshistomapon
 
bool shotsstripshistomapon
 
MonitorElementShotsVsTimeApvShotsGlobal
 
bool show_control_view
 
bool show_mechanical_structure_view
 
bool show_readout_view
 
edm::ESHandle< SiStripDetCablingSiStripDetCabling_
 
MonitorElementStripMultiplicityApvShotsGlobal
 
std::map< std::string, SubDetMEsSubDetMEsMap
 
std::map< std::string,
std::string > 
SubDetPhasePartMap
 
bool subdetswitchapvcycleprofon
 
bool subdetswitchapvcycleth2on
 
bool subdetswitchapvshotsApvon
 
bool subdetswitchapvshotsonprof
 
bool subdetswitchchargemedianapvshotson
 
bool subdetswitchnapvshotson
 
bool subdetswitchnstripsapvshotson
 
bool subdetswitchtotdigifailureon
 
bool subdetswitchtotdigiproflson
 
bool subdetswitchtotdigiprofon
 
TkHistoMaptkmapdigi
 
TkHistoMaptkmapMedianChargeApvshots
 
TkHistoMaptkmapNApvshots
 
TkHistoMaptkmapNstripApvshot
 
std::string topDir
 
int TotalNShots
 
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)
 
static void prevalidate (ConfigurationDescriptions &)
 
- 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 28 of file SiStripMonitorDigi.h.

Constructor & Destructor Documentation

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

Definition at line 43 of file SiStripMonitorDigi.cc.

References apvPhaseProducer_, conf_, createTrendMEs, dcsStatus_, digiProducerList, digitkhistomapon, eventNb, firstEvent, edm::ParameterSet::getParameter(), globalsummaryapvshotson, globalswitchapvshotsApvon, globalswitchapvshotsonprof, globalswitchchargemedianapvshotson, globalswitchnapvshotson, globalswitchnstripsapvshotson, historyProducer_, layerswitchadccooleston, layerswitchadchotteston, layerswitchdigiadcprofon, layerswitchdigiadcson, layerswitchnumdigison, layerswitchnumdigisprofon, layerswitchstripoccupancyon, Mod_On_, moduleswitchadccooleston, moduleswitchadchotteston, moduleswitchdigiadcson, moduleswitchnumdigison, moduleswitchnumdigispstripon, moduleswitchstripoccupancyon, shotschargehistomapon, shotshistomapon, shotsstripshistomapon, SubDetPhasePartMap, subdetswitchapvcycleprofon, subdetswitchapvcycleth2on, subdetswitchapvshotsApvon, subdetswitchapvshotsonprof, subdetswitchchargemedianapvshotson, subdetswitchnapvshotson, subdetswitchnstripsapvshotson, subdetswitchtotdigifailureon, subdetswitchtotdigiproflson, subdetswitchtotdigiprofon, and xLumiProf.

44 {
45  firstEvent = -1;
46  eventNb = 0;
47 
48  // Detector Partitions
49  SubDetPhasePartMap["TIB"] = "TI";
50  SubDetPhasePartMap["TID__side__1"] = "TI";
51  SubDetPhasePartMap["TID__side__2"] = "TI";
52  SubDetPhasePartMap["TOB"] = "TO";
53  SubDetPhasePartMap["TEC__side__1"] = "TM";
54  SubDetPhasePartMap["TEC__side__2"] = "TP";
55 
56  // get Digi Producer List
57  digiProducerList = conf_.getParameter<std::vector<edm::InputTag> >("DigiProducersList");
58 
59  //get on/off option for every cluster from cfi
60  edm::ParameterSet ParametersNumberOfDigis = conf_.getParameter<edm::ParameterSet>("TH1NumberOfDigis");
61  layerswitchnumdigison = ParametersNumberOfDigis.getParameter<bool>("layerswitchon");
62  moduleswitchnumdigison = ParametersNumberOfDigis.getParameter<bool>("moduleswitchon");
63 
64  edm::ParameterSet ParametersNumberOfDigisPerStrip = conf_.getParameter<edm::ParameterSet>("TH1NumberOfDigisPerStrip");
65  moduleswitchnumdigispstripon = ParametersNumberOfDigisPerStrip.getParameter<bool>("moduleswitchon");
66 
67  edm::ParameterSet ParametersADCsHottestStrip = conf_.getParameter<edm::ParameterSet>("TH1ADCsHottestStrip");
68  layerswitchadchotteston = ParametersADCsHottestStrip.getParameter<bool>("layerswitchon");
69  moduleswitchadchotteston = ParametersADCsHottestStrip.getParameter<bool>("moduleswitchon");
70 
71  edm::ParameterSet ParametersADCsCoolestStrip = conf_.getParameter<edm::ParameterSet>("TH1ADCsCoolestStrip");
72  layerswitchadccooleston = ParametersADCsCoolestStrip.getParameter<bool>("layerswitchon");
73  moduleswitchadccooleston = ParametersADCsCoolestStrip.getParameter<bool>("moduleswitchon");
74 
75  edm::ParameterSet ParametersDigiADCs = conf_.getParameter<edm::ParameterSet>("TH1DigiADCs");
76  layerswitchdigiadcson = ParametersDigiADCs.getParameter<bool>("layerswitchon");
77  moduleswitchdigiadcson = ParametersDigiADCs.getParameter<bool>("moduleswitchon");
78 
79  edm::ParameterSet ParametersStripOccupancy = conf_.getParameter<edm::ParameterSet>("TH1StripOccupancy");
80  layerswitchstripoccupancyon = ParametersStripOccupancy.getParameter<bool>("layerswitchon");
81  moduleswitchstripoccupancyon = ParametersStripOccupancy.getParameter<bool>("moduleswitchon");
82 
83  edm::ParameterSet ParametersDigiProf = conf_.getParameter<edm::ParameterSet>("TProfNumberOfDigi");
84  layerswitchnumdigisprofon = ParametersDigiProf.getParameter<bool>("layerswitchon");
85 
86  edm::ParameterSet ParametersDigiADC = conf_.getParameter<edm::ParameterSet>("TProfDigiADC");
87  layerswitchdigiadcprofon = ParametersDigiProf.getParameter<bool>("layerswitchon");
88 
89  edm::ParameterSet ParametersTotDigiProf = conf_.getParameter<edm::ParameterSet>("TProfTotalNumberOfDigis");
90  subdetswitchtotdigiprofon = ParametersTotDigiProf.getParameter<bool>("subdetswitchon");
91 
92  edm::ParameterSet ParametersTotDigisProfVsLS = conf_.getParameter<edm::ParameterSet>("TProfTotalNumberOfDigisVsLS");
93  subdetswitchtotdigiproflson = ParametersTotDigisProfVsLS.getParameter<bool>("subdetswitchon");
94 
95  edm::ParameterSet ParametersTotDigiFailure = conf_.getParameter<edm::ParameterSet>("TotalNumberOfDigisFailure");
96  subdetswitchtotdigifailureon = ParametersTotDigiFailure.getParameter<bool>("subdetswitchon");
97 
98  edm::ParameterSet ParametersDigiApvProf = conf_.getParameter<edm::ParameterSet>("TProfDigiApvCycle");
99  subdetswitchapvcycleprofon = ParametersDigiApvProf.getParameter<bool>("subdetswitchon");
100 
101  edm::ParameterSet ParametersDigiApvTH2 = conf_.getParameter<edm::ParameterSet>("TH2DigiApvCycle");
102  subdetswitchapvcycleth2on = ParametersDigiApvTH2.getParameter<bool>("subdetswitchon");
103 
104  edm::ParameterSet ParametersNApvShots = conf_.getParameter<edm::ParameterSet>("TH1NApvShots");
105  subdetswitchnapvshotson = ParametersNApvShots.getParameter<bool>("subdetswitchon");
106 
107  edm::ParameterSet ParametersNStripApvShots = conf_.getParameter<edm::ParameterSet>("TH1NStripsApvShots");
108  subdetswitchnstripsapvshotson = ParametersNStripApvShots.getParameter<bool>("subdetswitchon");
109 
110  edm::ParameterSet ParametersChargeMedianApvShots = conf_.getParameter<edm::ParameterSet>("TH1ChargeMedianApvShots");
111  subdetswitchchargemedianapvshotson = ParametersChargeMedianApvShots.getParameter<bool>("subdetswitchon");
112 
113  edm::ParameterSet ParametersApvNumberApvShots = conf_.getParameter<edm::ParameterSet>("TH1ApvNumApvShots");
114  subdetswitchapvshotsApvon = ParametersChargeMedianApvShots.getParameter<bool>("subdetswitchon");
115 
116  edm::ParameterSet ParametersNApvShotsProf = conf_.getParameter<edm::ParameterSet>("TProfNShotsVsTime");
117  subdetswitchapvshotsonprof = ParametersNApvShotsProf.getParameter<bool>("subdetswitchon");
118 
119  //Global Histograms
120 
121  edm::ParameterSet ParametersGlobalNApvShots = conf_.getParameter<edm::ParameterSet>("TH1NApvShots");
122  globalswitchnapvshotson = ParametersGlobalNApvShots.getParameter<bool>("globalswitchon");
123 
124  edm::ParameterSet ParametersGlobalNApvShotsProf = conf_.getParameter<edm::ParameterSet>("TProfGlobalNShots");
125  globalsummaryapvshotson = ParametersGlobalNApvShotsProf.getParameter<bool>("globalswitchon");
126 
127  edm::ParameterSet ParametersGlobalNStripApvShots = conf_.getParameter<edm::ParameterSet>("TH1NStripsApvShots");
128  globalswitchnstripsapvshotson = ParametersGlobalNStripApvShots.getParameter<bool>("globalswitchon");
129 
130  edm::ParameterSet ParametersGlobalApvNumApvShots = conf_.getParameter<edm::ParameterSet>("TH1ApvNumApvShots");
131  globalswitchapvshotsApvon = ParametersGlobalApvNumApvShots.getParameter<bool>("globalswitchon");
132 
133  edm::ParameterSet ParametersGlobalChargeMedianApvShots = conf_.getParameter<edm::ParameterSet>("TH1ChargeMedianApvShots");
134  globalswitchchargemedianapvshotson = ParametersGlobalChargeMedianApvShots.getParameter<bool>("globalswitchon");
135 
136  edm::ParameterSet ParametersGlobalNApvShotsTimeProf = conf_.getParameter<edm::ParameterSet>("TProfNShotsVsTime");
137  globalswitchapvshotsonprof = ParametersGlobalNApvShotsTimeProf.getParameter<bool>("globalswitchon");
138 
139  //Digi and APV Shots Maps
140 
141  digitkhistomapon = conf_.getParameter<bool>("TkHistoMap_On");
142 
143  shotshistomapon= conf_.getParameter<bool>("TkHistoMapNApvShots_On");
144  shotsstripshistomapon= conf_.getParameter<bool>("TkHistoMapNStripApvShots_On");
145  shotschargehistomapon= conf_.getParameter<bool>("TkHistoMapMedianChargeApvShots_On");
146 
147  createTrendMEs = conf_.getParameter<bool>("CreateTrendMEs");
148  Mod_On_ = conf_.getParameter<bool>("Mod_On");
149  xLumiProf = conf_.getParameter<int>("xLumiProf");
150 
151  // Event History Producer
152  historyProducer_ = conf_.getParameter<edm::InputTag>("HistoryProducer");
153 
154  // Apv Phase Producer
155  apvPhaseProducer_ = conf_.getParameter<edm::InputTag>("ApvPhaseProducer");
156 
157  // Create DCS Status
158  bool checkDCS = conf_.getParameter<bool>("UseDCSFiltering");
159  if (checkDCS) dcsStatus_ = new SiStripDCSStatus();
160  else dcsStatus_ = 0;
161 }
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 164 of file SiStripMonitorDigi.cc.

References dcsStatus_.

164  {
165  if (dcsStatus_) delete dcsStatus_;
166 }
SiStripDCSStatus * dcsStatus_

Member Function Documentation

void SiStripMonitorDigi::AddApvShotsToSubDet ( const std::vector< APVShot > &  moduleShots,
std::vector< APVShot > &  subdetShots 
)
private

Definition at line 1089 of file SiStripMonitorDigi.cc.

References i.

Referenced by analyze().

1089  {
1090 
1091  for (uint i=0; i<moduleShots.size(); i++){
1092  subdetShots.push_back(moduleShots[i]);
1093  }
1094 }
int i
Definition: DBlmapReader.cc:9
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 451 of file SiStripMonitorDigi.cc.

References ecalMGPA::adc(), SiStripMonitorDigi::ModMEs::ADCsCoolestStrip, SiStripMonitorDigi::ModMEs::ADCsHottestStrip, AddApvShotsToSubDet(), 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(), FillApvShotsMap(), fillME(), fillTrend(), folder_organizer, edm::Event::getByLabel(), getDigiSourceIndex(), APVShotFinder::getShots(), SiStripDCSStatus::getStatus(), SiStripFolderOrganizer::getSubDetFolderAndTag(), globalsummaryapvshotson, globalswitchapvshotsApvon, globalswitchapvshotsonprof, globalswitchchargemedianapvshotson, globalswitchnapvshotson, globalswitchnstripsapvshotson, historyProducer_, i, 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(), MedianChargeApvShotsGlobal, Mod_On_, moduleswitchadccooleston, moduleswitchadchotteston, moduleswitchdigiadcson, moduleswitchnumdigison, moduleswitchnumdigispstripon, moduleswitchstripoccupancyon, APVCyclePhaseCollection::multiphase, NApvApvShotsGlobal, NApvShotsGlobal, NApvShotsGlobalProf, APVCyclePhaseCollection::nopartition, NULL, SiStripMonitorDigi::ModMEs::NumberOfDigis, SiStripMonitorDigi::ModMEs::NumberOfDigisPerStrip, edm::EventBase::orbitNumber(), pos, edm::Handle< T >::product(), edm::EventID::run(), runNb, shotschargehistomapon, shotshistomapon, shotsstripshistomapon, ShotsVsTimeApvShotsGlobal, SiStripDetCabling_, StripMultiplicityApvShotsGlobal, SiStripMonitorDigi::ModMEs::StripOccupancy, SiStripMonitorDigi::SubDetMEs::SubDetApvShots, SiStripMonitorDigi::SubDetMEs::SubDetChargeMedianApvShotsTH1, SiStripMonitorDigi::SubDetMEs::SubDetDigiApvProf, SiStripMonitorDigi::SubDetMEs::SubDetDigiApvTH2, SubDetMEsMap, SiStripMonitorDigi::SubDetMEs::SubDetNApvShotsNApvTH1, SiStripMonitorDigi::SubDetMEs::SubDetNApvShotsProf, SiStripMonitorDigi::SubDetMEs::SubDetNApvShotsTH1, SiStripMonitorDigi::SubDetMEs::SubDetNStripsApvShotsTH1, SubDetPhasePartMap, subdetswitchapvcycleprofon, subdetswitchapvcycleth2on, subdetswitchapvshotsApvon, subdetswitchapvshotsonprof, subdetswitchchargemedianapvshotson, subdetswitchnapvshotson, subdetswitchnstripsapvshotson, subdetswitchtotdigiproflson, subdetswitchtotdigiprofon, SiStripMonitorDigi::SubDetMEs::SubDetTotDigiProf, SiStripMonitorDigi::DigiFailureMEs::SubDetTotDigiProfLS, tkmapdigi, tkmapMedianChargeApvshots, tkmapNApvshots, tkmapNstripApvshot, TotalNShots, and SiStripMonitorDigi::SubDetMEs::totNDigis.

451  {
452 
453  // Filter out events if DCS Event if requested
454  if (dcsStatus_ && !dcsStatus_->getStatus(iEvent, iSetup)) return;
455 
456  TotalNShots=0;
457 
458  runNb = iEvent.id().run();
459  eventNb++;
460 
461  float iOrbitSec = iEvent.orbitNumber()/11223.0;
462 
463  digi_detset_handles.clear();
464  for(std::vector<edm::InputTag>::iterator itDigiProducerList = digiProducerList.begin();
465  itDigiProducerList != digiProducerList.end(); ++itDigiProducerList ) {
466 
468 
469  iEvent.getByLabel((*itDigiProducerList),digi_handle);
470 
471  if (digi_handle.isValid()) digi_detset_handles.push_back(digi_handle.product());
472  }
473 
474  // initialise # of clusters to zero
475  for (std::map<std::string, SubDetMEs>::iterator iSubdet = SubDetMEsMap.begin();
476  iSubdet != SubDetMEsMap.end(); iSubdet++) {
477  iSubdet->second.totNDigis = 0;
478  iSubdet->second.SubDetApvShots.clear();
479  }
480 
481  for (std::map<std::string, std::vector< uint32_t > >::const_iterator iterLayer = LayerDetMap.begin();
482  iterLayer != LayerDetMap.end(); iterLayer++) {
483 
484  std::string layer_label = iterLayer->first;
485 
486  std::vector< uint32_t > layer_dets = iterLayer->second;
487  std::map<std::string, LayerMEs>::iterator iLayerME = LayerMEsMap.find(layer_label);
488 
489  //get Layer MEs
490  LayerMEs local_layermes;
491 
492  if(iLayerME == LayerMEsMap.end()) continue;
493  else local_layermes = iLayerME->second;
494 
495  int largest_adc_layer= 0;
496  int smallest_adc_layer= 99999;
497 
498  int ndigi_layer = 0;
499 
500  uint16_t iDet = 0;
501 
502  std::string subdet_label = "";
503 
504  // loop over all modules in the layer
505  for (std::vector< uint32_t >::const_iterator iterDets = layer_dets.begin() ;
506  iterDets != layer_dets.end() ; iterDets++) {
507  iDet++;
508 
509  // detid and type of ME
510  uint32_t detid = (*iterDets);
511 
512  // Get SubDet label once
513  if (subdet_label.size() == 0) subdet_label = folder_organizer.getSubDetFolderAndTag(detid).second;
514 
515  // DetId and corresponding set of MEs
516 
517  std::map<uint32_t, ModMEs >::iterator pos = DigiMEs.find(detid);
518  ModMEs local_modmes = pos->second;
519 
520  // search digis of detid
521  int loc = getDigiSourceIndex(detid);
522 
523  int ndigi_det = 0;
524 
525  if (loc > -1) {
526  ndigi_det = (*(digi_detset_handles[loc]))[detid].size();
527  APVShotFinder theShotFinder = APVShotFinder((*(digi_detset_handles[loc]))[detid]);
528  const std::vector<APVShot>& shots = theShotFinder.getShots();
529  AddApvShotsToSubDet(shots,SubDetMEsMap[subdet_label].SubDetApvShots);
530  if (shotshistomapon) tkmapNApvshots->fill(detid,shots.size());
533  }
534 
535  if(Mod_On_ && moduleswitchnumdigison && (local_modmes.NumberOfDigis != NULL))
536  (local_modmes.NumberOfDigis)->Fill(ndigi_det);
537 
539  local_layermes.LayerNumberOfDigisProfile->Fill(iDet*1.0,ndigi_det);
540 
541  if (digitkhistomapon) tkmapdigi->fill(detid,ndigi_det);
542 
543  if (ndigi_det == 0) continue; // no digis for this detid => jump to next step of loop
544 
545  const edm::DetSet<SiStripDigi> & digi_detset = (*(digi_detset_handles[loc]))[detid];
546 
547  ndigi_layer += ndigi_det;
548 
549  // ADCs
550  int largest_adc=(digi_detset.data.begin())->adc();
551  int smallest_adc=(digi_detset.data.begin())->adc();
552 
553 
554  // Check if these parameters are really needed
555  float det_occupancy = 0.0;
556 
557  for(edm::DetSet<SiStripDigi>::const_iterator digiIter = digi_detset.data.begin();
558  digiIter!= digi_detset.data.end(); digiIter++ ){
559 
560  int this_adc = digiIter->adc();
561 
562  if (this_adc > 0.0) det_occupancy++;
563 
564  if(this_adc>largest_adc) largest_adc = this_adc;
565  if(this_adc<smallest_adc) smallest_adc = this_adc;
566 
567  if(Mod_On_ && moduleswitchnumdigispstripon && (local_modmes.NumberOfDigisPerStrip != NULL) && (this_adc > 0.0) )
568  (local_modmes.NumberOfDigisPerStrip)->Fill(digiIter->strip());
569 
570  if(Mod_On_ && moduleswitchdigiadcson && (local_modmes.DigiADCs != NULL) )
571  (local_modmes.DigiADCs)->Fill(static_cast<float>(this_adc));
572 
573  //Fill #ADCs for this digi at layer level
575  fillME(local_layermes.LayerDigiADCs , this_adc);
576  if (createTrendMEs) fillTrend(local_layermes.LayerDigiADCsTrend, this_adc, iOrbitSec);
577  }
578 
580  local_layermes.LayerDigiADCProfile->Fill(iDet*1.0,this_adc);
581 
582  }//end of loop over digis in this det
583 
584  // Occupancy
585  short nstrips = SiStripDetCabling_->nApvPairs(detid) * 2 * 128;
586  if (nstrips > 0 && det_occupancy > 0 ) {
587  det_occupancy = det_occupancy/nstrips;
588  if (Mod_On_ && moduleswitchstripoccupancyon && (local_modmes.StripOccupancy != NULL))
589  (local_modmes.StripOccupancy)->Fill(det_occupancy);
591  fillME(local_layermes.LayerStripOccupancy, det_occupancy);
592  if (createTrendMEs) fillTrend(local_layermes.LayerStripOccupancyTrend, det_occupancy, iOrbitSec);
593  }
594  }
595 
596  if (largest_adc > largest_adc_layer) largest_adc_layer = largest_adc;
597  if (smallest_adc < smallest_adc_layer) smallest_adc_layer = smallest_adc;
598 
599  // nr. of adcs for hottest strip
600  if( Mod_On_ && moduleswitchadchotteston && (local_modmes.ADCsHottestStrip != NULL))
601  (local_modmes.ADCsHottestStrip)->Fill(static_cast<float>(largest_adc));
602 
603  // nr. of adcs for coolest strip
604  if(Mod_On_ && moduleswitchadccooleston && (local_modmes.ADCsCoolestStrip != NULL))
605  (local_modmes.ADCsCoolestStrip)->Fill(static_cast<float>(smallest_adc));
606 
607  }//end of loop over DetIds
608 
610  fillME(local_layermes.LayerNumberOfDigis,ndigi_layer);
611  if (createTrendMEs) fillTrend(local_layermes.LayerNumberOfDigisTrend, ndigi_layer, iOrbitSec);
612  }
614  fillME(local_layermes.LayerADCsHottestStrip,largest_adc_layer);
615  if (createTrendMEs) fillTrend(local_layermes.LayerADCsHottestStripTrend, largest_adc_layer, iOrbitSec);
616  }
618  fillME(local_layermes.LayerADCsCoolestStrip ,smallest_adc_layer);
619  if (createTrendMEs) fillTrend(local_layermes.LayerADCsCoolestStripTrend, smallest_adc_layer, iOrbitSec);
620  }
621 
622  std::map<std::string, SubDetMEs>::iterator iSubdet = SubDetMEsMap.find(subdet_label);
623  if(iSubdet != SubDetMEsMap.end()) {
624  iSubdet->second.totNDigis += ndigi_layer;
625  //std::cout << " totDigis" << iSubdet->second.totNDigis << " in " << subdet_label << std::endl;
626  }
627  }
628 
629  for (std::map<std::string, SubDetMEs>::iterator it = SubDetMEsMap.begin();
630  it != SubDetMEsMap.end(); it++) {
631 
633  if (strcmp(it->first.c_str(),"TEC__side__1")==0){
634  digiFailureMEs.SubDetTotDigiProfLS->Fill(1, it->second.totNDigis);
635  }else if (strcmp(it->first.c_str(),"TEC__side__2")==0){
636  digiFailureMEs.SubDetTotDigiProfLS->Fill(2, it->second.totNDigis);
637  }else if (strcmp(it->first.c_str(),"TIB")==0){
638  digiFailureMEs.SubDetTotDigiProfLS->Fill(3, it->second.totNDigis);
639  }else if (strcmp(it->first.c_str(),"TID__side__1")==0){
640  digiFailureMEs.SubDetTotDigiProfLS->Fill(4, it->second.totNDigis);
641  }else if (strcmp(it->first.c_str(),"TID__side__2")==0){
642  digiFailureMEs.SubDetTotDigiProfLS->Fill(5, it->second.totNDigis);
643  }else if (strcmp(it->first.c_str(),"TOB")==0){
644  digiFailureMEs.SubDetTotDigiProfLS->Fill(6, it->second.totNDigis);
645  }
646  }
647 
649  if (strcmp(it->first.c_str(),"TEC__side__1")==0){
650  NApvShotsGlobalProf->Fill(1,it->second.SubDetApvShots.size());
651  }else if (strcmp(it->first.c_str(),"TEC__side__2")==0){
652  NApvShotsGlobalProf->Fill(2,it->second.SubDetApvShots.size());
653  }else if (strcmp(it->first.c_str(),"TIB")==0){
654  NApvShotsGlobalProf->Fill(3,it->second.SubDetApvShots.size());
655  }else if (strcmp(it->first.c_str(),"TID__side__1")==0){
656  NApvShotsGlobalProf->Fill(4,it->second.SubDetApvShots.size());
657  }else if (strcmp(it->first.c_str(),"TID__side__2")==0){
658  NApvShotsGlobalProf->Fill(5,it->second.SubDetApvShots.size());
659  }else if (strcmp(it->first.c_str(),"TOB")==0){
660  NApvShotsGlobalProf->Fill(6,it->second.SubDetApvShots.size());
661  }
662  }
663 
664  SubDetMEs subdetmes= it->second;
665  std::string subdet = it->first;
666 
667  // Fill APV shots histograms for SubDet
668 
669  uint ShotsSize=subdetmes.SubDetApvShots.size();
670  TotalNShots+=ShotsSize; //Counter for total Shots in the SiStrip Tracker
671 
672  if (subdetswitchnapvshotson ) subdetmes.SubDetNApvShotsTH1->Fill(ShotsSize);// N shots
673  if (subdetswitchapvshotsonprof) subdetmes.SubDetNApvShotsProf ->Fill(iOrbitSec,ShotsSize); //N shots vs time
674 
675  for (uint i=0; i< ShotsSize; ++i){ // Strip multiplicity, charge median and APV number distributions for APV shots
676 
677  if (subdetswitchapvshotsApvon) subdetmes.SubDetNApvShotsNApvTH1->Fill((subdetmes.SubDetApvShots[i].apvNumber()+1));//APV are defined by 0 to 5 I want 1 to 6
678  if (globalswitchapvshotsApvon) NApvApvShotsGlobal->Fill((subdetmes.SubDetApvShots[i].apvNumber()+1));
679 
680  if (subdetswitchnstripsapvshotson) subdetmes.SubDetNStripsApvShotsTH1->Fill(subdetmes.SubDetApvShots[i].nStrips());
681  if (globalswitchnstripsapvshotson) StripMultiplicityApvShotsGlobal->Fill(subdetmes.SubDetApvShots[i].nStrips());
682 
683  if (subdetswitchchargemedianapvshotson) subdetmes.SubDetChargeMedianApvShotsTH1->Fill(subdetmes.SubDetApvShots[i].median());
684  if (globalswitchchargemedianapvshotson) MedianChargeApvShotsGlobal->Fill(subdetmes.SubDetApvShots[i].median());
685 
686  }
687 
688  if (subdetswitchtotdigiprofon)subdetmes.SubDetTotDigiProf->Fill(iOrbitSec,subdetmes.totNDigis);
689  }
690 
693 
694  // get EventHistory
695 
696  edm::Handle<EventWithHistory> event_history;
697  iEvent.getByLabel(historyProducer_,event_history);
698 
699  // get Phase of APV
700  edm::Handle<APVCyclePhaseCollection> apv_phase_collection;
701  iEvent.getByLabel(apvPhaseProducer_,apv_phase_collection);
702 
703  if (event_history.isValid()
704  && !event_history.failedToGet()
705  && apv_phase_collection.isValid()
706  && !apv_phase_collection.failedToGet()) {
707 
708 
709  long long tbx = event_history->absoluteBX();
710 
711 
712  for (std::map<std::string, SubDetMEs>::iterator it = SubDetMEsMap.begin();
713  it != SubDetMEsMap.end(); it++) {
714 
715  SubDetMEs subdetmes;
716  std::string subdet = it->first;
717  subdetmes = it->second;
718 
719  int the_phase = APVCyclePhaseCollection::invalid;
720  long long tbx_corr = tbx;
721 
722  if (SubDetPhasePartMap.find(subdet) != SubDetPhasePartMap.end()) the_phase = apv_phase_collection->getPhase(SubDetPhasePartMap[subdet]);
723  if(the_phase==APVCyclePhaseCollection::nopartition ||
725  the_phase==APVCyclePhaseCollection::invalid) the_phase=30;
726  tbx_corr -= the_phase;
727 
728  if (subdetswitchapvcycleprofon)subdetmes.SubDetDigiApvProf->Fill(tbx_corr%70,subdetmes.totNDigis);
729  if (subdetswitchapvcycleth2on) subdetmes.SubDetDigiApvTH2->Fill(tbx_corr%70,subdetmes.totNDigis);
730  }
731  }
732 }//end of method analyze
int adc(sample_type sample)
get the ADC sample (12 bits)
RunNumber_t run() const
Definition: EventID.h:42
int i
Definition: DBlmapReader.cc:9
std::map< std::string, LayerMEs > LayerMEsMap
edm::InputTag historyProducer_
MonitorElement * NApvShotsGlobalProf
std::map< uint32_t, ModMEs > DigiMEs
#define NULL
Definition: scimark2.h:8
std::map< std::string, std::string > SubDetPhasePartMap
MonitorElement * MedianChargeApvShotsGlobal
MonitorElement * StripMultiplicityApvShotsGlobal
TkHistoMap * tkmapNstripApvshot
void Fill(long long x)
bool getStatus(edm::Event const &e, edm::EventSetup const &eSetup)
const std::vector< APVShot > & getShots() const
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)
MonitorElement * NApvApvShotsGlobal
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:356
void fillTrend(MonitorElement *me, float value, float timeinorbit)
MonitorElement * NApvShotsGlobal
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
TkHistoMap * tkmapMedianChargeApvshots
edm::EventID id() const
Definition: EventBase.h:56
collection_type data
Definition: DetSet.h:79
TkHistoMap * tkmapNApvshots
void AddApvShotsToSubDet(const std::vector< APVShot > &, std::vector< APVShot > &)
SiStripFolderOrganizer folder_organizer
MonitorElement * ShotsVsTimeApvShotsGlobal
collection_type::const_iterator const_iterator
Definition: DetSet.h:34
void FillApvShotsMap(TkHistoMap *, const std::vector< APVShot > &, uint32_t id, int)
void SiStripMonitorDigi::beginJob ( void  )
virtual

Reimplemented from edm::EDAnalyzer.

Definition at line 221 of file SiStripMonitorDigi.cc.

221  {
222 }
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 169 of file SiStripMonitorDigi.cc.

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

169  {
170 
172  unsigned long long cacheID = es.get<SiStripDetCablingRcd>().cacheIdentifier();
173  if (m_cacheID_ != cacheID) {
174  m_cacheID_ = cacheID;
175  edm::LogInfo("SiStripMonitorDigi") <<"SiStripMonitorDigi::beginRun: "
176  << " Creating MEs for new Cabling ";
177  createMEs(es);
178  }
179  } else if (reset_each_run) {
180  edm::LogInfo("SiStripMonitorDigi") <<"SiStripMonitorDigi::beginRun: "
181  << " Resetting MEs ";
182  for (std::map<uint32_t, ModMEs >::const_iterator idet = DigiMEs.begin() ; idet!=DigiMEs.end() ; idet++) {
183  ResetModuleMEs(idet->first);
184  }
185  }
186 }
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 778 of file SiStripMonitorDigi.cc.

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

Referenced by createLayerMEs(), and createModuleMEs().

779 {
782  Parameters.getParameter<int32_t>("Nbinx"),
783  Parameters.getParameter<double>("xmin"),
784  Parameters.getParameter<double>("xmax")
785  );
786 }
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:717
vector< ParameterSet > Parameters
edm::ParameterSet conf_
std::string HistoName
MonitorElement * SiStripMonitorDigi::bookMETrend ( const char *  ParameterSetLabel,
const char *  HistoName 
)
private

Definition at line 757 of file SiStripMonitorDigi.cc.

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

Referenced by createLayerMEs().

758 {
759  edm::ParameterSet ParametersTrend = conf_.getParameter<edm::ParameterSet>("Trending");
761  ParametersTrend.getParameter<int32_t>("Nbins"),
762  // 0,
763  ParametersTrend.getParameter<double>("xmin"),
764  ParametersTrend.getParameter<double>("xmax"),
765  // ParametersTrend.getParameter<int32_t>("Nbins"),
766  100, //that parameter should not be there !?
767  ParametersTrend.getParameter<double>("ymin"),
768  ParametersTrend.getParameter<double>("ymax"),
769  "" );
770  if(!me) return me;
771 
772  me->setAxisTitle("Event Time in Seconds",1);
773  if (me->kind() == MonitorElement::DQM_KIND_TPROFILE) me->getTH1()->SetBit(TH1::kCanRebin);
774  return me;
775 }
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:1031
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 860 of file SiStripMonitorDigi.cc.

References bookME1D(), bookMETrend(), DQMStore::bookProfile(), SiStripHistoId::createHistoLayer(), createTrendMEs, dqmStore_, diffTwoXMLs::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().

860  {
861 
862  std::map<std::string, LayerMEs>::iterator iLayerME = LayerMEsMap.find(label);
863  if(iLayerME==LayerMEsMap.end()){
864  SiStripHistoId hidmanager;
865  LayerMEs layerMEs;
866  layerMEs.LayerNumberOfDigis = 0;
867  layerMEs.LayerNumberOfDigisTrend = 0;
868  layerMEs.LayerADCsHottestStrip = 0;
869  layerMEs.LayerADCsHottestStripTrend = 0;
870  layerMEs.LayerADCsCoolestStrip = 0;
871  layerMEs.LayerADCsCoolestStripTrend = 0;
872  layerMEs.LayerDigiADCs = 0;
873  layerMEs.LayerDigiADCsTrend = 0;
874  layerMEs.LayerStripOccupancy = 0;
875  layerMEs.LayerStripOccupancyTrend = 0;
876  layerMEs.LayerNumberOfDigisProfile = 0;
877  layerMEs.LayerDigiADCProfile = 0;
878 
879 
880  //#Digis
882  layerMEs.LayerNumberOfDigis=bookME1D("TH1NumberOfDigis", hidmanager.createHistoLayer("Summary_TotalNumberOfDigis","layer",label,"").c_str());
883  if (createTrendMEs) layerMEs.LayerNumberOfDigisTrend=bookMETrend("TH1NumberOfDigis", hidmanager.createHistoLayer("Trend_NumberOfDigis","layer",label,"").c_str());
884  }
885 
886  //#ADCs for hottest strip
888  layerMEs.LayerADCsHottestStrip=bookME1D("TH1ADCsHottestStrip", hidmanager.createHistoLayer("Summary_ADCsHottestStrip","layer",label,"").c_str());
889  if (createTrendMEs) layerMEs.LayerADCsHottestStripTrend=bookMETrend("TH1ADCsHottestStrip", hidmanager.createHistoLayer("Trend_ADCsHottestStrip","layer",label,"").c_str());
890  }
891 
892  //#ADCs for coolest strip
894  layerMEs.LayerADCsCoolestStrip=bookME1D("TH1ADCsCoolestStrip", hidmanager.createHistoLayer("Summary_ADCsCoolestStrip","layer",label,"").c_str());
895  if (createTrendMEs) layerMEs.LayerADCsCoolestStripTrend=bookMETrend("TH1ADCsCoolestStrip", hidmanager.createHistoLayer("Trend_ADCsCoolestStrip","layer",label,"").c_str());
896  }
897 
898  //#ADCs for each digi
900  layerMEs.LayerDigiADCs=bookME1D("TH1DigiADCs", hidmanager.createHistoLayer("Summary_DigiADCs","layer",label,"").c_str());
901  if (createTrendMEs) layerMEs.LayerDigiADCsTrend=bookMETrend("TH1DigiADCs", hidmanager.createHistoLayer("Trend_DigiADCs","layer",label,"").c_str());
902  }
903 
904  //Strip Occupancy
906  layerMEs.LayerStripOccupancy=bookME1D("TH1StripOccupancy", hidmanager.createHistoLayer("Summary_StripOccupancy","layer",label,"").c_str());
907  if (createTrendMEs) layerMEs.LayerStripOccupancyTrend=bookMETrend("TH1StripOccupancy", hidmanager.createHistoLayer("Trend_StripOccupancy","layer",label,"").c_str());
908 
909  }
910  // # of Digis
912  std::string hid = hidmanager.createHistoLayer("NumberOfDigiProfile","layer",label,"");
913  layerMEs.LayerNumberOfDigisProfile = dqmStore_->bookProfile(hid, hid, ndets, 0.5, ndets+0.5,21, -0.5, 200.5);
914  }
915 
916  // # of Digis
918  std::string hid = hidmanager.createHistoLayer("DigiADCProfile","layer",label,"");
919  layerMEs.LayerDigiADCProfile = dqmStore_->bookProfile(hid, hid, ndets, 0.5, ndets+0.5, 64, -0.5, 255.5);
920  }
921 
922  LayerMEsMap[label]=layerMEs;
923  }
924 }
std::map< std::string, LayerMEs > LayerMEsMap
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:1031
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 226 of file SiStripMonitorDigi.cc.

References abs, SiStripMonitorDigi::ModMEs::ADCsCoolestStrip, SiStripMonitorDigi::ModMEs::ADCsHottestStrip, DQMStore::book1D(), DQMStore::book2D(), DQMStore::bookProfile(), conf_, createLayerMEs(), createModuleMEs(), createSubDetMEs(), cond::rpcobgas::detid, SiStripMonitorDigi::ModMEs::DigiADCs, digiFailureMEs, DigiMEs, digitkhistomapon, MonitorElement::DQM_KIND_TPROFILE, dqmStore_, folder_organizer, edm::EventSetup::get(), SiStripFolderOrganizer::getLayerFolderName(), edm::ParameterSet::getParameter(), SiStripFolderOrganizer::GetSubDetAndLayer(), SiStripFolderOrganizer::getSubDetFolderAndTag(), SiStripHistoId::getSubdetid(), SiStripSubStructure::getTECDetectors(), MonitorElement::getTH1(), SiStripSubStructure::getTIBDetectors(), SiStripSubStructure::getTIDDetectors(), SiStripSubStructure::getTOBDetectors(), globalsummaryapvshotson, globalswitchapvshotsApvon, globalswitchapvshotsonprof, globalswitchchargemedianapvshotson, globalswitchnapvshotson, globalswitchnstripsapvshotson, MonitorElement::kind(), diffTwoXMLs::label, LayerDetMap, LayerMEsMap, MedianChargeApvShotsGlobal, Mod_On_, NApvApvShotsGlobal, NApvShotsGlobal, NApvShotsGlobalProf, SiStripMonitorDigi::ModMEs::NumberOfDigis, SiStripMonitorDigi::ModMEs::NumberOfDigisPerStrip, reset_each_run, ResetModuleMEs(), MonitorElement::setAxisTitle(), MonitorElement::setBinLabel(), DQMStore::setCurrentFolder(), SiStripFolderOrganizer::setDetectorFolder(), SiStripFolderOrganizer::setLayerFolder(), shotschargehistomapon, shotshistomapon, shotsstripshistomapon, ShotsVsTimeApvShotsGlobal, show_mechanical_structure_view, SiStripDetCabling_, StripMultiplicityApvShotsGlobal, SiStripMonitorDigi::ModMEs::StripOccupancy, SiStripMonitorDigi::DigiFailureMEs::SubDetDigiFailures, SubDetMEsMap, subdetswitchtotdigifailureon, subdetswitchtotdigiproflson, SiStripMonitorDigi::DigiFailureMEs::SubDetTotDigiProfLS, tkmapdigi, tkmapMedianChargeApvshots, tkmapNApvshots, and tkmapNstripApvshot.

Referenced by beginRun().

226  {
227 
229  // take from eventSetup the SiStripDetCabling object - here will use SiStripDetControl later on
231 
232  // get list of active detectors from SiStripDetCabling
233  std::vector<uint32_t> activeDets;
234  activeDets.clear(); // just in case
235  SiStripDetCabling_->addActiveDetectorsRawIds(activeDets);
236 
237  SiStripSubStructure substructure;
238 
239  // remove any eventual zero elements - there should be none, but just in case
240  for(std::vector<uint32_t>::iterator idets = activeDets.begin(); idets != activeDets.end(); idets++){
241  if(*idets == 0) activeDets.erase(idets);
242  }
243 
244  // create SiStripFolderOrganizer
246 
247  // Create TkHistoMap for Digi and APV shots properies
248 
249  if (digitkhistomapon) tkmapdigi = new TkHistoMap("SiStrip/TkHisto","TkHMap_NumberOfDigi",0.0,1);
250  if (shotshistomapon) tkmapNApvshots = new TkHistoMap("SiStrip/TkHisto","TkHMap_NApvShots",0.0,1);
251  if (shotsstripshistomapon) tkmapNstripApvshot= new TkHistoMap("SiStrip/TkHisto","TkHMap_NStripApvShots",0.0,1);
252  if (shotschargehistomapon) tkmapMedianChargeApvshots= new TkHistoMap("SiStrip/TkHisto","TkHMap_MedianChargeApvShots",0.0,1);
253 
254  std::vector<uint32_t> tibDetIds;
255 
256  // loop over detectors and book MEs
257  edm::LogInfo("SiStripTkDQM|SiStripMonitorDigi")<<"nr. of activeDets: "<<activeDets.size();
258  for(std::vector<uint32_t>::const_iterator detid_iterator = activeDets.begin(); detid_iterator!=activeDets.end(); detid_iterator++){
259 
260  uint32_t detid = (*detid_iterator);
261 
262  ModMEs local_modmes;
263 
264  local_modmes.NumberOfDigis = 0;
265  local_modmes.NumberOfDigisPerStrip = 0;
266  local_modmes.ADCsHottestStrip = 0;
267  local_modmes.ADCsCoolestStrip = 0;
268  local_modmes.DigiADCs = 0;
269  local_modmes.StripOccupancy = 0;
270 
271  if (Mod_On_) {
272 
273  // set appropriate folder using SiStripFolderOrganizer
274  folder_organizer.setDetectorFolder(detid); // pass the detid to this method
275  if (reset_each_run) ResetModuleMEs(detid);
276  createModuleMEs(local_modmes, detid);
277 
278  // append to DigiMEs
279  DigiMEs.insert( std::make_pair(detid, local_modmes));
280  }
281 
282  // Create Layer Level MEs if they are not created already
283  std::pair<std::string,int32_t> det_layer_pair = folder_organizer.GetSubDetAndLayer(detid);
284  SiStripHistoId hidmanager;
285  std::string label = hidmanager.getSubdetid(detid,false);
286 
287  // get detids for the layer
288  std::map<std::string, LayerMEs>::iterator iLayerME = LayerMEsMap.find(label);
289 
290  if(iLayerME==LayerMEsMap.end()) {
291  int32_t lnumber = det_layer_pair.second;
292  std::vector<uint32_t> layerDetIds;
293  if (det_layer_pair.first == "TIB") {
294  substructure.getTIBDetectors(activeDets,layerDetIds,lnumber,0,0,0);
295  } else if (det_layer_pair.first == "TOB") {
296  substructure.getTOBDetectors(activeDets,layerDetIds,lnumber,0,0);
297  } else if (det_layer_pair.first == "TID" && lnumber > 0) {
298  substructure.getTIDDetectors(activeDets,layerDetIds,2,abs(lnumber),0,0);
299  } else if (det_layer_pair.first == "TID" && lnumber < 0) {
300  substructure.getTIDDetectors(activeDets,layerDetIds,1,abs(lnumber),0,0);
301  } else if (det_layer_pair.first == "TEC" && lnumber > 0) {
302  substructure.getTECDetectors(activeDets,layerDetIds,2,abs(lnumber),0,0,0,0);
303  } else if (det_layer_pair.first == "TEC" && lnumber < 0) {
304  substructure.getTECDetectors(activeDets,layerDetIds,1,abs(lnumber),0,0,0,0);
305  }
306 
307  LayerDetMap[label] = layerDetIds;
308 
309  // book Layer plots
310  folder_organizer.setLayerFolder(detid,det_layer_pair.second);
311  createLayerMEs(label, layerDetIds.size());
312  }
313 
314  // book sub-detector plots
315  std::pair<std::string,std::string> sdet_pair = folder_organizer.getSubDetFolderAndTag(detid);
316  if (SubDetMEsMap.find(sdet_pair.second) == SubDetMEsMap.end()){
317  dqmStore_->setCurrentFolder(sdet_pair.first);
318  createSubDetMEs(sdet_pair.second);
319  }
320 
321  }//end of loop over detectors
322 
323  //book some Summary histograms on APV shots in the MechanicalView
324 
325  dqmStore_->setCurrentFolder("SiStrip/MechanicalView/");
326 
328  const char* HistoName = "Summary Mean Apv shots for SubDets";
329  NApvShotsGlobalProf= dqmStore_->bookProfile(HistoName, HistoName,
330  6,0.5,6.5,
331  100, 0., 0., "" );
332  NApvShotsGlobalProf->setBinLabel(1, std::string("TECB"));
333  NApvShotsGlobalProf->setBinLabel(2, std::string("TECF"));
334  NApvShotsGlobalProf->setBinLabel(3, std::string("TIB"));
335  NApvShotsGlobalProf->setBinLabel(4, std::string("TIDB"));
336  NApvShotsGlobalProf->setBinLabel(5, std::string("TIDF"));
337  NApvShotsGlobalProf->setBinLabel(6, std::string("TOB"));
338  NApvShotsGlobalProf->setAxisTitle(" mean APV shots # / evt",2);
339  }
340 
341  //cumulative number of APV shots Vs Time
344  const char* HistoName = "NApv_Shots_vs_Time";
345  ShotsVsTimeApvShotsGlobal=dqmStore_->bookProfile(HistoName,HistoName,
346  Parameters.getParameter<int32_t>("Nbins"),
347  Parameters.getParameter<double>("xmin"),
348  Parameters.getParameter<double>("xmax"),
349  200, //that parameter should not be there !?
350  Parameters.getParameter<double>("ymin"),
351  Parameters.getParameter<double>("ymax"),
352  "" );
354  ShotsVsTimeApvShotsGlobal->setAxisTitle("# Apv Shots",2);
356  }
357 
358  //cumulative number of Strips in APV shots
360  edm::ParameterSet Parameters = conf_.getParameter<edm::ParameterSet>("TH1NStripsApvShots");
361  const char* HistoName = "Number_of_Strips_in_Apv_Shots";
362  StripMultiplicityApvShotsGlobal=dqmStore_->book1D(HistoName,HistoName,
363  Parameters.getParameter<int32_t>("Nbins"),
364  Parameters.getParameter<double>("xmin"),
365  Parameters.getParameter<double>("xmax"));
366  StripMultiplicityApvShotsGlobal->setAxisTitle("# strips in Apv Shots",1);
367  }
368 
369  //cumulative number of APV shots
371  edm::ParameterSet Parameters = conf_.getParameter<edm::ParameterSet>("TH1NApvShots");
372  const char* HistoName = "Number_of_Apv_Shots";
373  NApvShotsGlobal=dqmStore_->book1D(HistoName,HistoName,
374  Parameters.getParameter<int32_t>("Nbins"),
375  Parameters.getParameter<double>("xmin"),
376  Parameters.getParameter<double>("xmax"));
377  NApvShotsGlobal->setAxisTitle("# Apv Shots",1);
378  }
379 
380  //cumulative Median Charge in APV shots
382  edm::ParameterSet Parameters = conf_.getParameter<edm::ParameterSet>("TH1ChargeMedianApvShots");
383  //dqmStore_->setCurrentFolder("SiStrip/MechanicalView/"+label);
384  const char* HistoName = "Apv_Shots_Charge_Median";
385  MedianChargeApvShotsGlobal=dqmStore_->book1D(HistoName,HistoName,
386  Parameters.getParameter<int32_t>("Nbins"),
387  Parameters.getParameter<double>("xmin"),
388  Parameters.getParameter<double>("xmax"));
389  MedianChargeApvShotsGlobal->setAxisTitle("Apv Shots Charge Median (ADC)",1);
390  }
391 
392  //cmulative APV number with shots
394  edm::ParameterSet Parameters = conf_.getParameter<edm::ParameterSet>("TH1ApvNumApvShots");
395  //dqmStore_->setCurrentFolder("SiStrip/MechanicalView/"+label);
396  const char* HistoName = "Apv_Shots_Apv_Number";
397  NApvApvShotsGlobal=dqmStore_->book1D(HistoName,HistoName,
398  Parameters.getParameter<int32_t>("Nbins"),
399  Parameters.getParameter<double>("xmin"),
400  Parameters.getParameter<double>("xmax"));
401  NApvApvShotsGlobal->setAxisTitle("Apv Number",1);
402  }
403 
404  //
405  // Book new histogram to monitor digi in last LS
406  //
407 
410 
411  std::stringstream ss;
412 
413  folder_organizer.getLayerFolderName(ss, 0);
414  dqmStore_->setCurrentFolder(ss.str().c_str());
415 
417  const char* HistoName = "NumberOfDigisInLastLS";
419  6,0.5,6.5,
420  100, 0., 10000., "" );
421  digiFailureMEs.SubDetTotDigiProfLS->setBinLabel(1, std::string("TECB"));
422  digiFailureMEs.SubDetTotDigiProfLS->setBinLabel(2, std::string("TECF"));
423  digiFailureMEs.SubDetTotDigiProfLS->setBinLabel(3, std::string("TIB"));
424  digiFailureMEs.SubDetTotDigiProfLS->setBinLabel(4, std::string("TIDB"));
425  digiFailureMEs.SubDetTotDigiProfLS->setBinLabel(5, std::string("TIDF"));
426  digiFailureMEs.SubDetTotDigiProfLS->setBinLabel(6, std::string("TOB"));
427  }
428 
430  edm::ParameterSet Parameters = conf_.getParameter<edm::ParameterSet>("TotalNumberOfDigisFailure");
431  std::string HistoName = "DataPresentInLastLS";
432  digiFailureMEs.SubDetDigiFailures = dqmStore_->book2D(HistoName,HistoName,
433  Parameters.getParameter<int32_t>("Nbins"),
434  Parameters.getParameter<double>("xmin"),
435  Parameters.getParameter<double>("xmax"),
436  Parameters.getParameter<int32_t>("Nbinsy"),
437  Parameters.getParameter<double>("ymin"),
438  Parameters.getParameter<double>("ymax"));
439  digiFailureMEs.SubDetDigiFailures->setBinLabel(1, std::string("TECB"));
440  digiFailureMEs.SubDetDigiFailures->setBinLabel(2, std::string("TECF"));
441  digiFailureMEs.SubDetDigiFailures->setBinLabel(3, std::string("TIB"));
442  digiFailureMEs.SubDetDigiFailures->setBinLabel(4, std::string("TIDB"));
443  digiFailureMEs.SubDetDigiFailures->setBinLabel(5, std::string("TIDF"));
444  digiFailureMEs.SubDetDigiFailures->setBinLabel(6, std::string("TOB"));
445  }
446  }//end of if
447 
448 }//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
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:717
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
MonitorElement * NApvShotsGlobalProf
std::map< uint32_t, ModMEs > DigiMEs
MonitorElement * MedianChargeApvShotsGlobal
MonitorElement * StripMultiplicityApvShotsGlobal
TkHistoMap * tkmapNstripApvshot
std::string getSubdetid(uint32_t id, bool flag_ring)
vector< ParameterSet > Parameters
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
MonitorElement * NApvApvShotsGlobal
void createLayerMEs(std::string label, int ndet)
void getLayerFolderName(std::stringstream &ss, uint32_t rawdetid, bool ring_flag=0)
TH1 * getTH1(void) 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:1031
Kind kind(void) const
Get the type of the monitor element.
void setDetectorFolder(uint32_t rawdetid=0)
std::map< std::string, SubDetMEs > SubDetMEsMap
MonitorElement * NApvShotsGlobal
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
TkHistoMap * tkmapMedianChargeApvshots
TkHistoMap * tkmapNApvshots
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 * ShotsVsTimeApvShotsGlobal
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:845
void setLayerFolder(uint32_t rawdetid=0, int32_t layer=0, bool ring_flag=0)
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:429
void SiStripMonitorDigi::createModuleMEs ( ModMEs mod_single,
uint32_t  detid 
)
private

Definition at line 798 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().

798  {
799 
800  // use SistripHistoId for producing histogram id (and title)
801  SiStripHistoId hidmanager;
802  std::string hid;
803 
804  //nr. of digis per module
806  hid = hidmanager.createHistoId("NumberOfDigis","det",detid);
807  mod_single.NumberOfDigis = dqmStore_->book1D(hid, hid, 21, -0.5, 20.5);
808  dqmStore_->tag(mod_single.NumberOfDigis, detid);
809  mod_single.NumberOfDigis->setAxisTitle("number of digis in one detector module");
810  mod_single.NumberOfDigis->getTH1()->StatOverflows(kTRUE); // over/underflows in Mean calculation
811  }
812 
813  //nr. of digis per strip in module
815  hid = hidmanager.createHistoId("NumberOfDigisPerStrip","det",detid);
816  short nstrips = SiStripDetCabling_->nApvPairs(detid) * 2 * 128;
817  mod_single.NumberOfDigisPerStrip = dqmStore_->book1D(hid, hid, nstrips, -0.5, nstrips+0.5);
818  dqmStore_->tag(mod_single.NumberOfDigisPerStrip, detid);
819  mod_single.NumberOfDigisPerStrip->setAxisTitle("number of (digis > 0) per strip");
820  mod_single.NumberOfDigisPerStrip->getTH1()->StatOverflows(kTRUE); // over/underflows in Mean calculation
821  }
822  //#ADCs for hottest strip
824  hid = hidmanager.createHistoId("ADCsHottestStrip","det",detid);
825  mod_single.ADCsHottestStrip = bookME1D("TH1ADCsHottestStrip", hid.c_str());
826  dqmStore_->tag(mod_single.ADCsHottestStrip, detid); // 6 APVs -> 768 strips
827  mod_single.ADCsHottestStrip->setAxisTitle("number of ADCs for hottest strip");
828  }
829 
830  //#ADCs for coolest strip
832  hid = hidmanager.createHistoId("ADCsCoolestStrip","det",detid);
833  mod_single.ADCsCoolestStrip = bookME1D("TH1ADCsCoolestStrip", hid.c_str());
834  dqmStore_->tag(mod_single.ADCsCoolestStrip, detid);
835  mod_single.ADCsCoolestStrip->setAxisTitle("number of ADCs for coolest strip");
836  }
837 
838  //#ADCs for each digi
840  hid = hidmanager.createHistoId("DigiADCs","det",detid);
841  mod_single.DigiADCs = bookME1D("TH1DigiADCs", hid.c_str());
842  dqmStore_->tag(mod_single.DigiADCs, detid);
843  mod_single.DigiADCs->setAxisTitle("number of ADCs for each digi");
844  }
845 
846  //Strip occupancy
848  hid = hidmanager.createHistoId("StripOccupancy","det",detid);
849  mod_single.StripOccupancy = bookME1D("TH1StripOccupancy", hid.c_str());
850  dqmStore_->tag(mod_single.StripOccupancy, detid);
851  mod_single.StripOccupancy->setAxisTitle("strip occupancy");
852  }
853 
854 }
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:717
void tag(MonitorElement *me, unsigned int myTag)
Definition: DQMStore.cc:1354
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 928 of file SiStripMonitorDigi.cc.

References DQMStore::book1D(), DQMStore::book2D(), DQMStore::bookProfile(), conf_, MonitorElement::DQM_KIND_TPROFILE, dqmStore_, edm::ParameterSet::getParameter(), MonitorElement::getTH1(), MonitorElement::kind(), diffTwoXMLs::label, MonitorElement::setAxisTitle(), SiStripMonitorDigi::SubDetMEs::SubDetApvShots, SiStripMonitorDigi::SubDetMEs::SubDetChargeMedianApvShotsTH1, SiStripMonitorDigi::SubDetMEs::SubDetDigiApvProf, SiStripMonitorDigi::SubDetMEs::SubDetDigiApvTH2, SubDetMEsMap, SiStripMonitorDigi::SubDetMEs::SubDetNApvShotsNApvTH1, SiStripMonitorDigi::SubDetMEs::SubDetNApvShotsProf, SiStripMonitorDigi::SubDetMEs::SubDetNApvShotsTH1, SiStripMonitorDigi::SubDetMEs::SubDetNStripsApvShotsTH1, subdetswitchapvcycleprofon, subdetswitchapvcycleth2on, subdetswitchapvshotsonprof, subdetswitchchargemedianapvshotson, subdetswitchnapvshotson, subdetswitchnstripsapvshotson, subdetswitchtotdigiprofon, SiStripMonitorDigi::SubDetMEs::SubDetTotDigiProf, and SiStripMonitorDigi::SubDetMEs::totNDigis.

Referenced by createMEs().

928  {
929 
930  SubDetMEs subdetMEs;
931  subdetMEs.totNDigis = 0;
932  subdetMEs.SubDetTotDigiProf = 0;
933  subdetMEs.SubDetDigiApvProf = 0;
934  subdetMEs.SubDetDigiApvTH2 = 0;
935 
936  subdetMEs.SubDetApvShots.clear();
937  subdetMEs.SubDetNApvShotsTH1 = 0;
938  subdetMEs.SubDetChargeMedianApvShotsTH1 = 0;
939  subdetMEs.SubDetNStripsApvShotsTH1 = 0;
940  subdetMEs.SubDetNApvShotsProf = 0;
941 
942  std::string HistoName;
943 
944  // Total Number of Digi - Profile
946  edm::ParameterSet Parameters = conf_.getParameter<edm::ParameterSet>("TProfTotalNumberOfDigis");
947  HistoName = "TotalNumberOfDigiProfile__" + label;
948  subdetMEs.SubDetTotDigiProf=dqmStore_->bookProfile(HistoName,HistoName,
949  Parameters.getParameter<int32_t>("Nbins"),
950  Parameters.getParameter<double>("xmin"),
951  Parameters.getParameter<double>("xmax"),
952  100, //that parameter should not be there !?
953  Parameters.getParameter<double>("ymin"),
954  Parameters.getParameter<double>("ymax"),
955  "" );
956  subdetMEs.SubDetTotDigiProf->setAxisTitle("Event Time in Seconds",1);
957  if (subdetMEs.SubDetTotDigiProf->kind() == MonitorElement::DQM_KIND_TPROFILE) subdetMEs.SubDetTotDigiProf->getTH1()->SetBit(TH1::kCanRebin);
958  }
959 
960  // Number of Digi vs Bx - Profile
962  edm::ParameterSet Parameters = conf_.getParameter<edm::ParameterSet>("TProfDigiApvCycle");
963  HistoName = "Digi_vs_ApvCycle__" + label;
964  subdetMEs.SubDetDigiApvProf=dqmStore_->bookProfile(HistoName,HistoName,
965  Parameters.getParameter<int32_t>("Nbins"),
966  Parameters.getParameter<double>("xmin"),
967  Parameters.getParameter<double>("xmax"),
968  200, //that parameter should not be there !?
969  Parameters.getParameter<double>("ymin"),
970  Parameters.getParameter<double>("ymax"),
971  "" );
972  subdetMEs.SubDetDigiApvProf->setAxisTitle("ApvCycle (Corrected Absolute Bx % 70)",1);
973  }
974 
975  // Number of Digi vs Bx - TH2
977  edm::ParameterSet Parameters = conf_.getParameter<edm::ParameterSet>("TH2DigiApvCycle");
978  //dqmStore_->setCurrentFolder("SiStrip/MechanicalView/"+label);
979  HistoName = "Digi_vs_ApvCycle_2D__" + label;
980  // Adjusting the scale for 2D histogram
981  double h2ymax = 9999.0;
982  double yfact = Parameters.getParameter<double>("yfactor");
983  if(label.find("TIB") != std::string::npos) h2ymax = (6984.*256.)*yfact;
984  else if (label.find("TID") != std::string::npos) h2ymax = (2208.*256.)*yfact;
985  else if (label.find("TOB") != std::string::npos) h2ymax = (12906.*256.)*yfact;
986  else if (label.find("TEC") != std::string::npos) h2ymax = (7552.*2.*256.)*yfact;
987  subdetMEs.SubDetDigiApvTH2=dqmStore_->book2D(HistoName,HistoName,
988  Parameters.getParameter<int32_t>("Nbins"),
989  Parameters.getParameter<double>("xmin"),
990  Parameters.getParameter<double>("xmax"),
991  Parameters.getParameter<int32_t>("Nbinsy"), //it was 100 that parameter should not be there !?
992  Parameters.getParameter<double>("ymin"),
993  h2ymax);
994  subdetMEs.SubDetDigiApvTH2->setAxisTitle("absolute Bx mod(70)",1);
995  }
996 
997  //Number of APV Shots
999  edm::ParameterSet Parameters = conf_.getParameter<edm::ParameterSet>("TH1NApvShots");
1000  //dqmStore_->setCurrentFolder("SiStrip/MechanicalView/"+label);
1001  HistoName = "Number_of_Apv_Shots_" + label;
1002  subdetMEs.SubDetNApvShotsTH1=dqmStore_->book1D(HistoName,HistoName,
1003  Parameters.getParameter<int32_t>("Nbins"),
1004  Parameters.getParameter<double>("xmin"),
1005  Parameters.getParameter<double>("xmax"));
1006  subdetMEs.SubDetNApvShotsTH1->setAxisTitle("# Apv Shots",1);
1007  }
1008 
1009  //Strip multiplicity of APV Shots
1011  edm::ParameterSet Parameters = conf_.getParameter<edm::ParameterSet>("TH1NStripsApvShots");
1012  //dqmStore_->setCurrentFolder("SiStrip/MechanicalView/"+label);
1013  HistoName = "Number_of_Strips_in_Apv_Shots_" + label;
1014  subdetMEs.SubDetNStripsApvShotsTH1=dqmStore_->book1D(HistoName,HistoName,
1015  Parameters.getParameter<int32_t>("Nbins"),
1016  Parameters.getParameter<double>("xmin"),
1017  Parameters.getParameter<double>("xmax"));
1018  subdetMEs.SubDetNStripsApvShotsTH1->setAxisTitle("# strips in Apv Shots",1);
1019  }
1020 
1021  //Charge median of APV Shots
1023  edm::ParameterSet Parameters = conf_.getParameter<edm::ParameterSet>("TH1ChargeMedianApvShots");
1024  //dqmStore_->setCurrentFolder("SiStrip/MechanicalView/"+label);
1025  HistoName = "Apv_Shots_Charge_Median_" + label;
1026  subdetMEs.SubDetChargeMedianApvShotsTH1=dqmStore_->book1D(HistoName,HistoName,
1027  Parameters.getParameter<int32_t>("Nbins"),
1028  Parameters.getParameter<double>("xmin"),
1029  Parameters.getParameter<double>("xmax"));
1030  subdetMEs.SubDetChargeMedianApvShotsTH1->setAxisTitle("Apv Shots Charge Median (ADC)",1);
1031  }
1032 
1033 
1035  edm::ParameterSet Parameters = conf_.getParameter<edm::ParameterSet>("TH1ApvNumApvShots");
1036  //dqmStore_->setCurrentFolder("SiStrip/MechanicalView/"+label);
1037  HistoName = "Apv_Shots_Apv_Number_" + label;
1038  subdetMEs.SubDetNApvShotsNApvTH1=dqmStore_->book1D(HistoName,HistoName,
1039  Parameters.getParameter<int32_t>("Nbins"),
1040  Parameters.getParameter<double>("xmin"),
1041  Parameters.getParameter<double>("xmax"));
1042  subdetMEs.SubDetNApvShotsNApvTH1->setAxisTitle("Apv Number",1);
1043  }
1044 
1045 
1046 
1047 
1048 
1049  //APV Shots number Vs time
1051  edm::ParameterSet Parameters = conf_.getParameter<edm::ParameterSet>("TProfNShotsVsTime");
1052  HistoName = "NApv_Shots_vs_Time_" + label;
1053  subdetMEs.SubDetNApvShotsProf=dqmStore_->bookProfile(HistoName,HistoName,
1054  Parameters.getParameter<int32_t>("Nbins"),
1055  Parameters.getParameter<double>("xmin"),
1056  Parameters.getParameter<double>("xmax"),
1057  200, //that parameter should not be there !?
1058  Parameters.getParameter<double>("ymin"),
1059  Parameters.getParameter<double>("ymax"),
1060  "" );
1061  subdetMEs.SubDetNApvShotsProf->setAxisTitle("Time (s)",1);
1062  subdetMEs.SubDetNApvShotsProf->setAxisTitle("# Apv Shots",2);
1063  if (subdetMEs.SubDetNApvShotsProf->kind() == MonitorElement::DQM_KIND_TPROFILE) subdetMEs.SubDetNApvShotsProf->getTH1()->SetBit(TH1::kCanRebin);
1064  }
1065 
1066 
1067 
1068 
1069 
1070 
1071 
1072  SubDetMEsMap[label]=subdetMEs;
1073 }
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:717
vector< ParameterSet > Parameters
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:1031
std::map< std::string, SubDetMEs > SubDetMEsMap
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:845
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
void SiStripMonitorDigi::createSubDetTH2 ( std::string  label)
private
void SiStripMonitorDigi::endJob ( void  )
virtual

Reimplemented from edm::EDAnalyzer.

Definition at line 735 of file SiStripMonitorDigi.cc.

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

735  {
736  bool outputMEsInRootFile = conf_.getParameter<bool>("OutputMEsInRootFile");
737  std::string outputFileName = conf_.getParameter<std::string>("OutputFileName");
738 
739  // save histograms in a file
740  if(outputMEsInRootFile) dqmStore_->save(outputFileName);
741 
742 }//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:2113
edm::ParameterSet conf_
void SiStripMonitorDigi::endLuminosityBlock ( const edm::LuminosityBlock lb,
const edm::EventSetup es 
)
virtual

Reimplemented from edm::EDAnalyzer.

Definition at line 202 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.

202  {
203  if(lb.id().luminosityBlock() % xLumiProf == 0){
206  MonitorElement * me = dqmStore_->get("SiStrip/MechanicalView/NumberOfDigisInLastLS");
207  if (me){
208  for (int ibin = 1; ibin<7;ibin++){
209  float value = me->getBinContent(ibin);
210  if (value < 50.){
212  }else{
214  }
215  }
216  }
217  }
218  }
219 }
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:1468
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 189 of file SiStripMonitorDigi.cc.

189  {
190 }
void SiStripMonitorDigi::FillApvShotsMap ( TkHistoMap the_map,
const std::vector< APVShot > &  shots,
uint32_t  id,
int  mode 
)
private

Definition at line 1096 of file SiStripMonitorDigi.cc.

References TkHistoMap::fill(), and i.

Referenced by analyze().

1096  {
1097 
1098  for (uint i=0; i<shots.size(); i++){
1099  if (mode==1) the_map->fill(id,shots[i].nStrips()); //mode == 1 fill with strip multiplicity
1100  if (mode==2) the_map->fill(id,shots[i].median()); // mode == 2 fill with charge median
1101  }
1102 }
int i
Definition: DBlmapReader.cc:9
void fill(uint32_t &detid, float value)
Definition: TkHistoMap.cc:130
void SiStripMonitorDigi::fillDigiADCsMEs ( int  value,
std::string  name 
)
private
void SiStripMonitorDigi::fillME ( MonitorElement ME,
float  value1 
)
inlineprivate

Definition at line 98 of file SiStripMonitorDigi.h.

References MonitorElement::Fill().

Referenced by analyze().

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

Definition at line 99 of file SiStripMonitorDigi.h.

References MonitorElement::Fill().

99 {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 100 of file SiStripMonitorDigi.h.

References MonitorElement::Fill().

100 {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 101 of file SiStripMonitorDigi.h.

References MonitorElement::Fill().

101 {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 789 of file SiStripMonitorDigi.cc.

References MonitorElement::Fill().

Referenced by analyze().

790 {
791  if(!me) return;
792  me->Fill(timeinorbit,value);
793 }
void Fill(long long x)
int SiStripMonitorDigi::getDigiSourceIndex ( uint32_t  id)
private

Definition at line 1077 of file SiStripMonitorDigi.cc.

References digi_detset_handles, and end.

Referenced by analyze().

1077  {
1078  int location = -1;
1079  for (unsigned int ival = 0; ival < digi_detset_handles.size(); ++ival){
1081  if(isearch != digi_detset_handles[ival]->end()) {
1082  location = ival;
1083  break;
1084  }
1085  }
1086  return location;
1087 }
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 744 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().

744  {
745  std::map<uint32_t, ModMEs >::iterator pos = DigiMEs.find(idet);
746  ModMEs mod_me = pos->second;
747 
748  if(Mod_On_ && moduleswitchnumdigison) mod_me.NumberOfDigis->Reset();
749  if(Mod_On_ && moduleswitchnumdigispstripon) mod_me.NumberOfDigisPerStrip ->Reset();
750  if(Mod_On_ && moduleswitchadchotteston) mod_me.ADCsHottestStrip->Reset();
751  if(Mod_On_ && moduleswitchadccooleston) mod_me.ADCsCoolestStrip->Reset();
752  if(Mod_On_ && moduleswitchdigiadcson) mod_me.DigiADCs->Reset();
753  if(Mod_On_ && moduleswitchstripoccupancyon) mod_me.StripOccupancy->Reset();
754 
755 }
std::map< uint32_t, ModMEs > DigiMEs

Member Data Documentation

edm::InputTag SiStripMonitorDigi::apvPhaseProducer_
private

Definition at line 196 of file SiStripMonitorDigi.h.

Referenced by analyze(), and SiStripMonitorDigi().

bool SiStripMonitorDigi::calculate_strip_occupancy
private

Definition at line 119 of file SiStripMonitorDigi.h.

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

Definition at line 192 of file SiStripMonitorDigi.h.

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

SiStripDCSStatus* SiStripMonitorDigi::dcsStatus_
private

Definition at line 198 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 129 of file SiStripMonitorDigi.h.

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

Definition at line 130 of file SiStripMonitorDigi.h.

Referenced by analyze(), and getDigiSourceIndex().

DigiFailureMEs SiStripMonitorDigi::digiFailureMEs
private

Definition at line 125 of file SiStripMonitorDigi.h.

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

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

Definition at line 118 of file SiStripMonitorDigi.h.

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

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

Definition at line 117 of file SiStripMonitorDigi.h.

Referenced by analyze(), and SiStripMonitorDigi().

bool SiStripMonitorDigi::digitkhistomapon
private

Definition at line 187 of file SiStripMonitorDigi.h.

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

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

Definition at line 141 of file SiStripMonitorDigi.h.

Referenced by analyze(), and SiStripMonitorDigi().

int SiStripMonitorDigi::firstEvent
private

Definition at line 142 of file SiStripMonitorDigi.h.

Referenced by SiStripMonitorDigi().

SiStripFolderOrganizer SiStripMonitorDigi::folder_organizer
private

Definition at line 128 of file SiStripMonitorDigi.h.

Referenced by analyze(), and createMEs().

bool SiStripMonitorDigi::globalsummaryapvshotson
private

Definition at line 145 of file SiStripMonitorDigi.h.

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

bool SiStripMonitorDigi::globalswitchapvshotsApvon
private

Definition at line 180 of file SiStripMonitorDigi.h.

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

bool SiStripMonitorDigi::globalswitchapvshotsonprof
private

Definition at line 178 of file SiStripMonitorDigi.h.

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

bool SiStripMonitorDigi::globalswitchchargemedianapvshotson
private

Definition at line 179 of file SiStripMonitorDigi.h.

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

bool SiStripMonitorDigi::globalswitchnapvshotson
private

Definition at line 176 of file SiStripMonitorDigi.h.

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

bool SiStripMonitorDigi::globalswitchnstripsapvshotson
private

Definition at line 177 of file SiStripMonitorDigi.h.

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

edm::InputTag SiStripMonitorDigi::historyProducer_
private

Definition at line 195 of file SiStripMonitorDigi.h.

Referenced by analyze(), and SiStripMonitorDigi().

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

Definition at line 121 of file SiStripMonitorDigi.h.

Referenced by analyze(), and createMEs().

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

Definition at line 122 of file SiStripMonitorDigi.h.

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

bool SiStripMonitorDigi::layerswitchadccooleston
private

Definition at line 150 of file SiStripMonitorDigi.h.

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

bool SiStripMonitorDigi::layerswitchadchotteston
private

Definition at line 149 of file SiStripMonitorDigi.h.

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

bool SiStripMonitorDigi::layerswitchdigiadcprofon
private

Definition at line 154 of file SiStripMonitorDigi.h.

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

bool SiStripMonitorDigi::layerswitchdigiadcson
private

Definition at line 151 of file SiStripMonitorDigi.h.

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

bool SiStripMonitorDigi::layerswitchnumdigisapvon
private

Definition at line 148 of file SiStripMonitorDigi.h.

bool SiStripMonitorDigi::layerswitchnumdigison
private

Definition at line 147 of file SiStripMonitorDigi.h.

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

bool SiStripMonitorDigi::layerswitchnumdigisprofon
private

Definition at line 153 of file SiStripMonitorDigi.h.

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

bool SiStripMonitorDigi::layerswitchstripoccupancyon
private

Definition at line 152 of file SiStripMonitorDigi.h.

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

unsigned long long SiStripMonitorDigi::m_cacheID_
private

Definition at line 132 of file SiStripMonitorDigi.h.

Referenced by beginRun().

MonitorElement * SiStripMonitorDigi::MedianChargeApvShotsGlobal
private

Definition at line 137 of file SiStripMonitorDigi.h.

Referenced by analyze(), and createMEs().

bool SiStripMonitorDigi::Mod_On_
private

Definition at line 185 of file SiStripMonitorDigi.h.

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

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

Definition at line 134 of file SiStripMonitorDigi.h.

bool SiStripMonitorDigi::moduleswitchadccooleston
private

Definition at line 159 of file SiStripMonitorDigi.h.

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

bool SiStripMonitorDigi::moduleswitchadchotteston
private

Definition at line 158 of file SiStripMonitorDigi.h.

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

bool SiStripMonitorDigi::moduleswitchdigiadcson
private

Definition at line 160 of file SiStripMonitorDigi.h.

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

bool SiStripMonitorDigi::moduleswitchnumdigison
private

Definition at line 156 of file SiStripMonitorDigi.h.

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

bool SiStripMonitorDigi::moduleswitchnumdigispstripon
private

Definition at line 157 of file SiStripMonitorDigi.h.

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

bool SiStripMonitorDigi::moduleswitchstripoccupancyon
private

Definition at line 161 of file SiStripMonitorDigi.h.

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

TString SiStripMonitorDigi::name
private
MonitorElement * SiStripMonitorDigi::NApvApvShotsGlobal
private

Definition at line 137 of file SiStripMonitorDigi.h.

Referenced by analyze(), and createMEs().

MonitorElement* SiStripMonitorDigi::NApvShotsGlobal
private

Definition at line 137 of file SiStripMonitorDigi.h.

Referenced by analyze(), and createMEs().

MonitorElement * SiStripMonitorDigi::NApvShotsGlobalProf
private

Definition at line 137 of file SiStripMonitorDigi.h.

Referenced by analyze(), and createMEs().

bool SiStripMonitorDigi::reset_each_run
private

Definition at line 119 of file SiStripMonitorDigi.h.

Referenced by beginRun(), and createMEs().

int SiStripMonitorDigi::runNb
private

Definition at line 141 of file SiStripMonitorDigi.h.

Referenced by analyze().

bool SiStripMonitorDigi::select_all_detectors
private

Definition at line 119 of file SiStripMonitorDigi.h.

bool SiStripMonitorDigi::shotschargehistomapon
private

Definition at line 190 of file SiStripMonitorDigi.h.

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

bool SiStripMonitorDigi::shotshistomapon
private

Definition at line 188 of file SiStripMonitorDigi.h.

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

bool SiStripMonitorDigi::shotsstripshistomapon
private

Definition at line 189 of file SiStripMonitorDigi.h.

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

MonitorElement * SiStripMonitorDigi::ShotsVsTimeApvShotsGlobal
private

Definition at line 137 of file SiStripMonitorDigi.h.

Referenced by analyze(), and createMEs().

bool SiStripMonitorDigi::show_control_view
private

Definition at line 119 of file SiStripMonitorDigi.h.

bool SiStripMonitorDigi::show_mechanical_structure_view
private

Definition at line 119 of file SiStripMonitorDigi.h.

Referenced by beginRun(), and createMEs().

bool SiStripMonitorDigi::show_readout_view
private

Definition at line 119 of file SiStripMonitorDigi.h.

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

Definition at line 133 of file SiStripMonitorDigi.h.

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

MonitorElement * SiStripMonitorDigi::StripMultiplicityApvShotsGlobal
private

Definition at line 137 of file SiStripMonitorDigi.h.

Referenced by analyze(), and createMEs().

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

Definition at line 123 of file SiStripMonitorDigi.h.

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

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

Definition at line 124 of file SiStripMonitorDigi.h.

Referenced by analyze(), and SiStripMonitorDigi().

bool SiStripMonitorDigi::subdetswitchapvcycleprofon
private

Definition at line 164 of file SiStripMonitorDigi.h.

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

bool SiStripMonitorDigi::subdetswitchapvcycleth2on
private

Definition at line 165 of file SiStripMonitorDigi.h.

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

bool SiStripMonitorDigi::subdetswitchapvshotsApvon
private

Definition at line 174 of file SiStripMonitorDigi.h.

Referenced by analyze(), and SiStripMonitorDigi().

bool SiStripMonitorDigi::subdetswitchapvshotsonprof
private

Definition at line 172 of file SiStripMonitorDigi.h.

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

bool SiStripMonitorDigi::subdetswitchchargemedianapvshotson
private

Definition at line 173 of file SiStripMonitorDigi.h.

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

bool SiStripMonitorDigi::subdetswitchnapvshotson
private

Definition at line 170 of file SiStripMonitorDigi.h.

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

bool SiStripMonitorDigi::subdetswitchnstripsapvshotson
private

Definition at line 171 of file SiStripMonitorDigi.h.

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

bool SiStripMonitorDigi::subdetswitchtotdigifailureon
private

Definition at line 168 of file SiStripMonitorDigi.h.

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

bool SiStripMonitorDigi::subdetswitchtotdigiproflson
private

Definition at line 167 of file SiStripMonitorDigi.h.

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

bool SiStripMonitorDigi::subdetswitchtotdigiprofon
private

Definition at line 163 of file SiStripMonitorDigi.h.

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

TkHistoMap* SiStripMonitorDigi::tkmapdigi
private

Definition at line 139 of file SiStripMonitorDigi.h.

Referenced by analyze(), and createMEs().

TkHistoMap * SiStripMonitorDigi::tkmapMedianChargeApvshots
private

Definition at line 139 of file SiStripMonitorDigi.h.

Referenced by analyze(), and createMEs().

TkHistoMap * SiStripMonitorDigi::tkmapNApvshots
private

Definition at line 139 of file SiStripMonitorDigi.h.

Referenced by analyze(), and createMEs().

TkHistoMap * SiStripMonitorDigi::tkmapNstripApvshot
private

Definition at line 139 of file SiStripMonitorDigi.h.

Referenced by analyze(), and createMEs().

std::string SiStripMonitorDigi::topDir
private

Definition at line 194 of file SiStripMonitorDigi.h.

int SiStripMonitorDigi::TotalNShots
private

Definition at line 143 of file SiStripMonitorDigi.h.

Referenced by analyze().

int SiStripMonitorDigi::xLumiProf
private