CMS 3D CMS Logo

Public Member Functions | Public Attributes

HEff1DHit Class Reference

A set of histograms for efficiency 1D DT RecHits. More...

#include <Histograms.h>

List of all members.

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.

                              {
      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;

    }

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

                             {

      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();
    }

Member Data Documentation

Definition at line 296 of file Histograms.h.

Referenced by ComputeEfficiency(), Fill(), HEff1DHit(), and Write().

Definition at line 297 of file Histograms.h.

Referenced by ComputeEfficiency(), Fill(), HEff1DHit(), and Write().

Definition at line 298 of file Histograms.h.

Referenced by ComputeEfficiency(), HEff1DHit(), and Write().

Definition at line 290 of file Histograms.h.

Referenced by ComputeEfficiency(), HEff1DHit(), and Write().

Definition at line 294 of file Histograms.h.

Referenced by ComputeEfficiency(), HEff1DHit(), and Write().

Definition at line 288 of file Histograms.h.

Referenced by ComputeEfficiency(), Fill(), HEff1DHit(), and Write().

Definition at line 289 of file Histograms.h.

Referenced by ComputeEfficiency(), Fill(), HEff1DHit(), and Write().

Definition at line 292 of file Histograms.h.

Referenced by ComputeEfficiency(), Fill(), HEff1DHit(), and Write().

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