CMS 3D CMS Logo

CommissioningTask.h
Go to the documentation of this file.
1 #ifndef DQM_SiStripCommissioningSources_CommissioningTask_H
2 #define DQM_SiStripCommissioningSources_CommissioningTask_H
3 
11 #include <vector>
12 #include <string>
13 #include <iomanip>
14 #include <cstdint>
15 
16 class TAxis;
17 namespace edm {
18  class EventSetup;
19 }
20 
25 public:
28  // ---------- Constructors, destructors ----------
29 
30  CommissioningTask(DQMStore*, const FedChannelConnection&, const std::string& my_name);
31 
32  virtual ~CommissioningTask();
33 
34  // ---------- Classes, structs ----------
35 
38  class HistoSet {
39  public:
40  HistoSet();
41  void histo(MonitorElement*);
42  MonitorElement* histo();
43  uint32_t bin(float value);
44  std::vector<float> vNumOfEntries_;
45  std::vector<float> vSumOfContents_;
46  std::vector<double> vSumOfSquares_;
47  bool isProfile_;
49 
50  private:
51  MonitorElement* histo_;
52  TAxis* axis_;
53  };
54 
56  public:
58  void histo(MonitorElement*);
59  MonitorElement* histo();
60  std::vector<short> vNumOfEntries_;
62 
63  private:
64  MonitorElement* histo_;
65  };
66 
67  // ---------- Public methods ----------
68 
70  void bookHistograms();
71 
74 
79 
84  const std::vector<uint16_t>&);
85 
87  void fillHistograms(const SiStripEventSummary&, const uint16_t& fed_id, const std::map<uint16_t, float>& fed_ch);
88 
90  void updateHistograms();
91 
93  inline const uint32_t& fillCntr() const;
94 
96  inline const uint32_t& updateFreq() const;
97 
99  inline void updateFreq(const uint32_t&);
100 
102  inline const std::string& myName() const;
103 
105  inline void eventSetup(const edm::EventSetup*);
106 
107 protected:
108  // ---------- Protected methods ----------
109 
111  void updateHistoSet(HistoSet&, const uint32_t& bin, const float& value);
112  void updateHistoSet(CompactHistoSet&, const uint32_t& bin, const short& value);
113 
115  void updateHistoSet(HistoSet&, const uint32_t& bin);
116  void updateHistoSet(CompactHistoSet&, const uint32_t& bin);
117 
119  void updateHistoSet(HistoSet&, const float& value);
120  void updateHistoSet(CompactHistoSet&);
121 
123  void updateHistoSet(HistoSet&);
124 
126  inline DQMStore* const dqm() const;
127 
129  inline const FedChannelConnection& connection() const;
130 
132  inline const uint32_t& fecKey() const;
133 
135  inline const uint32_t& fedKey() const;
136 
138  inline const edm::EventSetup* const eventSetup() const;
139 
140 private:
141  // ---------- Private methods ----------
142 
144 
145  virtual void book();
146 
147  virtual void fill(const SiStripEventSummary&, const edm::DetSet<SiStripRawDigi>&);
148 
150 
151  virtual void fill(const SiStripEventSummary&,
154  const std::vector<uint16_t>&);
155 
156  virtual void fill(const SiStripEventSummary&, const uint16_t& fed_id, const std::map<uint16_t, float>& fed_ch);
157 
158  virtual void update();
159 
160  // ---------- Private member data ----------
161 
162  DQMStore* dqm_;
163 
164  uint32_t updateFreq_;
165 
166  uint32_t fillCntr_;
167 
169 
170  uint32_t fedKey_;
171 
172  uint32_t fecKey_;
173 
174  bool booked_;
175 
177 
179 };
180 
181 // ----- inline methods -----
182 
183 const uint32_t& CommissioningTask::fillCntr() const { return fillCntr_; }
184 const uint32_t& CommissioningTask::updateFreq() const { return updateFreq_; }
185 void CommissioningTask::updateFreq(const uint32_t& freq) { updateFreq_ = freq; }
186 const std::string& CommissioningTask::myName() const { return myName_; }
187 
189 const FedChannelConnection& CommissioningTask::connection() const { return connection_; }
190 
191 const uint32_t& CommissioningTask::fecKey() const { return fecKey_; }
192 const uint32_t& CommissioningTask::fedKey() const { return fedKey_; }
193 
195 const edm::EventSetup* const CommissioningTask::eventSetup() const { return eventSetup_; }
196 
197 #endif // DQM_SiStripCommissioningSources_CommissioningTask_H
dqm::legacy::MonitorElement MonitorElement
std::vector< float > vNumOfEntries_
static const char fedKey_[]
std::vector< float > vSumOfContents_
const uint32_t & updateFreq() const
DQMStore *const dqm() const
Class containning control, module, detector and connection information, at the level of a FED channel...
dqm::legacy::DQMStore DQMStore
static const char fecKey_[]
Definition: value.py:1
const edm::EventSetup * eventSetup_
const uint32_t & fillCntr() const
example_stream void bookHistograms(DQMStore::IBooker &,@example_stream edm::Run const &,@example_stream edm::EventSetup const &) override
HLT enums.
#define update(a, b)
const edm::EventSetup *const eventSetup() const
const uint32_t & fedKey() const
std::vector< double > vSumOfSquares_
const FedChannelConnection & connection() const
FedChannelConnection connection_
const std::string & myName() const
const uint32_t & fecKey() const