![]() |
![]() |
A set of histograms for efficiency 1D DT RecHits. More...
#include <Histograms.h>
Public Member Functions | |
void | ComputeEfficiency () |
void | Fill (float distSimHit, float etaSimHit, float phiSimHit, bool fillRecHit) |
HEff1DHit (std::string name_) | |
HEff1DHit (TString name_, TFile *file) | |
void | Write () |
~HEff1DHit () | |
Public Attributes | |
TH1F * | hDistMuSimHit |
TH1F * | hDistRecHit |
TH1F * | hEffVsDist |
TH1F * | hEffVsEta |
TH1F * | hEffVsPhi |
TH1F * | hEtaMuSimHit |
TH1F * | hEtaRecHit |
TH1F * | hPhiMuSimHit |
TH1F * | hPhiRecHit |
TString | name |
A set of histograms for efficiency 1D DT RecHits.
Definition at line 139 of file Histograms.h.
HEff1DHit::HEff1DHit | ( | std::string | name_ | ) | [inline] |
Definition at line 141 of file Histograms.h.
References hDistMuSimHit, hDistRecHit, hEffVsDist, hEffVsEta, hEffVsPhi, hEtaMuSimHit, hEtaRecHit, hPhiMuSimHit, hPhiRecHit, MultiGaussianStateTransform::N, name, and Pi.
{ TString N = name_.c_str(); name=N; hEtaMuSimHit = new TH1F("1D_"+N+"_hEtaMuSimHit", "SimHit Eta distribution", 100, -1.5, 1.5); hEtaRecHit = new TH1F("1D_"+N+"_hEtaRecHit", "SimHit Eta distribution with 1D RecHit", 100, -1.5, 1.5); hEffVsEta = 0; hPhiMuSimHit = new TH1F("1D_"+N+"_hPhiMuSimHit", "SimHit Phi distribution", 100, -TMath::Pi(),TMath::Pi()); hPhiRecHit = new TH1F("1D_"+N+"_hPhiRecHit", "SimHit Phi distribution with 1D RecHit", 100, -TMath::Pi(),TMath::Pi()); hEffVsPhi = 0; hDistMuSimHit = new TH1F("1D_"+N+"_hDistMuSimHit", "SimHit Distance from wire distribution", 100, 0, 2.5); hDistRecHit = new TH1F("1D_"+N+"_hDistRecHit", "SimHit Distance from wire distribution with 1D RecHit", 100, 0, 2.5); hEffVsDist = 0; }
HEff1DHit::HEff1DHit | ( | TString | name_, |
TFile * | file | ||
) | [inline] |
Definition at line 167 of file Histograms.h.
References hDistMuSimHit, hDistRecHit, hEffVsDist, hEffVsEta, hEffVsPhi, hEtaMuSimHit, hEtaRecHit, hPhiMuSimHit, hPhiRecHit, and name.
{ name=name_; hEtaMuSimHit = (TH1F *) file->Get("1D_"+name+"_hEtaMuSimHit"); hEtaRecHit = (TH1F *) file->Get("1D_"+name+"_hEtaRecHit"); hEffVsEta = (TH1F *) file->Get("1D_"+name+"_hEffVsEta"); hPhiMuSimHit = (TH1F *) file->Get("1D_"+name+"_hPhiMuSimHit"); hPhiRecHit = (TH1F *) file->Get("1D_"+name+"_hPhiRecHit"); hEffVsPhi = (TH1F *) file->Get("1D_"+name+"_hEffVsPhi"); hDistMuSimHit = (TH1F *) file->Get("1D_"+name+"_hDistMuSimHit"); hDistRecHit = (TH1F *) file->Get("1D_"+name+"_hDistRecHit"); hEffVsDist = (TH1F *) file->Get("1D_"+name+"_hEffVsDist"); }
HEff1DHit::~HEff1DHit | ( | ) | [inline] |
Definition at line 183 of file Histograms.h.
{ // delete hEtaMuSimHit; // delete hEtaRecHit; // if(hEffVsEta != 0) // delete hEffVsEta; // delete hPhiMuSimHit; // delete hPhiRecHit; // if(hEffVsPhi != 0) // delete hEffVsPhi; // delete hDistMuSimHit; // delete hDistRecHit; // if(hEffVsDist != 0) // delete hEffVsDist; }
void HEff1DHit::ComputeEfficiency | ( | ) | [inline] |
Definition at line 219 of file Histograms.h.
References newFWLiteAna::bin, error, hDistMuSimHit, hDistRecHit, hEffVsDist, hEffVsEta, hEffVsPhi, hEtaMuSimHit, hEtaRecHit, hPhiMuSimHit, hPhiRecHit, name, and mathSSE::sqrt().
{ hEffVsEta = (TH1F *) hEtaRecHit->Clone(); hEffVsEta->SetName("1D_"+name+"_hEffVsEta"); hEffVsEta->SetTitle("1D RecHit Efficiency as a function of Eta"); hEffVsEta->Divide(hEtaMuSimHit); // Set the error accordingly to binomial statistics int nBinsEta = hEffVsEta->GetNbinsX(); for(int bin = 1; bin <= nBinsEta; bin++) { float nSimHit = hEtaMuSimHit->GetBinContent(bin); float eff = hEffVsEta->GetBinContent(bin); float error = 0; if(nSimHit != 0) { error = sqrt(eff*(1-eff)/nSimHit); } hEffVsEta->SetBinError(bin, error); } hEffVsPhi = (TH1F *) hPhiRecHit->Clone(); hEffVsPhi->SetName("1D_"+name+"_hEffVsPhi"); hEffVsPhi->SetTitle("1D RecHit Efficiency as a function of Phi"); hEffVsPhi->Divide(hPhiMuSimHit); // Set the error accordingly to binomial statistics int nBinsPhi = hEffVsPhi->GetNbinsX(); for(int bin = 1; bin <= nBinsPhi; bin++) { float nSimHit = hPhiMuSimHit->GetBinContent(bin); float eff = hEffVsPhi->GetBinContent(bin); float error = 0; if(nSimHit != 0) { error = sqrt(eff*(1-eff)/nSimHit); } hEffVsPhi->SetBinError(bin, error); } hEffVsDist = (TH1F *) hDistRecHit->Clone(); hEffVsDist->SetName("1D_"+name+"_hEffVsDist"); hEffVsDist->SetTitle("1D RecHit Efficiency as a function of Dist"); hEffVsDist->Divide(hDistMuSimHit); // Set the error accordingly to binomial statistics int nBinsDist = hEffVsDist->GetNbinsX(); for(int bin = 1; bin <= nBinsDist; bin++) { float nSimHit = hDistMuSimHit->GetBinContent(bin); float eff = hEffVsDist->GetBinContent(bin); float error = 0; if(nSimHit != 0) { error = sqrt(eff*(1-eff)/nSimHit); } hEffVsDist->SetBinError(bin, error); } }
void HEff1DHit::Fill | ( | float | distSimHit, |
float | etaSimHit, | ||
float | phiSimHit, | ||
bool | fillRecHit | ||
) | [inline] |
Definition at line 202 of file Histograms.h.
References hDistMuSimHit, hDistRecHit, hEtaMuSimHit, hEtaRecHit, hPhiMuSimHit, and hPhiRecHit.
Referenced by DTRecHitQuality::compute().
{ hEtaMuSimHit->Fill(etaSimHit); hPhiMuSimHit->Fill(phiSimHit); hDistMuSimHit->Fill(distSimHit); if(fillRecHit) { hEtaRecHit->Fill(etaSimHit); hPhiRecHit->Fill(phiSimHit); hDistRecHit->Fill(distSimHit); } }
void HEff1DHit::Write | ( | ) | [inline] |
Definition at line 272 of file Histograms.h.
References hDistMuSimHit, hDistRecHit, hEffVsDist, hEffVsEta, hEffVsPhi, hEtaMuSimHit, hEtaRecHit, hPhiMuSimHit, and hPhiRecHit.
{ hEtaMuSimHit->Write(); hEtaRecHit->Write(); if(hEffVsEta != 0) hEffVsEta->Write(); hPhiMuSimHit->Write(); hPhiRecHit->Write(); if(hEffVsPhi != 0) hEffVsPhi->Write(); hDistMuSimHit->Write(); hDistRecHit->Write(); if(hEffVsDist != 0) hEffVsDist->Write(); }
TH1F* HEff1DHit::hDistMuSimHit |
Definition at line 296 of file Histograms.h.
Referenced by ComputeEfficiency(), Fill(), HEff1DHit(), and Write().
TH1F* HEff1DHit::hDistRecHit |
Definition at line 297 of file Histograms.h.
Referenced by ComputeEfficiency(), Fill(), HEff1DHit(), and Write().
TH1F* HEff1DHit::hEffVsDist |
Definition at line 298 of file Histograms.h.
Referenced by ComputeEfficiency(), HEff1DHit(), and Write().
TH1F* HEff1DHit::hEffVsEta |
Definition at line 290 of file Histograms.h.
Referenced by ComputeEfficiency(), HEff1DHit(), and Write().
TH1F* HEff1DHit::hEffVsPhi |
Definition at line 294 of file Histograms.h.
Referenced by ComputeEfficiency(), HEff1DHit(), and Write().
TH1F* HEff1DHit::hEtaMuSimHit |
Definition at line 288 of file Histograms.h.
Referenced by ComputeEfficiency(), Fill(), HEff1DHit(), and Write().
TH1F* HEff1DHit::hEtaRecHit |
Definition at line 289 of file Histograms.h.
Referenced by ComputeEfficiency(), Fill(), HEff1DHit(), and Write().
TH1F* HEff1DHit::hPhiMuSimHit |
Definition at line 292 of file Histograms.h.
Referenced by ComputeEfficiency(), Fill(), HEff1DHit(), and Write().
TH1F* HEff1DHit::hPhiRecHit |
Definition at line 293 of file Histograms.h.
Referenced by ComputeEfficiency(), Fill(), HEff1DHit(), and Write().
TString HEff1DHit::name |
Definition at line 300 of file Histograms.h.
Referenced by ComputeEfficiency(), and HEff1DHit().