CMS 3D CMS Logo

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

A set of histograms for efficiency 4D RecHits (harvesting) More...

#include <Histograms.h>

Public Types

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

Public Member Functions

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

Private Attributes

MonitorElementhEffVsAlpha
 
MonitorElementhEffVsBeta
 
MonitorElementhEffVsEta
 
MonitorElementhEffVsPhi
 
MonitorElementhEffVsX
 
MonitorElementhEffVsY
 
std::string name_
 

Detailed Description

A set of histograms for efficiency 4D RecHits (harvesting)

Definition at line 1022 of file Histograms.h.

Member Typedef Documentation

◆ DQMStore

Definition at line 1024 of file Histograms.h.

◆ MonitorElement

Definition at line 1025 of file Histograms.h.

Constructor & Destructor Documentation

◆ HEff4DHitHarvest()

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

Definition at line 1027 of file Histograms.h.

References dqm::implementation::IBooker::book1D(), computeEfficiency(), hEffVsAlpha, hEffVsBeta, hEffVsEta, hEffVsPhi, hEffVsX, hEffVsY, M_PI, Skims_PA_cff::name, name_, dqm::implementation::NavigatorBase::setCurrentFolder(), and AlCaHLTBitMon_QueryRunRegistry::string.

1027  {
1028  std::string pre = "4D_";
1029  pre += name;
1030  name_ = pre;
1031  booker.setCurrentFolder("DT/4DSegments/");
1032  hEffVsEta = booker.book1D(pre + "_hEffVsEta", "4D RecHit Efficiency as a function of Eta", 100, -1.5, 1.5);
1033  hEffVsPhi = booker.book1D(pre + "_hEffVsPhi", "4D RecHit Efficiency as a function of Phi", 100, -M_PI, M_PI);
1034  hEffVsX =
1035  booker.book1D(pre + "_hEffVsX", "4D RecHit Efficiency as a function of x position in Chamber", 100, -200, 200);
1036  hEffVsY =
1037  booker.book1D(pre + "_hEffVsY", "4D RecHit Efficiency as a function of y position in Chamber", 100, -200, 200);
1038  hEffVsAlpha = booker.book1D(pre + "_hEffVsAlpha", "4D RecHit Efficiency as a function of alpha", 100, -1.5, 1.5);
1039  hEffVsBeta = booker.book1D(pre + "_hEffVsBeta", "4D RecHit Efficiency as a function of beta", 100, -2, 2);
1040 
1041  computeEfficiency(getter);
1042  }
MonitorElement * hEffVsEta
Definition: Histograms.h:1055
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:36
MonitorElement * hEffVsPhi
Definition: Histograms.h:1056
MonitorElement * hEffVsX
Definition: Histograms.h:1058
MonitorElement * hEffVsY
Definition: Histograms.h:1059
MonitorElement * hEffVsAlpha
Definition: Histograms.h:1061
#define M_PI
std::string name_
Definition: Histograms.h:1064
void computeEfficiency(DQMStore::IGetter &getter)
Definition: Histograms.h:1044
MonitorElement * hEffVsBeta
Definition: Histograms.h:1062
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 HEff4DHitHarvest::computeEfficiency ( DQMStore::IGetter getter)
inline

Definition at line 1044 of file Histograms.h.

References divide(), dqm::implementation::IGetter::get(), hEffVsAlpha, hEffVsBeta, hEffVsEta, hEffVsPhi, hEffVsX, hEffVsY, name_, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by HEff4DHitHarvest().

1044  {
1045  std::string pre = "DT/4DSegments/" + name_;
1046  divide(hEffVsEta, getter.get(pre + "_hEtaRecHit"), getter.get(pre + "_hEtaSimSegm"));
1047  divide(hEffVsPhi, getter.get(pre + "_hPhiRecHit"), getter.get(pre + "_hPhiSimSegm"));
1048  divide(hEffVsX, getter.get(pre + "_hXRecHit"), getter.get(pre + "_hXSimSegm"));
1049  divide(hEffVsY, getter.get(pre + "_hYRecHit"), getter.get(pre + "_hYSimSegm"));
1050  divide(hEffVsAlpha, getter.get(pre + "_hAlphaRecHit"), getter.get(pre + "_hAlphaSimSegm"));
1051  divide(hEffVsBeta, getter.get(pre + "_hBetaRecHit"), getter.get(pre + "_hBetaSimSegm"));
1052  }
MonitorElement * hEffVsEta
Definition: Histograms.h:1055
MonitorElement * hEffVsPhi
Definition: Histograms.h:1056
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 * hEffVsX
Definition: Histograms.h:1058
MonitorElement * hEffVsY
Definition: Histograms.h:1059
MonitorElement * hEffVsAlpha
Definition: Histograms.h:1061
std::string name_
Definition: Histograms.h:1064
MonitorElement * hEffVsBeta
Definition: Histograms.h:1062
virtual MonitorElement * get(std::string const &fullpath) const
Definition: DQMStore.cc:690

Member Data Documentation

◆ hEffVsAlpha

MonitorElement* HEff4DHitHarvest::hEffVsAlpha
private

Definition at line 1061 of file Histograms.h.

Referenced by computeEfficiency(), and HEff4DHitHarvest().

◆ hEffVsBeta

MonitorElement* HEff4DHitHarvest::hEffVsBeta
private

Definition at line 1062 of file Histograms.h.

Referenced by computeEfficiency(), and HEff4DHitHarvest().

◆ hEffVsEta

MonitorElement* HEff4DHitHarvest::hEffVsEta
private

Definition at line 1055 of file Histograms.h.

Referenced by computeEfficiency(), and HEff4DHitHarvest().

◆ hEffVsPhi

MonitorElement* HEff4DHitHarvest::hEffVsPhi
private

Definition at line 1056 of file Histograms.h.

Referenced by computeEfficiency(), and HEff4DHitHarvest().

◆ hEffVsX

MonitorElement* HEff4DHitHarvest::hEffVsX
private

Definition at line 1058 of file Histograms.h.

Referenced by computeEfficiency(), and HEff4DHitHarvest().

◆ hEffVsY

MonitorElement* HEff4DHitHarvest::hEffVsY
private

Definition at line 1059 of file Histograms.h.

Referenced by computeEfficiency(), and HEff4DHitHarvest().

◆ name_

std::string HEff4DHitHarvest::name_
private

Definition at line 1064 of file Histograms.h.

Referenced by computeEfficiency(), and HEff4DHitHarvest().