11#include " ElectronEfficiencyPlotter.h"
22
33// Framework
4- #include < FWCore/Framework/interface/Event.h>
5- #include " DataFormats/Common/interface/Handle.h"
6- #include < FWCore/Framework/interface/ESHandle.h>
7- #include < FWCore/Framework/interface/MakerMacros.h>
8- #include < FWCore/Framework/interface/EventSetup.h>
9- #include < FWCore/ParameterSet/interface/ParameterSet.h>
4+ #include < cmath>
5+ #include < string>
106
117#include " DQMServices/Core/interface/DQMStore.h"
8+ #include " DataFormats/Common/interface/Handle.h"
9+ #include " FWCore/Framework/interface/ESHandle.h"
10+ #include " FWCore/Framework/interface/Event.h"
11+ #include " FWCore/Framework/interface/EventSetup.h"
12+ #include " FWCore/Framework/interface/MakerMacros.h"
1213#include " FWCore/MessageLogger/interface/MessageLogger.h"
13- #include " FWCore/Framework/interface/Run.h"
14-
15- #include < iostream>
16- #include < cstdio>
17- #include < string>
18- #include < cmath>
14+ #include " FWCore/ParameterSet/interface/ParameterSet.h"
1915#include " TF1.h"
2016#include " TH1F.h"
2117
2218using namespace edm ;
2319using namespace std ;
2420
25- ElectronEfficiencyPlotter::ElectronEfficiencyPlotter (const edm::ParameterSet &ps) {
26- parameters = ps;
21+ // Constructor
22+ ElectronEfficiencyPlotter::ElectronEfficiencyPlotter (
23+ const edm::ParameterSet &ps) {
24+ ptBin_ = ps.getParameter <int >(" ptBin" );
25+ ptMin_ = ps.getParameter <double >(" ptMin" );
26+ ptMax_ = ps.getParameter <double >(" ptMax" );
2727
28- ptBin = parameters.getParameter <int >(" ptBin" );
29- ptMin = parameters.getParameter <double >(" ptMin" );
30- ptMax = parameters.getParameter <double >(" ptMax" );
31-
32- ID_ = parameters.getParameter <string>(" sctElectronID" );
33- theFolder_ = parameters.getParameter <string>(" folder" );
34- sourceFolder_ = parameters.getParameter <string>(" srcFolder" );
28+ ID_ = ps.getParameter <string>(" sctElectronID" );
29+ theFolder_ = ps.getParameter <string>(" folder" );
30+ sourceFolder_ = ps.getParameter <string>(" srcFolder" );
3531}
3632
37- ElectronEfficiencyPlotter::~ElectronEfficiencyPlotter () {}
38-
39- void ElectronEfficiencyPlotter::dqmEndJob (DQMStore::IBooker &ibooker, DQMStore::IGetter &igetter) {
33+ void ElectronEfficiencyPlotter::dqmEndJob (DQMStore::IBooker &ibooker,
34+ DQMStore::IGetter &igetter) {
4035 ibooker.setCurrentFolder (theFolder_);
4136
4237 h_eff_pt_EB_doubleEG_HLT =
43- ibooker.book1D (" Eff_pt_barrel_DSTdoubleEG" , " DSTdoubleEG Eff. vs Pt (barrel)" , ptBin, ptMin, ptMax);
38+ ibooker.book1D (" Eff_pt_barrel_DSTdoubleEG" ,
39+ " DSTdoubleEG Eff. vs Pt (barrel)" , ptBin_, ptMin_, ptMax_);
4440 h_eff_pt_EE_doubleEG_HLT =
45- ibooker.book1D (" Eff_pt_endcap_DSTdoubleEG" , " DSTdoubleEG Eff. vs Pt (endcap)" , ptBin, ptMin, ptMax);
46- h_eff_pt_EB_singlePhoton_HLT =
47- ibooker.book1D (" Eff_pt_barrel_DSTsinglePhoton" , " DSTsinglePhoton Eff. vs Pt (barrel)" , ptBin, ptMin, ptMax);
48- h_eff_pt_EE_singlePhoton_HLT =
49- ibooker.book1D (" Eff_pt_endcap_DSTsinglePhoton" , " DSTsinglePhoton Eff. vs Pt (endcap)" , ptBin, ptMin, ptMax);
41+ ibooker.book1D (" Eff_pt_endcap_DSTdoubleEG" ,
42+ " DSTdoubleEG Eff. vs Pt (endcap)" , ptBin_, ptMin_, ptMax_);
43+ h_eff_pt_EB_singlePhoton_HLT = ibooker.book1D (
44+ " Eff_pt_barrel_DSTsinglePhoton" , " DSTsinglePhoton Eff. vs Pt (barrel)" ,
45+ ptBin_, ptMin_, ptMax_);
46+ h_eff_pt_EE_singlePhoton_HLT = ibooker.book1D (
47+ " Eff_pt_endcap_DSTsinglePhoton" , " DSTsinglePhoton Eff. vs Pt (endcap)" ,
48+ ptBin_, ptMin_, ptMax_);
5049
5150 // Axis title
5251 h_eff_pt_EB_singlePhoton_HLT->setAxisTitle (" p_{T} (GeV)" , 1 );
@@ -55,45 +54,57 @@ void ElectronEfficiencyPlotter::dqmEndJob(DQMStore::IBooker &ibooker, DQMStore::
5554 h_eff_pt_EE_doubleEG_HLT->setAxisTitle (" p_{T} (GeV)" , 1 );
5655
5756 MonitorElement *Numerator_pt_barrel_doubleEG_hlt =
58- igetter.get (sourceFolder_ + " /resonanceZ_Tag_pat_Probe_sctElectron_passDoubleEG_DST_fireTrigObj_Pt_Barrel" );
57+ igetter.get (sourceFolder_ +
58+ " /resonanceZ_Tag_pat_Probe_sctElectron_passDoubleEG_DST_"
59+ " fireTrigObj_Pt_Barrel" );
5960 MonitorElement *Numerator_pt_endcap_doubleEG_hlt =
60- igetter.get (sourceFolder_ + " /resonanceZ_Tag_pat_Probe_sctElectron_passDoubleEG_DST_fireTrigObj_Pt_Endcap" );
61+ igetter.get (sourceFolder_ +
62+ " /resonanceZ_Tag_pat_Probe_sctElectron_passDoubleEG_DST_"
63+ " fireTrigObj_Pt_Endcap" );
6164 MonitorElement *Numerator_pt_barrel_singlePhoton_hlt =
62- igetter.get (sourceFolder_ + " /resonanceZ_Tag_pat_Probe_sctElectron_passSinglePhoton_DST_fireTrigObj_Pt_Barrel" );
65+ igetter.get (sourceFolder_ +
66+ " /resonanceZ_Tag_pat_Probe_sctElectron_passSinglePhoton_DST_"
67+ " fireTrigObj_Pt_Barrel" );
6368 MonitorElement *Numerator_pt_endcap_singlePhoton_hlt =
64- igetter.get (sourceFolder_ + " /resonanceZ_Tag_pat_Probe_sctElectron_passSinglePhoton_DST_fireTrigObj_Pt_Endcap" );
65- MonitorElement *Denominator_pt_barrel =
66- igetter.get (sourceFolder_ + " /resonanceZ_Tag_pat_Probe_sctElectron_Pt_Barrel" );
67- MonitorElement *Denominator_pt_endcap =
68- igetter.get (sourceFolder_ + " /resonanceZ_Tag_pat_Probe_sctElectron_Pt_Endcap" );
69+ igetter.get (sourceFolder_ +
70+ " /resonanceZ_Tag_pat_Probe_sctElectron_passSinglePhoton_DST_"
71+ " fireTrigObj_Pt_Endcap" );
72+ MonitorElement *Denominator_pt_barrel = igetter.get (
73+ sourceFolder_ + " /resonanceZ_Tag_pat_Probe_sctElectron_Pt_Barrel" );
74+ MonitorElement *Denominator_pt_endcap = igetter.get (
75+ sourceFolder_ + " /resonanceZ_Tag_pat_Probe_sctElectron_Pt_Endcap" );
6976
7077 if (Numerator_pt_barrel_doubleEG_hlt && Denominator_pt_barrel)
71- GetEfficiency (Numerator_pt_barrel_doubleEG_hlt, Denominator_pt_barrel, h_eff_pt_EB_doubleEG_HLT);
78+ calculateEfficiency (Numerator_pt_barrel_doubleEG_hlt, Denominator_pt_barrel,
79+ h_eff_pt_EB_doubleEG_HLT);
7280 if (Numerator_pt_endcap_doubleEG_hlt && Denominator_pt_endcap)
73- GetEfficiency (Numerator_pt_endcap_doubleEG_hlt, Denominator_pt_endcap, h_eff_pt_EE_doubleEG_HLT);
81+ calculateEfficiency (Numerator_pt_endcap_doubleEG_hlt, Denominator_pt_endcap,
82+ h_eff_pt_EE_doubleEG_HLT);
7483 if (Numerator_pt_barrel_singlePhoton_hlt && Denominator_pt_barrel)
75- GetEfficiency (Numerator_pt_barrel_singlePhoton_hlt, Denominator_pt_barrel, h_eff_pt_EB_singlePhoton_HLT);
84+ calculateEfficiency (Numerator_pt_barrel_singlePhoton_hlt,
85+ Denominator_pt_barrel, h_eff_pt_EB_singlePhoton_HLT);
7686 if (Numerator_pt_endcap_singlePhoton_hlt && Denominator_pt_endcap)
77- GetEfficiency (Numerator_pt_endcap_singlePhoton_hlt, Denominator_pt_endcap, h_eff_pt_EE_singlePhoton_HLT);
87+ calculateEfficiency (Numerator_pt_endcap_singlePhoton_hlt,
88+ Denominator_pt_endcap, h_eff_pt_EE_singlePhoton_HLT);
7889}
7990
80- void ElectronEfficiencyPlotter::GetEfficiency (MonitorElement *Numerator,
81- MonitorElement *Denominator,
82- MonitorElement *Efficiency) {
91+ void ElectronEfficiencyPlotter::calculateEfficiency (
92+ MonitorElement *Numerator, MonitorElement *Denominator,
93+ MonitorElement *Efficiency) {
8394 TH1F *h_numerator_pt = Numerator->getTH1F ();
8495 TH1F *h_denominator_pt = Denominator->getTH1F ();
8596 TH1F *h_eff_pt = Efficiency->getTH1F ();
86- if (h_eff_pt->GetSumw2N () == 0 )
87- h_eff_pt->Sumw2 ();
97+ if (h_eff_pt->GetSumw2N () == 0 ) h_eff_pt->Sumw2 ();
8898
8999 // ReBin
90100 int nBins = h_eff_pt->GetNbinsX ();
91101 double *binEdges = new double [nBins + 1 ];
92- for (int i = 0 ; i <= nBins; i++)
93- binEdges[i] = h_eff_pt->GetBinLowEdge (i + 1 );
102+ for (int i = 0 ; i <= nBins; i++) binEdges[i] = h_eff_pt->GetBinLowEdge (i + 1 );
94103
95- TH1F *h_numerator_pt_rebin = (TH1F *)h_numerator_pt->Rebin (nBins, " num_pt_rebinned" , binEdges);
96- TH1F *h_denominator_pt_rebin = (TH1F *)h_denominator_pt->Rebin (nBins, " num_pt_rebinned" , binEdges);
104+ TH1F *h_numerator_pt_rebin =
105+ (TH1F *)h_numerator_pt->Rebin (nBins, " num_pt_rebinned" , binEdges);
106+ TH1F *h_denominator_pt_rebin =
107+ (TH1F *)h_denominator_pt->Rebin (nBins, " num_pt_rebinned" , binEdges);
97108 h_eff_pt->Divide (h_numerator_pt_rebin, h_denominator_pt_rebin, 1 ., 1 ., " B" );
98109}
99110
0 commit comments