CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Attributes
HEff2DHitHarvest Class Reference

#include <Histograms.h>

Public Types

typedef dqm::legacy::DQMStore DQMStore
 
typedef dqm::legacy::MonitorElement MonitorElement
 

Public Member Functions

void computeEfficiency (DQMStore::IGetter &getter)
 
 HEff2DHitHarvest (const std::string &name, DQMStore::IBooker &booker, DQMStore::IGetter &getter)
 

Private Attributes

MonitorElementhEffVsAngle
 
MonitorElementhEffVsEta
 
MonitorElementhEffVsPhi
 
MonitorElementhEffVsPos
 
std::string name_
 

Detailed Description

Definition at line 383 of file Histograms.h.

Member Typedef Documentation

◆ DQMStore

Definition at line 385 of file Histograms.h.

◆ MonitorElement

Definition at line 386 of file Histograms.h.

Constructor & Destructor Documentation

◆ HEff2DHitHarvest()

HEff2DHitHarvest::HEff2DHitHarvest ( const std::string &  name,
DQMStore::IBooker booker,
DQMStore::IGetter getter 
)
inline

Definition at line 388 of file Histograms.h.

References dqm::implementation::IBooker::book1D(), computeEfficiency(), hEffVsAngle, hEffVsEta, hEffVsPhi, hEffVsPos, M_PI, Skims_PA_cff::name, name_, dqm::implementation::NavigatorBase::setCurrentFolder(), and AlCaHLTBitMon_QueryRunRegistry::string.

388  {
389  std::string pre = "2D_";
390  pre += name;
391  name_ = pre;
392  booker.setCurrentFolder("DT/2DSegments/");
393  hEffVsEta = booker.book1D(pre + "_hEffVsEta", "2D RecHit Efficiency as a function of Eta", 100, -1.5, 1.5);
394  hEffVsPhi = booker.book1D(pre + "_hEffVsPhi", "2D RecHit Efficiency as a function of Phi", 100, -M_PI, M_PI);
395  hEffVsPos =
396  booker.book1D(pre + "_hEffVsPos", "2D RecHit Efficiency as a function of position in SL", 100, -250, 250);
397  hEffVsAngle = booker.book1D(pre + "_hEffVsAngle", "2D RecHit Efficiency as a function of angle", 100, -2, 2);
398 
399  computeEfficiency(getter);
400  }
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:36
std::string name_
Definition: Histograms.h:416
MonitorElement * hEffVsPhi
Definition: Histograms.h:412
MonitorElement * hEffVsEta
Definition: Histograms.h:411
MonitorElement * hEffVsAngle
Definition: Histograms.h:414
#define M_PI
MonitorElement * hEffVsPos
Definition: Histograms.h:413
void computeEfficiency(DQMStore::IGetter &getter)
Definition: Histograms.h:402
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98

Member Function Documentation

◆ computeEfficiency()

void HEff2DHitHarvest::computeEfficiency ( DQMStore::IGetter getter)
inline

Definition at line 402 of file Histograms.h.

References divide(), dqm::implementation::IGetter::get(), hEffVsAngle, hEffVsEta, hEffVsPhi, hEffVsPos, name_, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by HEff2DHitHarvest().

402  {
403  std::string pre = "DT/2DSegments/" + name_;
404  divide(hEffVsEta, getter.get(pre + "_hEtaRecHit"), getter.get(pre + "_hEtaSimSegm"));
405  divide(hEffVsPhi, getter.get(pre + "_hPhiRecHit"), getter.get(pre + "_hPhiSimSegm"));
406  divide(hEffVsPos, getter.get(pre + "_hPosRecHit"), getter.get(pre + "_hPosSimSegm"));
407  divide(hEffVsAngle, getter.get(pre + "_hAngleRecHit"), getter.get(pre + "_hAngleSimSegm"));
408  }
std::string name_
Definition: Histograms.h:416
MonitorElement * hEffVsPhi
Definition: Histograms.h:412
void divide(dqm::legacy::MonitorElement *eff, const dqm::legacy::MonitorElement *numerator, const dqm::legacy::MonitorElement *denominator)
Function to fill an efficiency histograms with binomial errors.
Definition: Histograms.h:20
MonitorElement * hEffVsEta
Definition: Histograms.h:411
MonitorElement * hEffVsAngle
Definition: Histograms.h:414
virtual MonitorElement * get(std::string const &fullpath) const
Definition: DQMStore.cc:690
MonitorElement * hEffVsPos
Definition: Histograms.h:413

Member Data Documentation

◆ hEffVsAngle

MonitorElement* HEff2DHitHarvest::hEffVsAngle
private

Definition at line 414 of file Histograms.h.

Referenced by computeEfficiency(), and HEff2DHitHarvest().

◆ hEffVsEta

MonitorElement* HEff2DHitHarvest::hEffVsEta
private

Definition at line 411 of file Histograms.h.

Referenced by computeEfficiency(), and HEff2DHitHarvest().

◆ hEffVsPhi

MonitorElement* HEff2DHitHarvest::hEffVsPhi
private

Definition at line 412 of file Histograms.h.

Referenced by computeEfficiency(), and HEff2DHitHarvest().

◆ hEffVsPos

MonitorElement* HEff2DHitHarvest::hEffVsPos
private

Definition at line 413 of file Histograms.h.

Referenced by computeEfficiency(), and HEff2DHitHarvest().

◆ name_

std::string HEff2DHitHarvest::name_
private

Definition at line 416 of file Histograms.h.

Referenced by computeEfficiency(), and HEff2DHitHarvest().