CMS 3D CMS Logo

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

A set of histograms for efficiency 4D RecHits. More...

#include <Histograms.h>

Public Member Functions

void ComputeEfficiency ()
 
void Fill (float etaSimSegm, float phiSimSegm, float xSimSegm, float ySimSegm, float alphaSimSegm, float betaSimSegm, bool fillRecHit)
 
 HEff4DHit (std::string name_, DQMStore *dbe_)
 
 ~HEff4DHit ()
 

Public Attributes

MonitorElementhAlphaRecHit
 
MonitorElementhAlphaSimSegm
 
MonitorElementhBetaRecHit
 
MonitorElementhBetaSimSegm
 
TH1F * hEffVsAlpha
 
TH1F * hEffVsBeta
 
TH1F * hEffVsEta
 
TH1F * hEffVsPhi
 
TH1F * hEffVsX
 
TH1F * hEffVsY
 
MonitorElementhEtaRecHit
 
MonitorElementhEtaSimSegm
 
MonitorElementhPhiRecHit
 
MonitorElementhPhiSimSegm
 
MonitorElementhXRecHit
 
MonitorElementhXSimSegm
 
MonitorElementhYRecHit
 
MonitorElementhYSimSegm
 
TString name
 

Detailed Description

A set of histograms for efficiency 4D RecHits.

Definition at line 1120 of file Histograms.h.

Constructor & Destructor Documentation

HEff4DHit::HEff4DHit ( std::string  name_,
DQMStore dbe_ 
)
inline

Definition at line 1122 of file Histograms.h.

References DQMStore::book1D(), hAlphaRecHit, hAlphaSimSegm, hBetaRecHit, hBetaSimSegm, hEffVsAlpha, hEffVsBeta, hEffVsEta, hEffVsPhi, hEffVsX, hEffVsY, hEtaRecHit, hEtaSimSegm, hPhiRecHit, hPhiSimSegm, hXRecHit, hXSimSegm, hYRecHit, hYSimSegm, name, Pi, DQMStore::setCurrentFolder(), and AlCaHLTBitMon_QueryRunRegistry::string.

1122  {
1123  std::string pre ="4D_";
1124  pre += name_;
1125  name = pre;
1126  dbe_->setCurrentFolder("DT/4DSegments/");
1127  hEtaSimSegm=0;hEtaSimSegm = dbe_->book1D(pre+"_hEtaSimSegm", "Eta of SimHit segment", 100, -1.5, 1.5);
1128  hEtaRecHit=0;hEtaRecHit = dbe_->book1D(pre+"_hEtaRecHit", "Eta distribution of SimHit segment with 4D RecHit",
1129  100, -1.5, 1.5);
1130  hEffVsEta = 0;
1131 
1132  hPhiSimSegm=0;hPhiSimSegm = dbe_->book1D(pre+"_hPhiSimSegm", "Phi of SimHit segment",
1133  100, -TMath::Pi(),TMath::Pi());
1134  hPhiRecHit=0;hPhiRecHit = dbe_->book1D(pre+"_hPhiRecHit", "Phi distribution of SimHit segment with 4D RecHit",
1135  100, -TMath::Pi(),TMath::Pi());
1136  hEffVsPhi = 0;
1137 
1138 
1139  hXSimSegm=0;hXSimSegm = dbe_->book1D(pre+"_hXSimSegm", "X position in Chamber of SimHit segment (cm)",
1140  100, -200, 200);
1141  hXRecHit=0;hXRecHit = dbe_->book1D(pre+"_hXRecHit", "X position in Chamber of SimHit segment with 4D RecHit (cm)",
1142  100, -200, 200);
1143  hEffVsX = 0;
1144 
1145  hYSimSegm=0;hYSimSegm = dbe_->book1D(pre+"_hYSimSegm", "Y position in Chamber of SimHit segment (cm)",
1146  100, -200, 200);
1147  hYRecHit=0;hYRecHit = dbe_->book1D(pre+"_hYRecHit", "Y position in Chamber of SimHit segment with 4D RecHit (cm)",
1148  100, -200, 200);
1149  hEffVsY = 0;
1150 
1151  hAlphaSimSegm=0;hAlphaSimSegm = dbe_->book1D(pre+"_hAlphaSimSegm", "Alpha of SimHit segment (rad)",
1152  100, -1.5, 1.5);
1153  hAlphaRecHit=0;hAlphaRecHit = dbe_->book1D(pre+"_hAlphaRecHit", "Alpha of SimHit segment with 4D RecHit (rad)",
1154  100, -1.5, 1.5);
1155  hEffVsAlpha = 0;
1156 
1157  hBetaSimSegm=0;hBetaSimSegm = dbe_->book1D(pre+"_hBetaSimSegm", "Beta of SimHit segment (rad)",
1158  100, -2, 2);
1159  hBetaRecHit=0;hBetaRecHit = dbe_->book1D(pre+"_hBetaRecHit", "Beta of SimHit segment with 4D RecHit (rad)",
1160  100, -2, 2);
1161  hEffVsBeta = 0;
1162 
1163  }
const double Pi
MonitorElement * hAlphaRecHit
Definition: Histograms.h:1391
TH1F * hEffVsEta
Definition: Histograms.h:1380
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:722
MonitorElement * hBetaSimSegm
Definition: Histograms.h:1393
TH1F * hEffVsX
Definition: Histograms.h:1386
MonitorElement * hXRecHit
Definition: Histograms.h:1385
MonitorElement * hEtaSimSegm
Definition: Histograms.h:1378
MonitorElement * hPhiRecHit
Definition: Histograms.h:1382
TH1F * hEffVsBeta
Definition: Histograms.h:1395
MonitorElement * hPhiSimSegm
Definition: Histograms.h:1381
TString name
Definition: Histograms.h:1397
MonitorElement * hEtaRecHit
Definition: Histograms.h:1379
TH1F * hEffVsAlpha
Definition: Histograms.h:1392
MonitorElement * hBetaRecHit
Definition: Histograms.h:1394
MonitorElement * hAlphaSimSegm
Definition: Histograms.h:1390
MonitorElement * hYSimSegm
Definition: Histograms.h:1387
TH1F * hEffVsY
Definition: Histograms.h:1389
TH1F * hEffVsPhi
Definition: Histograms.h:1383
MonitorElement * hYRecHit
Definition: Histograms.h:1388
MonitorElement * hXSimSegm
Definition: Histograms.h:1384
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:434
HEff4DHit::~HEff4DHit ( )
inline

Definition at line 1193 of file Histograms.h.

1193  {
1194 
1195  /*delete hEtaSimSegm;
1196  delete hEtaRecHit;
1197  delete hEffVsEta;
1198  delete hPhiSimSegm;
1199  delete hPhiRecHit;
1200  delete hEffVsPhi;
1201  delete hXSimSegm;
1202  delete hXRecHit;
1203  delete hEffVsX;
1204  delete hYSimSegm;
1205  delete hYRecHit;
1206  delete hEffVsY;
1207  delete hAlphaSimSegm;
1208  delete hAlphaRecHit;
1209  delete hEffVsAlpha;
1210  delete hBetaSimSegm;
1211  delete hBetaRecHit;
1212  delete hEffVsBeta;*/
1213  }

Member Function Documentation

void HEff4DHit::ComputeEfficiency ( )
inline

Definition at line 1242 of file Histograms.h.

References newFWLiteAna::bin, error, MonitorElement::getTH1(), hAlphaRecHit, hAlphaSimSegm, hBetaRecHit, hBetaSimSegm, hEffVsAlpha, hEffVsBeta, hEffVsEta, hEffVsPhi, hEffVsX, hEffVsY, hEtaRecHit, hEtaSimSegm, hPhiRecHit, hPhiSimSegm, hXRecHit, hXSimSegm, hYRecHit, hYSimSegm, name, and mathSSE::sqrt().

1242  {
1243  //hEffVsEta = (TH1F *) hEtaRecHit->Clone();
1244  hEffVsEta = (TH1F *) hEtaRecHit->getTH1();
1245  TH1F * hEffEtaSimSegm = (TH1F *) hEtaSimSegm->getTH1();
1246  hEffVsEta->SetName(name+"_hEffVsEta");
1247  hEffVsEta->SetTitle("4D RecHit Efficiency as a function of Eta");
1248  hEffVsEta->Divide(hEffEtaSimSegm);
1249  // Set the error accordingly to binomial statistics
1250  int nBinsEta = hEffVsEta->GetNbinsX();
1251  for(int bin = 1; bin <= nBinsEta; bin++) {
1252  float nSimHit = hEffEtaSimSegm->GetBinContent(bin);
1253  float eff = hEffVsEta->GetBinContent(bin);
1254  float error = 0;
1255  if(nSimHit != 0) {
1256  error = sqrt(eff*(1-eff)/nSimHit);
1257  }
1258  hEffVsEta->SetBinError(bin, error);
1259  }
1260 
1261  hEffVsPhi = (TH1F *) hPhiRecHit->getTH1();
1262  TH1F * hEffPhiSimSegm = (TH1F *) hPhiSimSegm->getTH1();
1263  hEffVsPhi->SetName(name+"_hEffVsPhi");
1264  hEffVsPhi->SetTitle("4D RecHit Efficiency as a function of Phi");
1265  hEffVsPhi->Divide(hEffPhiSimSegm);
1266  // Set the error accordingly to binomial statistics
1267  int nBinsPhi = hEffVsPhi->GetNbinsX();
1268  for(int bin = 1; bin <= nBinsPhi; bin++) {
1269  float nSimHit = hEffPhiSimSegm->GetBinContent(bin);
1270  float eff = hEffVsPhi->GetBinContent(bin);
1271  float error = 0;
1272  if(nSimHit != 0) {
1273  error = sqrt(eff*(1-eff)/nSimHit);
1274  }
1275  hEffVsPhi->SetBinError(bin, error);
1276  }
1277 
1278  hEffVsX = (TH1F *) hXRecHit->getTH1();
1279  TH1F * hEffXSimSegm = (TH1F *) hXSimSegm->getTH1();
1280  hEffVsX->SetName(name+"_hEffVsX");
1281  hEffVsX->SetTitle("4D RecHit Efficiency as a function of x position in Chamber");
1282  hEffVsX->Divide(hEffXSimSegm);
1283  // Set the error accordingly to binomial statistics
1284  int nBinsX = hEffVsX->GetNbinsX();
1285  for(int bin = 1; bin <= nBinsX; bin++) {
1286  float nSimHit = hEffXSimSegm->GetBinContent(bin);
1287  float eff = hEffVsX->GetBinContent(bin);
1288  float error = 0;
1289  if(nSimHit != 0) {
1290  error = sqrt(eff*(1-eff)/nSimHit);
1291  }
1292  hEffVsX->SetBinError(bin, error);
1293  }
1294 
1295 
1296  hEffVsY = (TH1F *) hYRecHit->getTH1();
1297  TH1F * hEffYSimSegm = (TH1F *) hYSimSegm->getTH1();
1298  hEffVsY->SetName(name+"_hEffVsY");
1299  hEffVsY->SetTitle("4D RecHit Efficiency as a function of y position in Chamber");
1300  hEffVsY->Divide(hEffYSimSegm);
1301  // Set the error accordingly to binomial statistics
1302  int nBinsY = hEffVsY->GetNbinsX();
1303  for(int bin = 1; bin <= nBinsY; bin++) {
1304  float nSimHit = hEffYSimSegm->GetBinContent(bin);
1305  float eff = hEffVsY->GetBinContent(bin);
1306  float error = 0;
1307  if(nSimHit != 0) {
1308  error = sqrt(eff*(1-eff)/nSimHit);
1309  }
1310  hEffVsY->SetBinError(bin, error);
1311  }
1312 
1313  hEffVsAlpha = (TH1F *) hAlphaRecHit->getTH1();
1314  TH1F * hEffAlphaSimSegm = (TH1F *) hAlphaSimSegm->getTH1();
1315  hEffVsAlpha->SetName(name+"_hEffVsAlpha");
1316  hEffVsAlpha->SetTitle("4D RecHit Efficiency as a function of alpha");
1317  hEffVsAlpha->Divide(hEffAlphaSimSegm);
1318  // Set the error accordingly to binomial statistics
1319  int nBinsAlpha = hEffVsAlpha->GetNbinsX();
1320  for(int bin = 1; bin <= nBinsAlpha; bin++) {
1321  float nSimHit = hEffAlphaSimSegm->GetBinContent(bin);
1322  float eff = hEffVsAlpha->GetBinContent(bin);
1323  float error = 0;
1324  if(nSimHit != 0) {
1325  error = sqrt(eff*(1-eff)/nSimHit);
1326  }
1327  hEffVsAlpha->SetBinError(bin, error);
1328  }
1329 
1330 
1331  hEffVsBeta = (TH1F *) hBetaRecHit->getTH1();
1332  TH1F * hEffBetaSimSegm = (TH1F *) hBetaSimSegm->getTH1();
1333  hEffVsBeta->SetName(name+"_hEffVsBeta");
1334  hEffVsBeta->SetTitle("4D RecHit Efficiency as a function of beta");
1335  hEffVsBeta->Divide(hEffBetaSimSegm);
1336  // Set the error accordingly to binomial statistics
1337  int nBinsBeta = hEffVsBeta->GetNbinsX();
1338  for(int bin = 1; bin <= nBinsBeta; bin++) {
1339  float nSimHit = hEffBetaSimSegm->GetBinContent(bin);
1340  float eff = hEffVsBeta->GetBinContent(bin);
1341  float error = 0;
1342  if(nSimHit != 0) {
1343  error = sqrt(eff*(1-eff)/nSimHit);
1344  }
1345  hEffVsBeta->SetBinError(bin, error);
1346  }
1347  }
MonitorElement * hAlphaRecHit
Definition: Histograms.h:1391
TH1F * hEffVsEta
Definition: Histograms.h:1380
MonitorElement * hBetaSimSegm
Definition: Histograms.h:1393
TH1F * hEffVsX
Definition: Histograms.h:1386
MonitorElement * hXRecHit
Definition: Histograms.h:1385
MonitorElement * hEtaSimSegm
Definition: Histograms.h:1378
MonitorElement * hPhiRecHit
Definition: Histograms.h:1382
TH1F * hEffVsBeta
Definition: Histograms.h:1395
MonitorElement * hPhiSimSegm
Definition: Histograms.h:1381
TString name
Definition: Histograms.h:1397
T sqrt(T t)
Definition: SSEVec.h:48
MonitorElement * hEtaRecHit
Definition: Histograms.h:1379
TH1 * getTH1(void) const
TH1F * hEffVsAlpha
Definition: Histograms.h:1392
MonitorElement * hBetaRecHit
Definition: Histograms.h:1394
MonitorElement * hAlphaSimSegm
Definition: Histograms.h:1390
MonitorElement * hYSimSegm
Definition: Histograms.h:1387
TH1F * hEffVsY
Definition: Histograms.h:1389
TH1F * hEffVsPhi
Definition: Histograms.h:1383
MonitorElement * hYRecHit
Definition: Histograms.h:1388
MonitorElement * hXSimSegm
Definition: Histograms.h:1384
void HEff4DHit::Fill ( float  etaSimSegm,
float  phiSimSegm,
float  xSimSegm,
float  ySimSegm,
float  alphaSimSegm,
float  betaSimSegm,
bool  fillRecHit 
)
inline

Definition at line 1215 of file Histograms.h.

References MonitorElement::Fill(), hAlphaRecHit, hAlphaSimSegm, hBetaRecHit, hBetaSimSegm, hEtaRecHit, hEtaSimSegm, hPhiRecHit, hPhiSimSegm, hXRecHit, hXSimSegm, hYRecHit, and hYSimSegm.

Referenced by DTSegment4DQuality::analyze().

1221  {
1222 
1223  hEtaSimSegm->Fill(etaSimSegm);
1224  hPhiSimSegm->Fill(phiSimSegm);
1225  hXSimSegm->Fill(xSimSegm);
1226  hYSimSegm->Fill(ySimSegm);
1227  hAlphaSimSegm->Fill(alphaSimSegm);
1228  hBetaSimSegm->Fill(betaSimSegm);
1229 
1230  if(fillRecHit) {
1231  hEtaRecHit->Fill(etaSimSegm);
1232  hPhiRecHit->Fill(phiSimSegm);
1233  hXRecHit->Fill(xSimSegm);
1234  hYRecHit->Fill(ySimSegm);
1235  hAlphaRecHit->Fill(alphaSimSegm);
1236  hBetaRecHit->Fill(betaSimSegm);
1237  }
1238  }
MonitorElement * hAlphaRecHit
Definition: Histograms.h:1391
MonitorElement * hBetaSimSegm
Definition: Histograms.h:1393
MonitorElement * hXRecHit
Definition: Histograms.h:1385
MonitorElement * hEtaSimSegm
Definition: Histograms.h:1378
MonitorElement * hPhiRecHit
Definition: Histograms.h:1382
void Fill(long long x)
MonitorElement * hPhiSimSegm
Definition: Histograms.h:1381
MonitorElement * hEtaRecHit
Definition: Histograms.h:1379
MonitorElement * hBetaRecHit
Definition: Histograms.h:1394
MonitorElement * hAlphaSimSegm
Definition: Histograms.h:1390
MonitorElement * hYSimSegm
Definition: Histograms.h:1387
MonitorElement * hYRecHit
Definition: Histograms.h:1388
MonitorElement * hXSimSegm
Definition: Histograms.h:1384

Member Data Documentation

MonitorElement* HEff4DHit::hAlphaRecHit

Definition at line 1391 of file Histograms.h.

Referenced by ComputeEfficiency(), Fill(), and HEff4DHit().

MonitorElement* HEff4DHit::hAlphaSimSegm

Definition at line 1390 of file Histograms.h.

Referenced by ComputeEfficiency(), Fill(), and HEff4DHit().

MonitorElement* HEff4DHit::hBetaRecHit

Definition at line 1394 of file Histograms.h.

Referenced by ComputeEfficiency(), Fill(), and HEff4DHit().

MonitorElement* HEff4DHit::hBetaSimSegm

Definition at line 1393 of file Histograms.h.

Referenced by ComputeEfficiency(), Fill(), and HEff4DHit().

TH1F* HEff4DHit::hEffVsAlpha

Definition at line 1392 of file Histograms.h.

Referenced by ComputeEfficiency(), and HEff4DHit().

TH1F* HEff4DHit::hEffVsBeta

Definition at line 1395 of file Histograms.h.

Referenced by ComputeEfficiency(), and HEff4DHit().

TH1F* HEff4DHit::hEffVsEta

Definition at line 1380 of file Histograms.h.

Referenced by ComputeEfficiency(), and HEff4DHit().

TH1F* HEff4DHit::hEffVsPhi

Definition at line 1383 of file Histograms.h.

Referenced by ComputeEfficiency(), and HEff4DHit().

TH1F* HEff4DHit::hEffVsX

Definition at line 1386 of file Histograms.h.

Referenced by ComputeEfficiency(), and HEff4DHit().

TH1F* HEff4DHit::hEffVsY

Definition at line 1389 of file Histograms.h.

Referenced by ComputeEfficiency(), and HEff4DHit().

MonitorElement* HEff4DHit::hEtaRecHit

Definition at line 1379 of file Histograms.h.

Referenced by ComputeEfficiency(), Fill(), and HEff4DHit().

MonitorElement* HEff4DHit::hEtaSimSegm

Definition at line 1378 of file Histograms.h.

Referenced by ComputeEfficiency(), Fill(), and HEff4DHit().

MonitorElement* HEff4DHit::hPhiRecHit

Definition at line 1382 of file Histograms.h.

Referenced by ComputeEfficiency(), Fill(), and HEff4DHit().

MonitorElement* HEff4DHit::hPhiSimSegm

Definition at line 1381 of file Histograms.h.

Referenced by ComputeEfficiency(), Fill(), and HEff4DHit().

MonitorElement* HEff4DHit::hXRecHit

Definition at line 1385 of file Histograms.h.

Referenced by ComputeEfficiency(), Fill(), and HEff4DHit().

MonitorElement* HEff4DHit::hXSimSegm

Definition at line 1384 of file Histograms.h.

Referenced by ComputeEfficiency(), Fill(), and HEff4DHit().

MonitorElement* HEff4DHit::hYRecHit

Definition at line 1388 of file Histograms.h.

Referenced by ComputeEfficiency(), Fill(), and HEff4DHit().

MonitorElement* HEff4DHit::hYSimSegm

Definition at line 1387 of file Histograms.h.

Referenced by ComputeEfficiency(), Fill(), and HEff4DHit().

TString HEff4DHit::name