CMS 3D CMS Logo

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

A set of histograms of residuals and pulls for 1D RecHits. More...

#include <Histograms.h>

Public Types

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

Public Member Functions

void fill (float distSimHit, float thetaSimHit, float distFESimHit, float distRecHit, float etaSimHit, float phiSimHit, float errRecHit, int station)
 
 HRes1DHit (const std::string &name, DQMStore::IBooker &booker, bool doall=true, bool local=true)
 

Private Attributes

bool doall_
 
dqm::reco::MonitorElementhDist
 
dqm::reco::MonitorElementhPull
 
dqm::reco::MonitorElementhPullSt [4]
 
dqm::reco::MonitorElementhPullVsAngle
 
dqm::reco::MonitorElementhPullVsDistFE
 
dqm::reco::MonitorElementhPullVsPos
 
dqm::reco::MonitorElementhRes
 
dqm::reco::MonitorElementhResSt [4]
 
dqm::reco::MonitorElementhResVsAngle
 
dqm::reco::MonitorElementhResVsDistFE
 
dqm::reco::MonitorElementhResVsEta
 
dqm::reco::MonitorElementhResVsPhi
 
dqm::reco::MonitorElementhResVsPos
 
std::string name_
 

Detailed Description

A set of histograms of residuals and pulls for 1D RecHits.

Definition at line 44 of file Histograms.h.

Member Typedef Documentation

◆ DQMStore

Definition at line 46 of file Histograms.h.

◆ MonitorElement

Definition at line 47 of file Histograms.h.

Constructor & Destructor Documentation

◆ HRes1DHit()

HRes1DHit::HRes1DHit ( const std::string &  name,
DQMStore::IBooker booker,
bool  doall = true,
bool  local = true 
)
inline

Definition at line 49 of file Histograms.h.

References dqm::implementation::IBooker::book1D(), dqm::implementation::IBooker::book2D(), DTRecHitClients_cfi::doall, doall_, hDist, hPull, hPullSt, hPullVsAngle, hPullVsDistFE, hPullVsPos, hRes, hResSt, hResVsAngle, hResVsDistFE, hResVsEta, hResVsPhi, hResVsPos, Skims_PA_cff::name, dqm::implementation::NavigatorBase::setCurrentFolder(), and AlCaHLTBitMon_QueryRunRegistry::string.

49  {
50  std::string pre = "1D_";
51  pre += name;
52  doall_ = doall;
53  booker.setCurrentFolder("DT/1DRecHits/Res/");
54  if (doall) {
55  hDist = booker.book1D(pre + "_hDist", "1D RHit distance from wire", 100, 0, 2.5);
56  hResVsAngle =
57  booker.book2D(pre + "_hResVsAngle", "1D RHit residual vs impact angle", 100, -1.2, 1.2, 100, -0.2, 0.2);
58  hResVsDistFE =
59  booker.book2D(pre + "_hResVsDistFE", "1D RHit residual vs FE distance", 100, 0., 400., 150, -0.5, 0.5);
60  booker.setCurrentFolder("DT/1DRecHits/Pull/");
61  hPullVsPos = booker.book2D(pre + "_hPullVsPos", "1D RHit pull vs position", 100, 0, 2.5, 100, -5, 5);
62  hPullVsAngle = booker.book2D(pre + "_hPullVsAngle", "1D RHit pull vs impact angle", 100, -1.2, 1.2, 100, -5, 5);
63  hPullVsDistFE = booker.book2D(pre + "_hPullVsDistFE", "1D RHit pull vs FE distance", 100, 0., 400., 100, -5, 5);
64  }
65  booker.setCurrentFolder("DT/1DRecHits/Res/");
66  hRes = booker.book1D(pre + "_hRes", "1D RHit residual", 300, -0.5, 0.5);
67  hResSt[0] = booker.book1D(pre + "_hResMB1", "1D RHit residual", 300, -0.5, 0.5);
68  hResSt[1] = booker.book1D(pre + "_hResMB2", "1D RHit residual", 300, -0.5, 0.5);
69  hResSt[2] = booker.book1D(pre + "_hResMB3", "1D RHit residual", 300, -0.5, 0.5);
70  hResSt[3] = booker.book1D(pre + "_hResMB4", "1D RHit residual", 300, -0.5, 0.5);
71  hResVsEta = booker.book2D(pre + "_hResVsEta", "1D RHit residual vs eta", 50, -1.25, 1.25, 150, -0.5, 0.5);
72  hResVsPhi = booker.book2D(pre + "_hResVsPhi", "1D RHit residual vs phi", 100, -3.2, 3.2, 150, -0.5, 0.5);
73  hResVsPos = booker.book2D(pre + "_hResVsPos", "1D RHit residual vs position", 100, 0, 2.5, 150, -0.5, 0.5);
74 
75  booker.setCurrentFolder("DT/1DRecHits/Pull/");
76  hPull = booker.book1D(pre + "_hPull", "1D RHit pull", 100, -5, 5);
77  hPullSt[0] = booker.book1D(pre + "_hPullMB1", "1D RHit residual", 100, -5, 5);
78  hPullSt[1] = booker.book1D(pre + "_hPullMB2", "1D RHit residual", 100, -5, 5);
79  hPullSt[2] = booker.book1D(pre + "_hPullMB3", "1D RHit residual", 100, -5, 5);
80  hPullSt[3] = booker.book1D(pre + "_hPullMB4", "1D RHit residual", 100, -5, 5);
81  }
dqm::reco::MonitorElement * hPull
Definition: Histograms.h:127
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:36
dqm::reco::MonitorElement * hResVsPos
Definition: Histograms.h:123
dqm::reco::MonitorElement * hResVsPhi
Definition: Histograms.h:122
dqm::reco::MonitorElement * hResVsDistFE
Definition: Histograms.h:125
dqm::reco::MonitorElement * hDist
Definition: Histograms.h:118
dqm::reco::MonitorElement * hResVsEta
Definition: Histograms.h:121
dqm::reco::MonitorElement * hPullVsDistFE
Definition: Histograms.h:131
dqm::reco::MonitorElement * hResSt[4]
Definition: Histograms.h:120
dqm::reco::MonitorElement * hPullVsAngle
Definition: Histograms.h:130
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
Definition: DQMStore.h:212
dqm::reco::MonitorElement * hResVsAngle
Definition: Histograms.h:124
bool doall_
Definition: Histograms.h:132
dqm::reco::MonitorElement * hRes
Definition: Histograms.h:119
dqm::reco::MonitorElement * hPullVsPos
Definition: Histograms.h:129
dqm::reco::MonitorElement * hPullSt[4]
Definition: Histograms.h:128
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

◆ fill()

void HRes1DHit::fill ( float  distSimHit,
float  thetaSimHit,
float  distFESimHit,
float  distRecHit,
float  etaSimHit,
float  phiSimHit,
float  errRecHit,
int  station 
)
inline

Definition at line 83 of file Histograms.h.

References gather_cfg::cout, doall_, dqm::impl::MonitorElement::Fill(), hDist, hPull, hPullSt, hPullVsAngle, hPullVsDistFE, hPullVsPos, hRes, hResSt, hResVsAngle, hResVsDistFE, hResVsEta, hResVsPhi, hResVsPos, and relativeConstraints::station.

Referenced by DTRecHitQuality::compute().

90  {
91  // Reso, pull
92  float res = distRecHit - distSimHit;
93  if (doall_) {
94  hDist->Fill(distRecHit);
95  hResVsAngle->Fill(thetaSimHit, res);
96  hResVsDistFE->Fill(distFESimHit, res);
97  }
98  hRes->Fill(res);
99  hResSt[station - 1]->Fill(res);
100  hResVsEta->Fill(etaSimHit, res);
101  hResVsPhi->Fill(phiSimHit, res);
102  hResVsPos->Fill(distSimHit, res);
103  if (errRecHit != 0) {
104  float pull = res / errRecHit;
105  hPull->Fill(pull);
106  hPullSt[station - 1]->Fill(pull);
107  if (doall_) {
108  hPullVsPos->Fill(distSimHit, pull);
109  hPullVsAngle->Fill(thetaSimHit, pull);
110  hPullVsDistFE->Fill(distFESimHit, pull);
111  }
112  } else {
113  std::cout << "Error: RecHit error = 0" << std::endl;
114  }
115  }
dqm::reco::MonitorElement * hPull
Definition: Histograms.h:127
dqm::reco::MonitorElement * hResVsPos
Definition: Histograms.h:123
dqm::reco::MonitorElement * hResVsPhi
Definition: Histograms.h:122
dqm::reco::MonitorElement * hResVsDistFE
Definition: Histograms.h:125
Definition: Electron.h:6
void Fill(long long x)
dqm::reco::MonitorElement * hDist
Definition: Histograms.h:118
dqm::reco::MonitorElement * hResVsEta
Definition: Histograms.h:121
dqm::reco::MonitorElement * hPullVsDistFE
Definition: Histograms.h:131
dqm::reco::MonitorElement * hResSt[4]
Definition: Histograms.h:120
dqm::reco::MonitorElement * hPullVsAngle
Definition: Histograms.h:130
dqm::reco::MonitorElement * hResVsAngle
Definition: Histograms.h:124
bool doall_
Definition: Histograms.h:132
dqm::reco::MonitorElement * hRes
Definition: Histograms.h:119
dqm::reco::MonitorElement * hPullVsPos
Definition: Histograms.h:129
dqm::reco::MonitorElement * hPullSt[4]
Definition: Histograms.h:128

Member Data Documentation

◆ doall_

bool HRes1DHit::doall_
private

Definition at line 132 of file Histograms.h.

Referenced by fill(), and HRes1DHit().

◆ hDist

dqm::reco::MonitorElement* HRes1DHit::hDist
private

Definition at line 118 of file Histograms.h.

Referenced by fill(), and HRes1DHit().

◆ hPull

dqm::reco::MonitorElement* HRes1DHit::hPull
private

Definition at line 127 of file Histograms.h.

Referenced by fill(), and HRes1DHit().

◆ hPullSt

dqm::reco::MonitorElement* HRes1DHit::hPullSt[4]
private

Definition at line 128 of file Histograms.h.

Referenced by fill(), and HRes1DHit().

◆ hPullVsAngle

dqm::reco::MonitorElement* HRes1DHit::hPullVsAngle
private

Definition at line 130 of file Histograms.h.

Referenced by fill(), and HRes1DHit().

◆ hPullVsDistFE

dqm::reco::MonitorElement* HRes1DHit::hPullVsDistFE
private

Definition at line 131 of file Histograms.h.

Referenced by fill(), and HRes1DHit().

◆ hPullVsPos

dqm::reco::MonitorElement* HRes1DHit::hPullVsPos
private

Definition at line 129 of file Histograms.h.

Referenced by fill(), and HRes1DHit().

◆ hRes

dqm::reco::MonitorElement* HRes1DHit::hRes
private

Definition at line 119 of file Histograms.h.

Referenced by fill(), and HRes1DHit().

◆ hResSt

dqm::reco::MonitorElement* HRes1DHit::hResSt[4]
private

Definition at line 120 of file Histograms.h.

Referenced by fill(), and HRes1DHit().

◆ hResVsAngle

dqm::reco::MonitorElement* HRes1DHit::hResVsAngle
private

Definition at line 124 of file Histograms.h.

Referenced by fill(), and HRes1DHit().

◆ hResVsDistFE

dqm::reco::MonitorElement* HRes1DHit::hResVsDistFE
private

Definition at line 125 of file Histograms.h.

Referenced by fill(), and HRes1DHit().

◆ hResVsEta

dqm::reco::MonitorElement* HRes1DHit::hResVsEta
private

Definition at line 121 of file Histograms.h.

Referenced by fill(), and HRes1DHit().

◆ hResVsPhi

dqm::reco::MonitorElement* HRes1DHit::hResVsPhi
private

Definition at line 122 of file Histograms.h.

Referenced by fill(), and HRes1DHit().

◆ hResVsPos

dqm::reco::MonitorElement* HRes1DHit::hResVsPos
private

Definition at line 123 of file Histograms.h.

Referenced by fill(), and HRes1DHit().

◆ name_

std::string HRes1DHit::name_
private

Definition at line 133 of file Histograms.h.