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