CMS 3D CMS Logo

L1TDTTFClient.h
Go to the documentation of this file.
1 #ifndef DQM_L1TMONITORCLIENT_L1TDTTF_H
2 #define DQM_L1TMONITORCLIENT_L1TDTTF_H
3 
4 // system include files
5 #include <string>
6 
7 // user include files
11 
12 //
13 // class declaration
14 //
15 
16 class TH1F;
17 class TH2F;
18 
19 class L1TDTTFClient : public DQMEDHarvester {
20 public:
23 
25  ~L1TDTTFClient() override;
26 
27 protected:
30  edm::LuminosityBlock const&,
31  edm::EventSetup const&) override; //performed in the endLumi
32  void dqmEndJob(DQMStore::IBooker&, DQMStore::IGetter&) override; //performed in the endJob
33 
34  void book(DQMStore::IBooker& ibooker);
35 
36 private:
39  bool online_;
40  bool verbose_;
42  int counterLS_;
43  TH2F* occupancy_r_;
44 
50 
67 
70 
72 
85 
96 
100 
101  TH1F* getTH1F(DQMStore::IGetter& igetter, const char* hname);
102  TH2F* getTH2F(DQMStore::IGetter& igetter, const char* hname);
103 
105 
107  TH2F* occupancySummary,
108  MonitorElement* highQual_Summary,
109  const std::string& path);
110 
112  MonitorElement* phi_eta_fine_integ,
113  MonitorElement* phi_eta_coarse_integ,
114  MonitorElement* phi_eta_integ,
115  const std::string& path_fine,
116  const std::string& path_coarse,
117  int wh);
118 
119  void buildPhiEtaPlotO(DQMStore::IGetter& igetter, MonitorElement* phi_eta_integ, const std::string& path, int wh);
120 
121  /* void buildPhiEtaPlot( MonitorElement * phi_eta_integ, */
122  /* const std::string & path, */
123  /* int wh ); */
124 
125  /* void buildPhiEtaPlotFC( MonitorElement * phi_eta_fine_integ, */
126  /* MonitorElement * phi_eta_coarse_integ, */
127  /* MonitorElement * phi_eta_integ, */
128  /* const std::string & path_fine, */
129  /* const std::string & path_coarse, */
130  /* int wh ); */
131 
132  void makeSummary(DQMStore::IGetter& igetter);
133  void buildSummaries(DQMStore::IGetter& igetter);
134  void setGMTsummary(DQMStore::IGetter& igetter);
135 
137  void setQualLabel(MonitorElement* me, int axis);
138 
139  template <typename T>
140  void normalize(T* me) {
141  double scale = me->Integral();
142  if (scale > 0) {
143  normalize(me, 1. / scale, scale);
144  }
145  }
146 
147  template <typename T>
148  void normalize(T* me, const double& scale) {
149  normalize(me, scale, me->Integral());
150  }
151 
152  template <typename T>
153  void normalize(T* me, const double& scale, const double& entries) {
154  me->SetEntries(entries);
155  me->Scale(scale);
156  }
157 };
158 
159 #endif
MonitorElement * dttf_bx_integ_2ndTrack
Definition: L1TDTTFClient.h:76
MonitorElement * dttf_gmt_matching
Definition: L1TDTTFClient.h:68
MonitorElement * dttf_occupancySummary
Definition: L1TDTTFClient.h:52
MonitorElement * dttf_quality_summary
Definition: L1TDTTFClient.h:57
L1TDTTFClient(const edm::ParameterSet &ps)
Constructor.
MonitorElement * dttf_q_wheel[6]
Definition: L1TDTTFClient.h:95
MonitorElement * dttf_eta_fine_integ
Definition: L1TDTTFClient.h:55
void normalize(T *me, const double &scale, const double &entries)
MonitorElement * dttf_eta_integ_2ndTrack
Definition: L1TDTTFClient.h:81
MonitorElement * dttf_quality_integ_2ndTrack
Definition: L1TDTTFClient.h:77
MonitorElement * dttf_eta_wheel[6]
Definition: L1TDTTFClient.h:92
void buildSummaries(DQMStore::IGetter &igetter)
void dqmEndLuminosityBlock(DQMStore::IBooker &ibooker, DQMStore::IGetter &, edm::LuminosityBlock const &, edm::EventSetup const &) override
MonitorElement * dttf_nTracks_integ
Definition: L1TDTTFClient.h:51
MonitorElement * dttf_quality_integ
Definition: L1TDTTFClient.h:56
TH1F * getTH1F(DQMStore::IGetter &igetter, const char *hname)
std::string wheelpath_[6]
Definition: L1TDTTFClient.h:46
void buildPhiEtaPlotO(DQMStore::IGetter &igetter, MonitorElement *phi_eta_integ, const std::string &path, int wh)
MonitorElement * dttf_bx_wheel_integ_2ndTrack[6]
Definition: L1TDTTFClient.h:99
void buildHighQualityPlot(DQMStore::IGetter &igetter, TH2F *occupancySummary, MonitorElement *highQual_Summary, const std::string &path)
void book(DQMStore::IBooker &ibooker)
MonitorElement * dttf_bx_wheel_summary[6]
Definition: L1TDTTFClient.h:87
void dqmEndJob(DQMStore::IBooker &, DQMStore::IGetter &) override
MonitorElement * dttf_pt_integ_2ndTrack
Definition: L1TDTTFClient.h:83
MonitorElement * dttf_bx_integ
Definition: L1TDTTFClient.h:54
TH2F * getTH2F(DQMStore::IGetter &igetter, const char *hname)
MonitorElement * dttf_phi_eta_fine_integ
Definition: L1TDTTFClient.h:60
MonitorElement * dttf_highQual_Summary_2ndTrack
Definition: L1TDTTFClient.h:79
MonitorElement * dttf_phi_wheel[6]
Definition: L1TDTTFClient.h:93
MonitorElement * dttf_phi_eta_integ
Definition: L1TDTTFClient.h:61
MonitorElement * dttf_quality_summary_wheel[6]
Definition: L1TDTTFClient.h:90
MonitorElement * dttf_pt_integ
Definition: L1TDTTFClient.h:64
MonitorElement * dttf_phi_eta_coarse_integ
Definition: L1TDTTFClient.h:59
TH2F * occupancy_r_
counter
Definition: L1TDTTFClient.h:43
~L1TDTTFClient() override
Destructor.
MonitorElement * dttf_occupancySummary_2ndTrack
Definition: L1TDTTFClient.h:74
MonitorElement * dttf_eta_integ
Definition: L1TDTTFClient.h:65
MonitorElement * dttf_2ndTrack_Summary
Definition: L1TDTTFClient.h:69
std::string gmtpath_
Definition: L1TDTTFClient.h:48
MonitorElement * dttf_q_integ_2ndTrack
Definition: L1TDTTFClient.h:84
MonitorElement * dttf_bx_wheel_summary_2ndTrack[6]
Definition: L1TDTTFClient.h:98
void normalize(T *me, const double &scale)
MonitorElement * dttf_bx_summary
Definition: L1TDTTFClient.h:53
MonitorElement * dttf_quality_wheel[6]
Definition: L1TDTTFClient.h:89
void setMapLabel(MonitorElement *me)
void makeSummary(DQMStore::IGetter &igetter)
MonitorElement * dttf_eta_fine_fraction
Definition: L1TDTTFClient.h:62
std::string l1tdttffolder_
Definition: L1TDTTFClient.h:37
MonitorElement * dttf_occupancySummary_test
Definition: L1TDTTFClient.h:71
MonitorElement * dttf_fine_fraction_wh[6]
Definition: L1TDTTFClient.h:91
void setQualLabel(MonitorElement *me, int axis)
MonitorElement * dttf_nTracks_wheel[6]
Definition: L1TDTTFClient.h:86
MonitorElement * dttf_bx_summary_2ndTrack
Definition: L1TDTTFClient.h:75
MonitorElement * dttf_nTracks_integ_2ndTrack
Definition: L1TDTTFClient.h:73
void buildPhiEtaPlotOFC(DQMStore::IGetter &igetter, MonitorElement *phi_eta_fine_integ, MonitorElement *phi_eta_coarse_integ, MonitorElement *phi_eta_integ, const std::string &path_fine, const std::string &path_coarse, int wh)
void setGMTsummary(DQMStore::IGetter &igetter)
MonitorElement * dttf_phi_integ_2ndTrack
Definition: L1TDTTFClient.h:82
MonitorElement * dttf_pt_wheel[6]
Definition: L1TDTTFClient.h:94
MonitorElement * dttf_nTracks_wheel_2ndTrack[6]
Definition: L1TDTTFClient.h:97
MonitorElement * dttf_phi_integ
Definition: L1TDTTFClient.h:63
long double T
MonitorElement * dttf_highQual_Summary
Definition: L1TDTTFClient.h:58
MonitorElement * dttf_q_integ
Definition: L1TDTTFClient.h:66
MonitorElement * dttf_bx_wheel_integ[6]
Definition: L1TDTTFClient.h:88
void normalize(T *me)
std::string inclusivepath_
Definition: L1TDTTFClient.h:47
std::string testpath_
Definition: L1TDTTFClient.h:49
edm::InputTag dttfSource_
Definition: L1TDTTFClient.h:38
void setWheelLabel(MonitorElement *me)
std::string wheel_[6]
Definition: L1TDTTFClient.h:45
MonitorElement * dttf_quality_summary_2ndTrack
Definition: L1TDTTFClient.h:78
MonitorElement * dttf_phi_eta_integ_2ndTrack
Definition: L1TDTTFClient.h:80