CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
SiStripMonitorCluster.h
Go to the documentation of this file.
1 #ifndef SiStripMonitorCluster_SiStripMonitorCluster_h
2 #define SiStripMonitorCluster_SiStripMonitorCluster_h
3 // -*- C++ -*-
4 // Package: SiStripMonitorCluster
5 // Class : SiStripMonitorCluster
11 // Original Author: dkcira
12 // Created: Wed Feb 1 16:47:14 CET 2006
13 #include <memory>
24 
25 #include <vector>
26 
29 
31 
43 
44 class SiStripCluster;
45 class SiPixelCluster;
46 class EventWithHistory;
48 class SiStripDCSStatus;
50 
52 public:
54  ~SiStripMonitorCluster() override;
55  void analyze(const edm::Event&, const edm::EventSetup&) override;
56  void bookHistograms(DQMStore::IBooker&, edm::Run const&, edm::EventSetup const&) override;
57  void dqmBeginRun(const edm::Run&, const edm::EventSetup&) override;
58 
59  struct ModMEs { // MEs for one single detector module
60 
70  MonitorElement* NrOfClusterizedStrips = nullptr; // can be used at client level for occupancy calculations
72  };
73 
74  struct LayerMEs { // MEs for Layer Level
91  };
92 
93  struct SubDetMEs { // MEs for Subdetector Level
94  int totNClusters = 0;
105  };
106 
107  struct ClusterProperties { // Cluster Properties
108  float charge;
109  float position;
110  short start;
111  short width;
112  float noise;
113  };
114 
131  MonitorElement* NumberOfStripClus_vs_BX = nullptr; // plot n. 3
132  MonitorElement* NumberOfPixelClus_vs_BX = nullptr; // plot n. 4
134 
135 private:
136  void createMEs(const edm::EventSetup& es, DQMStore::IBooker& ibooker);
137  void createLayerMEs(std::string label, int ndets, DQMStore::IBooker& ibooker);
138  void createModuleMEs(ModMEs& mod_single, uint32_t detid, DQMStore::IBooker& ibooker, const SiStripDetCabling&);
140  int FindRegion(int nstrip, int npixel);
141  void fillModuleMEs(ModMEs& mod_mes, ClusterProperties& cluster);
142  void fillLayerMEs(LayerMEs&, ClusterProperties& cluster);
143 
144  void ResetModuleMEs(uint32_t idet);
145 
146  inline void fillME(MonitorElement* ME, float value1) {
147  if (ME != nullptr)
148  ME->Fill(value1);
149  }
150  inline void fillME(MonitorElement* ME, float value1, float value2) {
151  if (ME != nullptr)
152  ME->Fill(value1, value2);
153  }
154  inline void fillME(MonitorElement* ME, float value1, float value2, float value3) {
155  if (ME != nullptr)
156  ME->Fill(value1, value2, value3);
157  }
158  inline void fillME(MonitorElement* ME, float value1, float value2, float value3, float value4) {
159  if (ME != nullptr)
160  ME->Fill(value1, value2, value3, value4);
161  }
162  MonitorElement* bookMETrend(const char*, DQMStore::IBooker& ibooker);
163  MonitorElement* bookME1D(const char* ParameterSetLabel, const char* HistoName, DQMStore::IBooker& ibooker);
164  MonitorElement* bookME2D(const char* ParameterSetLabel, const char* HistoName, DQMStore::IBooker& ibooker);
165 
167  std::map<uint32_t, ModMEs> ModuleMEsMap;
168  std::map<std::string, LayerMEs> LayerMEsMap;
169  std::map<std::string, std::vector<uint32_t> > LayerDetMap;
170  std::map<std::string, SubDetMEs> SubDetMEsMap;
171  std::map<std::string, std::string> SubDetPhasePartMap;
172 
173  // flags
175  unsigned long long m_cacheID_;
176 
177  std::vector<uint32_t> ModulesToBeExcluded_;
178 
180 
181  // TkHistoMap added
182  std::unique_ptr<TkHistoMap> tkmapcluster;
183  std::unique_ptr<TkHistoMap> tkmapclusterch;
184 
187  float trendVar;
188 
202 
207 
237 
238  bool Mod_On_;
240 
243 
244  /*
245  edm::InputTag clusterProducerStrip_;
246  edm::InputTag clusterProducerPix_;
247  edm::InputTag historyProducer_;
248  edm::InputTag apvPhaseProducer_;
249  */
250 
255 
264 
270 
271  double k0;
272  double q0;
273  double dk0;
274  double maxClus;
275  double minPix;
276 
278 
279  // add for selecting on ZeroBias events in the MinimumBias PD
283 
287 };
288 #endif
MonitorElement * GlobalABXTH1_CSCP
void ResetModuleMEs(uint32_t idet)
int FindRegion(int nstrip, int npixel)
edm::ESGetToken< SiStripDetCabling, SiStripDetCablingRcd > siStripDetCablingRunToken_
MonitorElement * NumberOfPixelClus_vs_BX
MonitorElement * PixVsStripMultiplicityRegions
MonitorElement * GlobalTH2MainDiagonalPosition_vs_BX
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > trackerTopologyEventToken_
edm::ESGetToken< SiStripQuality, SiStripQualityRcd > siStripQualityToken_
MonitorElement * GlobalCStripVsCpix
MonitorElement * ClusterSignalOverNoiseVsPos
Provides a code based selection for trigger and DCS information in order to have no failing filters i...
MonitorElement * StripNoise2Cycle
void createLayerMEs(std::string label, int ndets, DQMStore::IBooker &ibooker)
std::map< std::string, LayerMEs > LayerMEsMap
void analyze(const edm::Event &, const edm::EventSetup &) override
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
MonitorElement * NumberOfPixelClus
unsigned long long m_cacheID_
void Fill(long long x)
void createSubDetMEs(std::string label, DQMStore::IBooker &ibooker)
Definition: ME.h:11
std::map< uint32_t, ModMEs > ModuleMEsMap
char const * label
void createMEs(const edm::EventSetup &es, DQMStore::IBooker &ibooker)
std::map< std::string, std::string > SubDetPhasePartMap
MonitorElement * GlobalApvCycleDBxTH2
edm::ParameterSet Parameters
GenericTriggerEventFlag * genTriggerEventFlagPixelDCSfilter_
MonitorElement * bookMETrend(const char *, DQMStore::IBooker &ibooker)
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > trackerTopologyRunToken_
edm::ESGetToken< SiStripDetCabling, SiStripDetCablingRcd > siStripDetCablingEventToken_
void fillME(MonitorElement *ME, float value1, float value2, float value3, float value4)
MonitorElement * NumberOfStripClus
void createModuleMEs(ModMEs &mod_single, uint32_t detid, DQMStore::IBooker &ibooker, const SiStripDetCabling &)
MonitorElement * GlobalMainDiagonalPosition_vs_BX
MonitorElement * NumberOfStripClus_vs_BX
edm::EDGetTokenT< EventWithHistory > historyProducerToken_
MonitorElement * bookME2D(const char *ParameterSetLabel, const char *HistoName, DQMStore::IBooker &ibooker)
MonitorElement * ClusWidthVsAmpTH2
edm::ESGetToken< SiStripNoises, SiStripNoisesRcd > siStripNoisesToken_
MonitorElement * GlobalMainDiagonalPosition
std::vector< uint32_t > ModulesToBeExcluded_
SiStripDCSStatus * dcsStatus_
GenericTriggerEventFlag * genTriggerEventFlagBPTXfilter_
MonitorElement * LayerNumberOfClusterPerRingTrend
void fillME(MonitorElement *ME, float value1)
SiStripMonitorCluster(const edm::ParameterSet &)
MonitorElement * NumberOfFEDClus
std::string HistoName
MonitorElement * StripNoise3Cycle
void fillME(MonitorElement *ME, float value1, float value2)
edm::ESGetToken< SiStripGain, SiStripGainRcd > siStripGainToken_
Pixel cluster – collection of neighboring pixels above threshold.
edm::EDGetTokenT< edmNew::DetSetVector< SiPixelCluster > > clusterProducerPixToken_
std::map< std::string, SubDetMEs > SubDetMEsMap
void fillLayerMEs(LayerMEs &, ClusterProperties &cluster)
std::unique_ptr< TkHistoMap > tkmapcluster
void fillME(MonitorElement *ME, float value1, float value2, float value3)
edm::EDGetTokenT< edmNew::DetSetVector< SiStripCluster > > clusterProducerStripToken_
std::map< std::string, std::vector< uint32_t > > LayerDetMap
edm::ESGetToken< TkDetMap, TrackerTopologyRcd > tkDetMapToken_
std::unique_ptr< TkHistoMap > tkmapclusterch
MonitorElement * GlobalDBxCycleTH1
edm::EDGetTokenT< APVCyclePhaseCollection > apvPhaseProducerToken_
void dqmBeginRun(const edm::Run &, const edm::EventSetup &) override
GenericTriggerEventFlag * genTriggerEventFlagStripDCSfilter_
MonitorElement * NclusVsCycleTimeProf2D
MonitorElement * BPTXrateTrend
MonitorElement * bookME1D(const char *ParameterSetLabel, const char *HistoName, DQMStore::IBooker &ibooker)
void fillModuleMEs(ModMEs &mod_mes, ClusterProperties &cluster)
Definition: Run.h:45