Skip to content

Commit 7f943ea

Browse files
committed
[Efficiency] update for eff
1 parent e9cfc5b commit 7f943ea

File tree

6 files changed

+426
-141
lines changed

6 files changed

+426
-141
lines changed

HLTriggerOffline/Scouting/plugins/ElectronEfficiencyPlotter.cc

Lines changed: 170 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,17 @@ class ElectronEfficiencyPlotter : public DQMEDHarvester {
4141
const std::string ID_;
4242
const std::string theFolder_;
4343
const std::string sourceFolder_;
44+
const std::vector<std::string> vtriggerSelection_;
4445

45-
MonitorElement *h_eff_pt_EB_doubleEG_HLT;
46-
MonitorElement *h_eff_pt_EE_doubleEG_HLT;
47-
MonitorElement *h_eff_pt_EB_singlePhoton_HLT;
48-
MonitorElement *h_eff_pt_EE_singlePhoton_HLT;
46+
47+
std::vector<MonitorElement*> h_eff_sctel_leading_pt_EB;
48+
std::vector<MonitorElement*> h_eff_sctel_leading_pt_EE;
49+
std::vector<MonitorElement*> h_eff_patel_leading_pt_EB;
50+
std::vector<MonitorElement*> h_eff_patel_leading_pt_EE;
51+
std::vector<MonitorElement*> h_eff_sctel_subleading_pt_EB;
52+
std::vector<MonitorElement*> h_eff_sctel_subleading_pt_EE;
53+
std::vector<MonitorElement*> h_eff_patel_subleading_pt_EB;
54+
std::vector<MonitorElement*> h_eff_patel_subleading_pt_EE;
4955

5056
void calculateEfficiency(MonitorElement *Numerator, MonitorElement *Denominator, MonitorElement *Efficiency);
5157
};
@@ -60,66 +66,178 @@ ElectronEfficiencyPlotter::ElectronEfficiencyPlotter(const edm::ParameterSet &ps
6066
ptMax_{ps.getParameter<double>("ptMax")},
6167
ID_{ps.getParameter<string>("sctElectronID")},
6268
theFolder_{ps.getParameter<string>("folder")},
63-
sourceFolder_{ps.getParameter<string>("srcFolder")} {}
69+
sourceFolder_{ps.getParameter<string>("srcFolder")},
70+
vtriggerSelection_{ps.getParameter<std::vector<string>>("triggerSelection")} {}
6471

6572
void ElectronEfficiencyPlotter::fillDescriptions(edm::ConfigurationDescriptions &descriptions) {
6673
edm::ParameterSetDescription desc;
6774
desc.add<int>("ptBin", 5);
6875
desc.add<double>("ptMin", 0);
6976
desc.add<double>("ptMax", 100);
70-
desc.add<string>("sctElectronID", {});
71-
desc.add<string>("folder", {});
72-
desc.add<string>("srcFolder", {});
77+
desc.add<std::string>("sctElectronID", {});
78+
desc.add<std::string>("folder", {});
79+
desc.add<std::string>("srcFolder", {});
80+
desc.add<std::vector<std::string>>("triggerSelection", {});
7381
descriptions.addWithDefaultLabel(desc);
7482
}
7583

7684
void ElectronEfficiencyPlotter::dqmEndJob(DQMStore::IBooker &ibooker, DQMStore::IGetter &igetter) {
7785
ibooker.setCurrentFolder(theFolder_);
7886

79-
h_eff_pt_EB_doubleEG_HLT =
80-
ibooker.book1D("Eff_pt_barrel_DSTdoubleEG", "DSTdoubleEG Eff. vs Pt (barrel)", ptBin_, ptMin_, ptMax_);
81-
h_eff_pt_EE_doubleEG_HLT =
82-
ibooker.book1D("Eff_pt_endcap_DSTdoubleEG", "DSTdoubleEG Eff. vs Pt (endcap)", ptBin_, ptMin_, ptMax_);
83-
h_eff_pt_EB_singlePhoton_HLT =
84-
ibooker.book1D("Eff_pt_barrel_DSTsinglePhoton", "DSTsinglePhoton Eff. vs Pt (barrel)", ptBin_, ptMin_, ptMax_);
85-
h_eff_pt_EE_singlePhoton_HLT =
86-
ibooker.book1D("Eff_pt_endcap_DSTsinglePhoton", "DSTsinglePhoton Eff. vs Pt (endcap)", ptBin_, ptMin_, ptMax_);
87-
88-
// Axis title
89-
h_eff_pt_EB_singlePhoton_HLT->setAxisTitle("p_{T} (GeV)", 1);
90-
h_eff_pt_EE_singlePhoton_HLT->setAxisTitle("p_{T} (GeV)", 1);
91-
h_eff_pt_EB_doubleEG_HLT->setAxisTitle("p_{T} (GeV)", 1);
92-
h_eff_pt_EE_doubleEG_HLT->setAxisTitle("p_{T} (GeV)", 1);
93-
94-
MonitorElement *Numerator_pt_barrel_doubleEG_hlt =
95-
igetter.get(sourceFolder_ +
96-
"/resonanceZ_Tag_pat_Probe_sctElectron_passDoubleEG_DST_"
97-
"fireTrigObj_Pt_Barrel");
98-
MonitorElement *Numerator_pt_endcap_doubleEG_hlt =
99-
igetter.get(sourceFolder_ +
100-
"/resonanceZ_Tag_pat_Probe_sctElectron_passDoubleEG_DST_"
101-
"fireTrigObj_Pt_Endcap");
102-
MonitorElement *Numerator_pt_barrel_singlePhoton_hlt =
103-
igetter.get(sourceFolder_ +
104-
"/resonanceZ_Tag_pat_Probe_sctElectron_passSinglePhoton_DST_"
105-
"fireTrigObj_Pt_Barrel");
106-
MonitorElement *Numerator_pt_endcap_singlePhoton_hlt =
107-
igetter.get(sourceFolder_ +
108-
"/resonanceZ_Tag_pat_Probe_sctElectron_passSinglePhoton_DST_"
109-
"fireTrigObj_Pt_Endcap");
110-
MonitorElement *Denominator_pt_barrel =
111-
igetter.get(sourceFolder_ + "/resonanceZ_Tag_pat_Probe_sctElectron_Pt_Barrel");
112-
MonitorElement *Denominator_pt_endcap =
113-
igetter.get(sourceFolder_ + "/resonanceZ_Tag_pat_Probe_sctElectron_Pt_Endcap");
114-
115-
if (Numerator_pt_barrel_doubleEG_hlt && Denominator_pt_barrel)
116-
calculateEfficiency(Numerator_pt_barrel_doubleEG_hlt, Denominator_pt_barrel, h_eff_pt_EB_doubleEG_HLT);
117-
if (Numerator_pt_endcap_doubleEG_hlt && Denominator_pt_endcap)
118-
calculateEfficiency(Numerator_pt_endcap_doubleEG_hlt, Denominator_pt_endcap, h_eff_pt_EE_doubleEG_HLT);
119-
if (Numerator_pt_barrel_singlePhoton_hlt && Denominator_pt_barrel)
120-
calculateEfficiency(Numerator_pt_barrel_singlePhoton_hlt, Denominator_pt_barrel, h_eff_pt_EB_singlePhoton_HLT);
121-
if (Numerator_pt_endcap_singlePhoton_hlt && Denominator_pt_endcap)
122-
calculateEfficiency(Numerator_pt_endcap_singlePhoton_hlt, Denominator_pt_endcap, h_eff_pt_EE_singlePhoton_HLT);
87+
int iPicture = 0;
88+
for (auto const &vt : vtriggerSelection_){
89+
std::string cleaned_vt = vt;
90+
cleaned_vt.erase(std::remove(cleaned_vt.begin(), cleaned_vt.end(), '*'), cleaned_vt.end());
91+
92+
// Leading Electron
93+
h_eff_sctel_leading_pt_EB.push_back(
94+
ibooker.book1D("Eff_sctElectron_leading_pt_barrel_" + cleaned_vt, cleaned_vt + " Eff. vs Pt (barrel)", ptBin_, ptMin_, ptMax_)
95+
);
96+
h_eff_sctel_leading_pt_EE.push_back(
97+
ibooker.book1D("Eff_sctElectron_leading_pt_endcap_" + cleaned_vt, cleaned_vt + " Eff. vs Pt (endcap)", ptBin_, ptMin_, ptMax_)
98+
);
99+
h_eff_patel_leading_pt_EB.push_back(
100+
ibooker.book1D("Eff_patElectron_leading_pt_barrel_" + cleaned_vt, cleaned_vt + " Eff. vs Pt (barrel)", ptBin_, ptMin_, ptMax_)
101+
);
102+
h_eff_patel_leading_pt_EE.push_back(
103+
ibooker.book1D("Eff_patElectron_leading_pt_endcap_" + cleaned_vt, cleaned_vt + " Eff. vs Pt (endcap)", ptBin_, ptMin_, ptMax_)
104+
);
105+
h_eff_sctel_subleading_pt_EB.push_back(
106+
ibooker.book1D("Eff_sctElectron_subleading_pt_barrel_" + cleaned_vt, cleaned_vt + " Eff. vs Pt (barrel)", ptBin_, ptMin_, ptMax_)
107+
);
108+
h_eff_sctel_subleading_pt_EE.push_back(
109+
ibooker.book1D("Eff_sctElectron_subleading_pt_endcap_" + cleaned_vt, cleaned_vt + " Eff. vs Pt (endcap)", ptBin_, ptMin_, ptMax_)
110+
);
111+
h_eff_patel_subleading_pt_EB.push_back(
112+
ibooker.book1D("Eff_patElectron_subleading_pt_barrel_" + cleaned_vt, cleaned_vt + " Eff. vs Pt (barrel)", ptBin_, ptMin_, ptMax_)
113+
);
114+
h_eff_patel_subleading_pt_EE.push_back(
115+
ibooker.book1D("Eff_patElectron_subleading_pt_endcap_" + cleaned_vt, cleaned_vt + " Eff. vs Pt (endcap)", ptBin_, ptMin_, ptMax_)
116+
);
117+
118+
119+
h_eff_sctel_leading_pt_EB.at(iPicture)->setAxisTitle("p_{T} (GeV)", 1);
120+
h_eff_sctel_leading_pt_EE.at(iPicture)->setAxisTitle("p_{T} (GeV)", 1);
121+
h_eff_patel_leading_pt_EB.at(iPicture)->setAxisTitle("p_{T} (GeV)", 1);
122+
h_eff_patel_leading_pt_EE.at(iPicture)->setAxisTitle("p_{T} (GeV)", 1);
123+
h_eff_sctel_subleading_pt_EB.at(iPicture)->setAxisTitle("p_{T} (GeV)", 1);
124+
h_eff_sctel_subleading_pt_EE.at(iPicture)->setAxisTitle("p_{T} (GeV)", 1);
125+
h_eff_patel_subleading_pt_EB.at(iPicture)->setAxisTitle("p_{T} (GeV)", 1);
126+
h_eff_patel_subleading_pt_EE.at(iPicture)->setAxisTitle("p_{T} (GeV)", 1);
127+
128+
129+
130+
MonitorElement *Numerator_sctel_leading_pt_barrel =
131+
igetter.get(sourceFolder_ +
132+
"/resonanceZ_Tag_pat_Probe_sctElectron_leading_Pt_Barrel_pass" +
133+
cleaned_vt +
134+
"_fireTrigObj"
135+
);
136+
MonitorElement *Denominator_sctel_leading_pt_barrel =
137+
igetter.get(sourceFolder_ +
138+
"/resonanceZ_Tag_pat_Probe_sctElectron_leading_Pt_Barrel_passBaseDST"
139+
);
140+
if (Numerator_sctel_leading_pt_barrel && Denominator_sctel_leading_pt_barrel)
141+
calculateEfficiency(Numerator_sctel_leading_pt_barrel, Denominator_sctel_leading_pt_barrel, h_eff_sctel_leading_pt_EB.at(iPicture));
142+
143+
144+
MonitorElement *Numerator_sctel_leading_pt_endcap =
145+
igetter.get(sourceFolder_ +
146+
"/resonanceZ_Tag_pat_Probe_sctElectron_leading_Pt_Endcap_pass" +
147+
cleaned_vt +
148+
"_fireTrigObj"
149+
);
150+
MonitorElement *Denominator_sctel_leading_pt_endcap =
151+
igetter.get(sourceFolder_ +
152+
"/resonanceZ_Tag_pat_Probe_sctElectron_leading_Pt_Endcap_passBaseDST"
153+
);
154+
if (Numerator_sctel_leading_pt_endcap && Denominator_sctel_leading_pt_endcap)
155+
calculateEfficiency(Numerator_sctel_leading_pt_endcap, Denominator_sctel_leading_pt_endcap, h_eff_sctel_leading_pt_EE.at(iPicture));
156+
157+
MonitorElement *Numerator_sctel_subleading_pt_barrel =
158+
igetter.get(sourceFolder_ +
159+
"/resonanceZ_Tag_pat_Probe_sctElectron_subleading_Pt_Barrel_pass" +
160+
cleaned_vt +
161+
"_fireTrigObj"
162+
);
163+
MonitorElement *Denominator_sctel_subleading_pt_barrel =
164+
igetter.get(sourceFolder_ +
165+
"/resonanceZ_Tag_pat_Probe_sctElectron_subleading_Pt_Barrel_passBaseDST"
166+
);
167+
if (Numerator_sctel_subleading_pt_barrel && Denominator_sctel_subleading_pt_barrel)
168+
calculateEfficiency(Numerator_sctel_subleading_pt_barrel, Denominator_sctel_subleading_pt_barrel, h_eff_sctel_subleading_pt_EB.at(iPicture));
169+
170+
171+
MonitorElement *Numerator_sctel_subleading_pt_endcap =
172+
igetter.get(sourceFolder_ +
173+
"/resonanceZ_Tag_pat_Probe_sctElectron_subleading_Pt_Endcap_pass" +
174+
cleaned_vt +
175+
"_fireTrigObj"
176+
);
177+
MonitorElement *Denominator_sctel_subleading_pt_endcap =
178+
igetter.get(sourceFolder_ +
179+
"/resonanceZ_Tag_pat_Probe_sctElectron_subleading_Pt_Endcap_passBaseDST"
180+
);
181+
if (Numerator_sctel_subleading_pt_endcap && Denominator_sctel_subleading_pt_endcap)
182+
calculateEfficiency(Numerator_sctel_subleading_pt_endcap, Denominator_sctel_subleading_pt_endcap, h_eff_sctel_subleading_pt_EE.at(iPicture));
183+
184+
MonitorElement *Numerator_patel_leading_pt_barrel =
185+
igetter.get(sourceFolder_ +
186+
"/resonanceZ_Tag_pat_Probe_patElectron_leading_Pt_Barrel_pass" +
187+
cleaned_vt +
188+
"_fireTrigObj"
189+
);
190+
MonitorElement *Denominator_patel_leading_pt_barrel =
191+
igetter.get(sourceFolder_ +
192+
"/resonanceZ_Tag_pat_Probe_patElectron_leading_Pt_Barrel_passBaseDST"
193+
);
194+
if (Numerator_patel_leading_pt_barrel && Denominator_patel_leading_pt_barrel)
195+
calculateEfficiency(Numerator_patel_leading_pt_barrel, Denominator_patel_leading_pt_barrel, h_eff_patel_leading_pt_EB.at(iPicture));
196+
197+
198+
MonitorElement *Numerator_patel_leading_pt_endcap =
199+
igetter.get(sourceFolder_ +
200+
"/resonanceZ_Tag_pat_Probe_patElectron_leading_Pt_Endcap_pass" +
201+
cleaned_vt +
202+
"_fireTrigObj"
203+
);
204+
MonitorElement *Denominator_patel_leading_pt_endcap =
205+
igetter.get(sourceFolder_ +
206+
"/resonanceZ_Tag_pat_Probe_patElectron_leading_Pt_Endcap_passBaseDST"
207+
);
208+
if (Numerator_patel_leading_pt_endcap && Denominator_patel_leading_pt_endcap)
209+
calculateEfficiency(Numerator_patel_leading_pt_endcap, Denominator_patel_leading_pt_endcap, h_eff_patel_leading_pt_EE.at(iPicture));
210+
211+
MonitorElement *Numerator_patel_subleading_pt_barrel =
212+
igetter.get(sourceFolder_ +
213+
"/resonanceZ_Tag_pat_Probe_patElectron_subleading_Pt_Barrel_pass" +
214+
cleaned_vt +
215+
"_fireTrigObj"
216+
);
217+
MonitorElement *Denominator_patel_subleading_pt_barrel =
218+
igetter.get(sourceFolder_ +
219+
"/resonanceZ_Tag_pat_Probe_patElectron_subleading_Pt_Barrel_passBaseDST"
220+
);
221+
if (Numerator_patel_subleading_pt_barrel && Denominator_patel_subleading_pt_barrel)
222+
calculateEfficiency(Numerator_patel_subleading_pt_barrel, Denominator_patel_subleading_pt_barrel, h_eff_patel_subleading_pt_EB.at(iPicture));
223+
224+
225+
MonitorElement *Numerator_patel_subleading_pt_endcap =
226+
igetter.get(sourceFolder_ +
227+
"/resonanceZ_Tag_pat_Probe_patElectron_subleading_Pt_Endcap_pass" +
228+
cleaned_vt +
229+
"_fireTrigObj"
230+
);
231+
MonitorElement *Denominator_patel_subleading_pt_endcap =
232+
igetter.get(sourceFolder_ +
233+
"/resonanceZ_Tag_pat_Probe_patElectron_subleading_Pt_Endcap_passBaseDST"
234+
);
235+
if (Numerator_patel_subleading_pt_endcap && Denominator_patel_subleading_pt_endcap)
236+
calculateEfficiency(Numerator_patel_subleading_pt_endcap, Denominator_patel_subleading_pt_endcap, h_eff_patel_subleading_pt_EE.at(iPicture));
237+
238+
239+
iPicture += 1;
240+
}
123241
}
124242

125243
void ElectronEfficiencyPlotter::calculateEfficiency(MonitorElement *Numerator,

0 commit comments

Comments
 (0)