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
HEff1DHit Class Reference

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
 

Detailed Description

A set of histograms for efficiency 1D DT RecHits.

Definition at line 139 of file Histograms.h.

Constructor & Destructor Documentation

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.

141  {
142  TString N = name_.c_str();
143  name=N;
144 
145  hEtaMuSimHit = new TH1F("1D_"+N+"_hEtaMuSimHit", "SimHit Eta distribution",
146  100, -1.5, 1.5);
147  hEtaRecHit = new TH1F("1D_"+N+"_hEtaRecHit", "SimHit Eta distribution with 1D RecHit",
148  100, -1.5, 1.5);
149  hEffVsEta = 0;
150 
151 
152  hPhiMuSimHit = new TH1F("1D_"+N+"_hPhiMuSimHit", "SimHit Phi distribution",
153  100, -TMath::Pi(),TMath::Pi());
154  hPhiRecHit = new TH1F("1D_"+N+"_hPhiRecHit", "SimHit Phi distribution with 1D RecHit",
155  100, -TMath::Pi(),TMath::Pi());
156  hEffVsPhi = 0;
157 
158 
159  hDistMuSimHit = new TH1F("1D_"+N+"_hDistMuSimHit", "SimHit Distance from wire distribution",
160  100, 0, 2.5);
161  hDistRecHit = new TH1F("1D_"+N+"_hDistRecHit", "SimHit Distance from wire distribution with 1D RecHit",
162  100, 0, 2.5);
163  hEffVsDist = 0;
164 
165  }
const double Pi
TH1F * hDistRecHit
Definition: Histograms.h:297
TH1F * hEtaMuSimHit
Definition: Histograms.h:288
TH1F * hPhiMuSimHit
Definition: Histograms.h:292
TH1F * hEffVsPhi
Definition: Histograms.h:294
TString name
Definition: Histograms.h:300
TH1F * hEffVsDist
Definition: Histograms.h:298
TH1F * hPhiRecHit
Definition: Histograms.h:293
TH1F * hDistMuSimHit
Definition: Histograms.h:296
TH1F * hEtaRecHit
Definition: Histograms.h:289
TH1F * hEffVsEta
Definition: Histograms.h:290
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.

167  {
168  name=name_;
169  hEtaMuSimHit = (TH1F *) file->Get("1D_"+name+"_hEtaMuSimHit");
170  hEtaRecHit = (TH1F *) file->Get("1D_"+name+"_hEtaRecHit");
171  hEffVsEta = (TH1F *) file->Get("1D_"+name+"_hEffVsEta");
172 
173  hPhiMuSimHit = (TH1F *) file->Get("1D_"+name+"_hPhiMuSimHit");
174  hPhiRecHit = (TH1F *) file->Get("1D_"+name+"_hPhiRecHit");
175  hEffVsPhi = (TH1F *) file->Get("1D_"+name+"_hEffVsPhi");
176 
177  hDistMuSimHit = (TH1F *) file->Get("1D_"+name+"_hDistMuSimHit");
178  hDistRecHit = (TH1F *) file->Get("1D_"+name+"_hDistRecHit");
179  hEffVsDist = (TH1F *) file->Get("1D_"+name+"_hEffVsDist");
180  }
TH1F * hDistRecHit
Definition: Histograms.h:297
TH1F * hEtaMuSimHit
Definition: Histograms.h:288
TH1F * hPhiMuSimHit
Definition: Histograms.h:292
TH1F * hEffVsPhi
Definition: Histograms.h:294
TString name
Definition: Histograms.h:300
TH1F * hEffVsDist
Definition: Histograms.h:298
TH1F * hPhiRecHit
Definition: Histograms.h:293
TH1F * hDistMuSimHit
Definition: Histograms.h:296
TH1F * hEtaRecHit
Definition: Histograms.h:289
TH1F * hEffVsEta
Definition: Histograms.h:290
HEff1DHit::~HEff1DHit ( )
inline

Definition at line 183 of file Histograms.h.

183  {
184 
185  // delete hEtaMuSimHit;
186  // delete hEtaRecHit;
187  // if(hEffVsEta != 0)
188  // delete hEffVsEta;
189 
190  // delete hPhiMuSimHit;
191  // delete hPhiRecHit;
192  // if(hEffVsPhi != 0)
193  // delete hEffVsPhi;
194 
195  // delete hDistMuSimHit;
196  // delete hDistRecHit;
197  // if(hEffVsDist != 0)
198  // delete hEffVsDist;
199 
200  }

Member Function Documentation

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().

219  {
220 
221  hEffVsEta = (TH1F *) hEtaRecHit->Clone();
222  hEffVsEta->SetName("1D_"+name+"_hEffVsEta");
223  hEffVsEta->SetTitle("1D RecHit Efficiency as a function of Eta");
224  hEffVsEta->Divide(hEtaMuSimHit);
225  // Set the error accordingly to binomial statistics
226  int nBinsEta = hEffVsEta->GetNbinsX();
227  for(int bin = 1; bin <= nBinsEta; bin++) {
228  float nSimHit = hEtaMuSimHit->GetBinContent(bin);
229  float eff = hEffVsEta->GetBinContent(bin);
230  float error = 0;
231  if(nSimHit != 0) {
232  error = sqrt(eff*(1-eff)/nSimHit);
233  }
234  hEffVsEta->SetBinError(bin, error);
235  }
236 
237  hEffVsPhi = (TH1F *) hPhiRecHit->Clone();
238  hEffVsPhi->SetName("1D_"+name+"_hEffVsPhi");
239  hEffVsPhi->SetTitle("1D RecHit Efficiency as a function of Phi");
240  hEffVsPhi->Divide(hPhiMuSimHit);
241  // Set the error accordingly to binomial statistics
242  int nBinsPhi = hEffVsPhi->GetNbinsX();
243  for(int bin = 1; bin <= nBinsPhi; bin++) {
244  float nSimHit = hPhiMuSimHit->GetBinContent(bin);
245  float eff = hEffVsPhi->GetBinContent(bin);
246  float error = 0;
247  if(nSimHit != 0) {
248  error = sqrt(eff*(1-eff)/nSimHit);
249  }
250  hEffVsPhi->SetBinError(bin, error);
251  }
252 
253  hEffVsDist = (TH1F *) hDistRecHit->Clone();
254  hEffVsDist->SetName("1D_"+name+"_hEffVsDist");
255  hEffVsDist->SetTitle("1D RecHit Efficiency as a function of Dist");
256  hEffVsDist->Divide(hDistMuSimHit);
257  // Set the error accordingly to binomial statistics
258  int nBinsDist = hEffVsDist->GetNbinsX();
259  for(int bin = 1; bin <= nBinsDist; bin++) {
260  float nSimHit = hDistMuSimHit->GetBinContent(bin);
261  float eff = hEffVsDist->GetBinContent(bin);
262  float error = 0;
263  if(nSimHit != 0) {
264  error = sqrt(eff*(1-eff)/nSimHit);
265  }
266  hEffVsDist->SetBinError(bin, error);
267  }
268 
269 
270  }
TH1F * hDistRecHit
Definition: Histograms.h:297
TH1F * hEtaMuSimHit
Definition: Histograms.h:288
TH1F * hPhiMuSimHit
Definition: Histograms.h:292
TH1F * hEffVsPhi
Definition: Histograms.h:294
TString name
Definition: Histograms.h:300
T sqrt(T t)
Definition: SSEVec.h:28
TH1F * hEffVsDist
Definition: Histograms.h:298
TH1F * hPhiRecHit
Definition: Histograms.h:293
TH1F * hDistMuSimHit
Definition: Histograms.h:296
TH1F * hEtaRecHit
Definition: Histograms.h:289
TH1F * hEffVsEta
Definition: Histograms.h:290
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().

205  {
206 
207  hEtaMuSimHit->Fill(etaSimHit);
208  hPhiMuSimHit->Fill(phiSimHit);
209  hDistMuSimHit->Fill(distSimHit);
210  if(fillRecHit) {
211  hEtaRecHit->Fill(etaSimHit);
212  hPhiRecHit->Fill(phiSimHit);
213  hDistRecHit->Fill(distSimHit);
214  }
215  }
TH1F * hDistRecHit
Definition: Histograms.h:297
TH1F * hEtaMuSimHit
Definition: Histograms.h:288
TH1F * hPhiMuSimHit
Definition: Histograms.h:292
TH1F * hPhiRecHit
Definition: Histograms.h:293
TH1F * hDistMuSimHit
Definition: Histograms.h:296
TH1F * hEtaRecHit
Definition: Histograms.h:289
void HEff1DHit::Write ( )
inline

Definition at line 272 of file Histograms.h.

References hDistMuSimHit, hDistRecHit, hEffVsDist, hEffVsEta, hEffVsPhi, hEtaMuSimHit, hEtaRecHit, hPhiMuSimHit, and hPhiRecHit.

272  {
273  hEtaMuSimHit->Write();
274  hEtaRecHit->Write();
275  if(hEffVsEta != 0)
276  hEffVsEta->Write();
277  hPhiMuSimHit->Write();
278  hPhiRecHit->Write();
279  if(hEffVsPhi != 0)
280  hEffVsPhi->Write();
281  hDistMuSimHit->Write();
282  hDistRecHit->Write();
283  if(hEffVsDist != 0)
284  hEffVsDist->Write();
285  }
TH1F * hDistRecHit
Definition: Histograms.h:297
TH1F * hEtaMuSimHit
Definition: Histograms.h:288
TH1F * hPhiMuSimHit
Definition: Histograms.h:292
TH1F * hEffVsPhi
Definition: Histograms.h:294
TH1F * hEffVsDist
Definition: Histograms.h:298
TH1F * hPhiRecHit
Definition: Histograms.h:293
TH1F * hDistMuSimHit
Definition: Histograms.h:296
TH1F * hEtaRecHit
Definition: Histograms.h:289
TH1F * hEffVsEta
Definition: Histograms.h:290

Member Data Documentation

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