CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
L1TGMTClient Class Reference

#include <L1TGMTClient.h>

Inheritance diagram for L1TGMTClient:
edm::EDAnalyzer edm::EDConsumerBase

Public Member Functions

 L1TGMTClient (const edm::ParameterSet &)
 Constructor. More...
 
virtual ~L1TGMTClient ()
 Destructor. More...
 
- Public Member Functions inherited from edm::EDAnalyzer
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzer ()
 
ModuleDescription const & moduleDescription () const
 
std::string workerType () const
 
virtual ~EDAnalyzer ()
 
- Public Member Functions inherited from edm::EDConsumerBase
 EDConsumerBase ()
 
ProductHolderIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductHolderIndexAndSkipBit > &) const
 
std::vector
< ProductHolderIndexAndSkipBit >
const & 
itemsToGetFromEvent () const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesDependentUpon (const std::string &iProcessName, std::vector< const char * > &oModuleLabels) const
 
bool registeredToConsume (ProductHolderIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductHolderIndexHelper const &)
 
virtual ~EDConsumerBase ()
 

Protected Member Functions

void analyze (const edm::Event &, const edm::EventSetup &)
 Fake Analyze. More...
 
void beginJob ()
 BeginJob. More...
 
void beginLuminosityBlock (const edm::LuminosityBlock &, const edm::EventSetup &)
 
void beginRun (const edm::Run &, const edm::EventSetup &)
 BeginRun. More...
 
void endJob ()
 Endjob. More...
 
void endLuminosityBlock (const edm::LuminosityBlock &, const edm::EventSetup &)
 DQM Client Diagnostic. More...
 
void endRun (const edm::Run &, const edm::EventSetup &)
 EndRun. More...
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

Private Member Functions

MonitorElementbookClone1D (const std::string &name, const std::string &title, const std::string &hrefName)
 
MonitorElementbookClone1DVB (const std::string &name, const std::string &title, const std::string &hrefName)
 
MonitorElementbookClone2D (const std::string &name, const std::string &title, const std::string &hrefName)
 
TH1F * get1DHisto (std::string meName, DQMStore *dbi)
 
TH2F * get2DHisto (std::string meName, DQMStore *dbi)
 
void initialize ()
 
void makeEfficiency1D (MonitorElement *meeff, std::string heName, std::string hiName)
 
void makeEfficiency2D (MonitorElement *meeff, std::string heName, std::string hiName)
 
void makeRatio1D (MonitorElement *mer, std::string h1Name, std::string h2Name)
 
void processHistograms ()
 

Private Attributes

DQMStoredbe_
 
MonitorElementeff_eta_dtcsc
 
MonitorElementeff_eta_rpc
 
MonitorElementeff_etaphi_dtcsc
 
MonitorElementeff_etaphi_rpc
 
MonitorElementeff_phi_dtcsc
 
MonitorElementeff_phi_rpc
 
std::string input_dir_
 
bool m_runInEndJob
 
bool m_runInEndLumi
 
bool m_runInEndRun
 
bool m_runInEventLoop
 
std::string monitorName_
 
std::string output_dir_
 
edm::ParameterSet parameters_
 

Additional Inherited Members

- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer ModuleType
 
- Static Public Member Functions inherited from edm::EDAnalyzer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 

Detailed Description

Definition at line 12 of file L1TGMTClient.h.

Constructor & Destructor Documentation

L1TGMTClient::L1TGMTClient ( const edm::ParameterSet ps)

Constructor.

Definition at line 11 of file L1TGMTClient.cc.

References initialize(), and parameters_.

11  {
12  parameters_ = ps;
13  initialize();
14 }
void initialize()
Definition: L1TGMTClient.cc:21
edm::ParameterSet parameters_
Definition: L1TGMTClient.h:66
L1TGMTClient::~L1TGMTClient ( )
virtual

Destructor.

Definition at line 16 of file L1TGMTClient.cc.

References LogDebug.

16  {
17  LogDebug("TriggerDQM") << "[TriggerDQM]: ending... ";
18 }
#define LogDebug(id)

Member Function Documentation

void L1TGMTClient::analyze ( const edm::Event iEvent,
const edm::EventSetup evSetup 
)
protectedvirtual

Fake Analyze.

Implements edm::EDAnalyzer.

Definition at line 141 of file L1TGMTClient.cc.

References m_runInEventLoop, and processHistograms().

142  {
143 
144  // there is no loop on events in the offline harvesting step
145  // code here will not be executed offline
146 
147  if (m_runInEventLoop) {
148 
150  }
151 
152 }
bool m_runInEventLoop
Definition: L1TGMTClient.h:72
void processHistograms()
void L1TGMTClient::beginJob ( void  )
protectedvirtual

BeginJob.

Reimplemented from edm::EDAnalyzer.

Definition at line 51 of file L1TGMTClient.cc.

References LogDebug.

51  {
52 
53  LogDebug("TriggerDQM") << "[TriggerDQM]: Begin Job";
54 
55 }
#define LogDebug(id)
void L1TGMTClient::beginLuminosityBlock ( const edm::LuminosityBlock lumiSeg,
const edm::EventSetup evSetup 
)
protectedvirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 122 of file L1TGMTClient.cc.

123  {
124 
125  // empty
126 
127 }
void L1TGMTClient::beginRun ( const edm::Run r,
const edm::EventSetup evSetup 
)
protectedvirtual

BeginRun.

Reimplemented from edm::EDAnalyzer.

Definition at line 58 of file L1TGMTClient.cc.

References bookClone1D(), bookClone1DVB(), bookClone2D(), dbe_, eff_eta_dtcsc, eff_eta_rpc, eff_etaphi_dtcsc, eff_etaphi_rpc, eff_phi_dtcsc, eff_phi_rpc, MonitorElement::getTH1F(), MonitorElement::getTH2F(), output_dir_, MonitorElement::setAxisTitle(), and DQMStore::setCurrentFolder().

58  {
59 
60  // booking histograms in the output_dir_
61 
63 
64  eff_eta_dtcsc = bookClone1DVB("eff_eta_dtcsc", "efficiency DTCSC vs eta",
65  "eta_DTCSC_and_RPC");
66 
67  if (eff_eta_dtcsc != 0) {
68  eff_eta_dtcsc->setAxisTitle("eta", 1);
69  if(eff_eta_dtcsc->getTH1F()->GetSumw2N() == 0) eff_eta_dtcsc->getTH1F()->Sumw2();
70 
71  }
72 
73  eff_eta_rpc = bookClone1DVB("eff_eta_rpc", "efficiency RPC vs eta",
74  "eta_DTCSC_and_RPC");
75 
76  if (eff_eta_rpc != 0) {
77  eff_eta_rpc->setAxisTitle("eta", 1);
78  if(eff_eta_rpc->getTH1F()->GetSumw2N() == 0) eff_eta_rpc->getTH1F()->Sumw2();
79 
80  }
81 
82  eff_phi_dtcsc = bookClone1D("eff_phi_dtcsc", "efficiency DTCSC vs phi",
83  "phi_DTCSC_and_RPC");
84 
85  if (eff_phi_dtcsc != 0) {
86  eff_phi_dtcsc->setAxisTitle("phi (deg)", 1);
87  if(eff_phi_dtcsc->getTH1F()->GetSumw2N() == 0) eff_phi_dtcsc->getTH1F()->Sumw2();
88 
89  }
90 
91  eff_phi_rpc = bookClone1D("eff_phi_rpc", "efficiency RPC vs phi",
92  "phi_DTCSC_and_RPC");
93 
94  if (eff_phi_rpc != 0) {
95  eff_phi_rpc->setAxisTitle("phi (deg)", 1);
96  if(eff_phi_rpc->getTH1F()->GetSumw2N() == 0) eff_phi_rpc->getTH1F()->Sumw2();
97 
98  }
99 
100  eff_etaphi_dtcsc = bookClone2D("eff_etaphi_dtcsc",
101  "efficiency DTCSC vs eta and phi", "etaphi_DTCSC_and_RPC");
102 
103  if (eff_etaphi_dtcsc != 0) {
104  eff_etaphi_dtcsc->setAxisTitle("eta", 1);
105  eff_etaphi_dtcsc->setAxisTitle("phi (deg)", 2);
106  if(eff_etaphi_dtcsc->getTH2F()->GetSumw2N() == 0) eff_etaphi_dtcsc->getTH2F()->Sumw2();
107 
108  }
109 
110  eff_etaphi_rpc = bookClone2D("eff_etaphi_rpc",
111  "efficiency RPC vs eta and phi", "etaphi_DTCSC_and_RPC");
112 
113  if (eff_etaphi_rpc != 0) {
114  eff_etaphi_rpc->setAxisTitle("eta", 1);
115  eff_etaphi_rpc->setAxisTitle("phi (deg)", 2);
116  if(eff_etaphi_rpc->getTH2F()->GetSumw2N() == 0) eff_etaphi_rpc->getTH2F()->Sumw2();
117 
118  }
119 }
MonitorElement * bookClone1DVB(const std::string &name, const std::string &title, const std::string &hrefName)
MonitorElement * eff_eta_rpc
Definition: L1TGMTClient.h:79
MonitorElement * eff_etaphi_dtcsc
Definition: L1TGMTClient.h:82
DQMStore * dbe_
Definition: L1TGMTClient.h:67
MonitorElement * eff_etaphi_rpc
Definition: L1TGMTClient.h:83
MonitorElement * eff_phi_rpc
Definition: L1TGMTClient.h:81
MonitorElement * eff_eta_dtcsc
Definition: L1TGMTClient.h:78
MonitorElement * eff_phi_dtcsc
Definition: L1TGMTClient.h:80
TH1F * getTH1F(void) const
MonitorElement * bookClone1D(const std::string &name, const std::string &title, const std::string &hrefName)
MonitorElement * bookClone2D(const std::string &name, const std::string &title, const std::string &hrefName)
std::string output_dir_
Definition: L1TGMTClient.h:70
TH2F * getTH2F(void) const
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:684
MonitorElement * L1TGMTClient::bookClone1D ( const std::string &  name,
const std::string &  title,
const std::string &  hrefName 
)
private

Definition at line 292 of file L1TGMTClient.cc.

References DQMStore::book1D(), dbe_, get1DHisto(), input_dir_, LogDebug, SiStripMonitorClusterAlca_cfi::xmax, and SiStripMonitorClusterAlca_cfi::xmin.

Referenced by beginRun().

293  {
294 
295  MonitorElement* me;
296 
297  TH1F* href = get1DHisto(input_dir_ + "/" + hrefName, dbe_);
298 
299  if (href) {
300  LogDebug("TriggerDQM")
301  << "\nL1TGMTClient::bookClone1D: booking histogram "
302  << hrefName << std::endl;
303  const unsigned nbx = href->GetNbinsX();
304  const double xmin = href->GetXaxis()->GetXmin();
305  const double xmax = href->GetXaxis()->GetXmax();
306  me = dbe_->book1D(name, title, nbx, xmin, xmax);
307  } else {
308  LogDebug("TriggerDQM")
309  << "\nL1TGMTClient::bookClone1D: not able to clone histogram "
310  << hrefName << std::endl;
311  me = 0;
312  }
313 
314  return me;
315 }
#define LogDebug(id)
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:971
DQMStore * dbe_
Definition: L1TGMTClient.h:67
std::string input_dir_
Definition: L1TGMTClient.h:69
TH1F * get1DHisto(std::string meName, DQMStore *dbi)
MonitorElement * L1TGMTClient::bookClone1DVB ( const std::string &  name,
const std::string &  title,
const std::string &  hrefName 
)
private

Definition at line 318 of file L1TGMTClient.cc.

References DQMStore::book1D(), dbe_, get1DHisto(), i, input_dir_, LogDebug, output_dir_, DQMStore::setCurrentFolder(), and fw3dlego::xbins.

Referenced by beginRun().

319  {
320 
321  MonitorElement* me;
322 
323  TH1F* href = get1DHisto(input_dir_ + "/" + hrefName, dbe_);
324 
325  if (href) {
326  LogDebug("TriggerDQM")
327  << "\nL1TGMTClient::bookClone1DVB: booking histogram "
328  << hrefName << std::endl;
329  int nbx = href->GetNbinsX();
330  if (nbx > 99)
331  nbx = 99;
332  float xbins[100];
333  for (int i = 0; i < nbx; i++) {
334  xbins[i] = href->GetBinLowEdge(i + 1);
335  }
336  xbins[nbx] = href->GetXaxis()->GetXmax();
337 
339  me = dbe_->book1D(name, title, nbx, xbins);
340 
341  } else {
342  LogDebug("TriggerDQM")
343  << "\nL1TGMTClient::bookClone1DVB: not able to clone histogram "
344  << hrefName << std::endl;
345  me = 0;
346  }
347 
348  return me;
349 }
#define LogDebug(id)
int i
Definition: DBlmapReader.cc:9
const double xbins[]
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:971
DQMStore * dbe_
Definition: L1TGMTClient.h:67
std::string input_dir_
Definition: L1TGMTClient.h:69
TH1F * get1DHisto(std::string meName, DQMStore *dbi)
std::string output_dir_
Definition: L1TGMTClient.h:70
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:684
MonitorElement * L1TGMTClient::bookClone2D ( const std::string &  name,
const std::string &  title,
const std::string &  hrefName 
)
private

Definition at line 352 of file L1TGMTClient.cc.

References DQMStore::book2D(), dbe_, get2DHisto(), input_dir_, LogDebug, SiStripMonitorClusterAlca_cfi::xmax, SiStripMonitorClusterAlca_cfi::xmin, SiStripMonitorClusterAlca_cfi::ymax, and SiStripMonitorClusterAlca_cfi::ymin.

Referenced by beginRun().

353  {
354 
355  MonitorElement* me;
356 
357  TH2F* href = get2DHisto(input_dir_ + "/" + hrefName, dbe_);
358 
359  if (href) {
360  LogDebug("TriggerDQM")
361  << "\nL1TGMTClient::bookClone2D: booking histogram "
362  << hrefName << std::endl;
363  const unsigned nbx = href->GetNbinsX();
364  const double xmin = href->GetXaxis()->GetXmin();
365  const double xmax = href->GetXaxis()->GetXmax();
366  const unsigned nby = href->GetNbinsY();
367  const double ymin = href->GetYaxis()->GetXmin();
368  const double ymax = href->GetYaxis()->GetXmax();
369  me = dbe_->book2D(name, title, nbx, xmin, xmax, nby, ymin, ymax);
370  } else {
371  LogDebug("TriggerDQM")
372  << "\nL1TGMTClient::bookClone2D: not able to clone histogram "
373  << hrefName << std::endl;
374  me = 0;
375  }
376 
377  return me;
378 }
#define LogDebug(id)
DQMStore * dbe_
Definition: L1TGMTClient.h:67
std::string input_dir_
Definition: L1TGMTClient.h:69
TH2F * get2DHisto(std::string meName, DQMStore *dbi)
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:1099
void L1TGMTClient::endJob ( void  )
protectedvirtual

Endjob.

Reimplemented from edm::EDAnalyzer.

Definition at line 183 of file L1TGMTClient.cc.

References m_runInEndJob, and processHistograms().

183  {
184 
185  if (m_runInEndJob) {
186 
188  }
189 
190 }
bool m_runInEndJob
Definition: L1TGMTClient.h:75
void processHistograms()
void L1TGMTClient::endLuminosityBlock ( const edm::LuminosityBlock lumiSeg,
const edm::EventSetup evSetup 
)
protectedvirtual

DQM Client Diagnostic.

Reimplemented from edm::EDAnalyzer.

Definition at line 130 of file L1TGMTClient.cc.

References m_runInEndLumi, and processHistograms().

131  {
132 
133  if (m_runInEndLumi) {
134 
136  }
137 
138 }
bool m_runInEndLumi
Definition: L1TGMTClient.h:73
void processHistograms()
void L1TGMTClient::endRun ( const edm::Run r,
const edm::EventSetup evSetup 
)
protectedvirtual

EndRun.

Reimplemented from edm::EDAnalyzer.

Definition at line 173 of file L1TGMTClient.cc.

References m_runInEndRun, and processHistograms().

173  {
174 
175  if (m_runInEndRun) {
176 
178  }
179 
180 }
bool m_runInEndRun
Definition: L1TGMTClient.h:74
void processHistograms()
TH1F * L1TGMTClient::get1DHisto ( std::string  meName,
DQMStore dbi 
)
private

Definition at line 268 of file L1TGMTClient.cc.

References DQMStore::get(), MonitorElement::getTH1F(), and LogDebug.

Referenced by bookClone1D(), bookClone1DVB(), makeEfficiency1D(), and makeRatio1D().

268  {
269 
270  MonitorElement * me_ = dbi->get(meName);
271 
272  if (!me_) {
273  LogDebug("TriggerDQM") << "\nL1TGMTClient: " << meName << " NOT FOUND.";
274  return 0;
275  }
276 
277  return me_->getTH1F();
278 }
#define LogDebug(id)
MonitorElement * get(const std::string &path) const
get ME from full pathname (e.g. &quot;my/long/dir/my_histo&quot;)
Definition: DQMStore.cc:1725
TH1F * getTH1F(void) const
TH2F * L1TGMTClient::get2DHisto ( std::string  meName,
DQMStore dbi 
)
private

Definition at line 281 of file L1TGMTClient.cc.

References DQMStore::get(), MonitorElement::getTH2F(), and LogDebug.

Referenced by bookClone2D(), and makeEfficiency2D().

281  {
282  MonitorElement * me_ = dbi->get(meName);
283 
284  if (!me_) {
285  LogDebug("TriggerDQM") << "\nL1TGMTClient: " << meName << " NOT FOUND.";
286  return 0;
287  }
288  return me_->getTH2F();
289 }
#define LogDebug(id)
MonitorElement * get(const std::string &path) const
get ME from full pathname (e.g. &quot;my/long/dir/my_histo&quot;)
Definition: DQMStore.cc:1725
TH2F * getTH2F(void) const
void L1TGMTClient::initialize ( )
private

Definition at line 21 of file L1TGMTClient.cc.

References dbe_, edm::ParameterSet::getUntrackedParameter(), input_dir_, LogDebug, m_runInEndJob, m_runInEndLumi, m_runInEndRun, m_runInEventLoop, monitorName_, cppFunctionSkipper::operator, output_dir_, parameters_, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by L1TGMTClient().

21  {
22 
23  // get back-end interface
25 
26  // base folder for the contents of this job
28  "monitorName", "");
29  LogDebug("TriggerDQM") << "Monitor name = " << monitorName_ << std::endl;
30 
32  "");
33  LogDebug("TriggerDQM") << "DQM output dir = " << output_dir_ << std::endl;
34 
36  "");
37  LogDebug("TriggerDQM") << "DQM input dir = " << input_dir_ << std::endl;
38 
40  "runInEventLoop", false);
41  m_runInEndLumi = parameters_.getUntrackedParameter<bool> ("runInEndLumi",
42  false);
43  m_runInEndRun = parameters_.getUntrackedParameter<bool> ("runInEndRun",
44  false);
45  m_runInEndJob = parameters_.getUntrackedParameter<bool> ("runInEndJob",
46  false);
47 
48 }
#define LogDebug(id)
T getUntrackedParameter(std::string const &, T const &) const
std::string monitorName_
Definition: L1TGMTClient.h:68
bool m_runInEndJob
Definition: L1TGMTClient.h:75
DQMStore * dbe_
Definition: L1TGMTClient.h:67
std::string input_dir_
Definition: L1TGMTClient.h:69
bool m_runInEventLoop
Definition: L1TGMTClient.h:72
bool m_runInEndLumi
Definition: L1TGMTClient.h:73
bool m_runInEndRun
Definition: L1TGMTClient.h:74
std::string output_dir_
Definition: L1TGMTClient.h:70
edm::ParameterSet parameters_
Definition: L1TGMTClient.h:66
void L1TGMTClient::makeEfficiency1D ( MonitorElement meeff,
std::string  heName,
std::string  hiName 
)
private

Definition at line 216 of file L1TGMTClient.cc.

References dbe_, get1DHisto(), MonitorElement::getTH1F(), input_dir_, LogDebug, output_dir_, and DQMStore::setCurrentFolder().

Referenced by processHistograms().

217  {
218 
220 
221  TH1F* he = get1DHisto(input_dir_ + "/" + heName, dbe_);
222  TH1F* hi = get1DHisto(input_dir_ + "/" + hiName, dbe_);
223 
224  if (meeff == 0) {
225  LogDebug("TriggerDQM")
226  << "L1TGMTClient::makeEfficiency1D: monitoring element zero, not able to retrieve histogram"
227  << std::endl;
228  return;
229  }
230 
231  TH1F* heff = meeff->getTH1F();
232 
233  if (heff && he && hi) {
234  TH1F* hall = (TH1F*) he->Clone("hall");
235  hall->Add(hi);
236  heff->Divide(he, hall, 1., 1., "B");
237  delete hall;
238  }
239 }
#define LogDebug(id)
DQMStore * dbe_
Definition: L1TGMTClient.h:67
std::string input_dir_
Definition: L1TGMTClient.h:69
TH1F * getTH1F(void) const
TH1F * get1DHisto(std::string meName, DQMStore *dbi)
std::string output_dir_
Definition: L1TGMTClient.h:70
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:684
void L1TGMTClient::makeEfficiency2D ( MonitorElement meeff,
std::string  heName,
std::string  hiName 
)
private

Definition at line 242 of file L1TGMTClient.cc.

References dbe_, get2DHisto(), MonitorElement::getTH2F(), input_dir_, LogDebug, output_dir_, and DQMStore::setCurrentFolder().

Referenced by processHistograms().

243  {
244 
246 
247  TH2F* he = get2DHisto(input_dir_ + "/" + heName, dbe_);
248  TH2F* hi = get2DHisto(input_dir_ + "/" + hiName, dbe_);
249 
250  if (meeff == 0) {
251  LogDebug("TriggerDQM")
252  << "\nL1TGMTClient::makeEfficiency2D: monitoring element zero, not able to retrieve histogram"
253  << std::endl;
254  return;
255  }
256 
257  TH2F* heff = meeff->getTH2F();
258 
259  if (heff && he && hi) {
260  TH2F* hall = (TH2F*) he->Clone("hall");
261  hall->Add(hi);
262  heff->Divide(he, hall, 1., 1., "B");
263  delete hall;
264  }
265 }
#define LogDebug(id)
DQMStore * dbe_
Definition: L1TGMTClient.h:67
std::string input_dir_
Definition: L1TGMTClient.h:69
std::string output_dir_
Definition: L1TGMTClient.h:70
TH2F * get2DHisto(std::string meName, DQMStore *dbi)
TH2F * getTH2F(void) const
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:684
void L1TGMTClient::makeRatio1D ( MonitorElement mer,
std::string  h1Name,
std::string  h2Name 
)
private

Definition at line 193 of file L1TGMTClient.cc.

References dbe_, get1DHisto(), MonitorElement::getTH1F(), AnalysisDataFormats_SUSYBSMObjects::hr, input_dir_, LogDebug, output_dir_, and DQMStore::setCurrentFolder().

194  {
195 
197 
198  TH1F* h1 = get1DHisto(input_dir_ + "/" + h1Name, dbe_);
199  TH1F* h2 = get1DHisto(input_dir_ + "/" + h2Name, dbe_);
200 
201  if (mer == 0) {
202  LogDebug("TriggerDQM")
203  << "\nL1TGMTClient::makeRatio1D: monitoring element zero, not able to retrieve histogram"
204  << std::endl;
205  return;
206  }
207 
208  TH1F* hr = mer->getTH1F();
209 
210  if (hr && h1 && h2) {
211  hr->Divide(h1, h2, 1., 1., " ");
212  }
213 }
#define LogDebug(id)
DQMStore * dbe_
Definition: L1TGMTClient.h:67
std::string input_dir_
Definition: L1TGMTClient.h:69
susybsm::HSCParticleRef hr
Definition: classes.h:26
TH1F * getTH1F(void) const
TH1F * get1DHisto(std::string meName, DQMStore *dbi)
std::string output_dir_
Definition: L1TGMTClient.h:70
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:684
void L1TGMTClient::processHistograms ( )
private

Definition at line 155 of file L1TGMTClient.cc.

References eff_eta_dtcsc, eff_eta_rpc, eff_etaphi_dtcsc, eff_etaphi_rpc, eff_phi_dtcsc, eff_phi_rpc, LogDebug, makeEfficiency1D(), and makeEfficiency2D().

Referenced by analyze(), endJob(), endLuminosityBlock(), and endRun().

155  {
156 
157  LogDebug("TriggerDQM") << "L1TGMTClient: processing..." << std::endl;
158 
159  makeEfficiency1D(eff_eta_dtcsc, "eta_DTCSC_and_RPC", "eta_RPC_only");
160  makeEfficiency1D(eff_eta_rpc, "eta_DTCSC_and_RPC", "eta_DTCSC_only");
161 
162  makeEfficiency1D(eff_phi_dtcsc, "phi_DTCSC_and_RPC", "phi_RPC_only");
163  makeEfficiency1D(eff_phi_rpc, "phi_DTCSC_and_RPC", "phi_DTCSC_only");
164 
165  makeEfficiency2D(eff_etaphi_dtcsc, "etaphi_DTCSC_and_RPC",
166  "etaphi_RPC_only");
167  makeEfficiency2D(eff_etaphi_rpc, "etaphi_DTCSC_and_RPC",
168  "etaphi_DTCSC_only");
169 
170 }
#define LogDebug(id)
MonitorElement * eff_eta_rpc
Definition: L1TGMTClient.h:79
MonitorElement * eff_etaphi_dtcsc
Definition: L1TGMTClient.h:82
MonitorElement * eff_etaphi_rpc
Definition: L1TGMTClient.h:83
MonitorElement * eff_phi_rpc
Definition: L1TGMTClient.h:81
MonitorElement * eff_eta_dtcsc
Definition: L1TGMTClient.h:78
MonitorElement * eff_phi_dtcsc
Definition: L1TGMTClient.h:80
void makeEfficiency1D(MonitorElement *meeff, std::string heName, std::string hiName)
void makeEfficiency2D(MonitorElement *meeff, std::string heName, std::string hiName)

Member Data Documentation

DQMStore* L1TGMTClient::dbe_
private
MonitorElement* L1TGMTClient::eff_eta_dtcsc
private

Definition at line 78 of file L1TGMTClient.h.

Referenced by beginRun(), and processHistograms().

MonitorElement* L1TGMTClient::eff_eta_rpc
private

Definition at line 79 of file L1TGMTClient.h.

Referenced by beginRun(), and processHistograms().

MonitorElement* L1TGMTClient::eff_etaphi_dtcsc
private

Definition at line 82 of file L1TGMTClient.h.

Referenced by beginRun(), and processHistograms().

MonitorElement* L1TGMTClient::eff_etaphi_rpc
private

Definition at line 83 of file L1TGMTClient.h.

Referenced by beginRun(), and processHistograms().

MonitorElement* L1TGMTClient::eff_phi_dtcsc
private

Definition at line 80 of file L1TGMTClient.h.

Referenced by beginRun(), and processHistograms().

MonitorElement* L1TGMTClient::eff_phi_rpc
private

Definition at line 81 of file L1TGMTClient.h.

Referenced by beginRun(), and processHistograms().

std::string L1TGMTClient::input_dir_
private
bool L1TGMTClient::m_runInEndJob
private

Definition at line 75 of file L1TGMTClient.h.

Referenced by endJob(), and initialize().

bool L1TGMTClient::m_runInEndLumi
private

Definition at line 73 of file L1TGMTClient.h.

Referenced by endLuminosityBlock(), and initialize().

bool L1TGMTClient::m_runInEndRun
private

Definition at line 74 of file L1TGMTClient.h.

Referenced by endRun(), and initialize().

bool L1TGMTClient::m_runInEventLoop
private

Definition at line 72 of file L1TGMTClient.h.

Referenced by analyze(), and initialize().

std::string L1TGMTClient::monitorName_
private

Definition at line 68 of file L1TGMTClient.h.

Referenced by initialize().

std::string L1TGMTClient::output_dir_
private
edm::ParameterSet L1TGMTClient::parameters_
private