25 std::shared_ptr<top::TopConfig>
config) :
28 m_sfRetriever = asg::ToolStore::get<ScaleFactorRetriever>(
"top::ScaleFactorRetriever");
35 m_hists.
addHist(
"beamspot_weight",
";Beamspot weight", 120, -0.5, 2.5);
39 if (
m_config->useGlobalTriggerConfiguration())
40 m_hists.
addHist(
"globalTriggerSF",
";Global Trigger SF", 120, -0.5, 2.5);
50 m_hists.
addHist(
"el_n",
";Electron multiplicity;Events", 10, -0.5, 9.5);
51 m_hists.
addHist(
"el_pt",
";Electron p_{T} / GeV;Electrons", 20, 0., 250.);
52 m_hists.
addHist(
"el_eta",
";Electron #eta;Electrons", 20, -2.5, 2.5);
54 m_hists.
addHist(
"el_charge",
";Electron charge;Electrons", 3, -1.5, 1.5);
57 m_hists.
addHist(
"mu_n",
";Muon multiplicity;Events", 10, -0.5, 9.5);
64 m_hists.
addHist(
"ph_n",
";Photon multiplicity;Events", 10, -0.5, 9.5);
65 m_hists.
addHist(
"ph_pt",
";Photon p_{T} / GeV;Photons", 20, 0., 250.);
70 m_hists.
addHist(
"jet_n",
";Jet multiplicity;Events", 10, -0.5, 9.5);
76 m_hists.
addHist(
"jet_truthflav",
";Jet truth flavor;Jets", 20, 0., 20.);
77 m_hists.
addHist(
"jet_btagSF_DL1dv01_77",
";Jet btag SF;Jets", 100, 0.5, 1.5);
79 m_hists.
addHist(
"jet_isbtagged_DL1dv01_77",
";Jet is b-tagged;Jets", 2, 0., 2.);
81 m_hists.
addHist(
"jet0_pt",
";Jet0 p_{T} / GeV; Events / 10 GeV", 25, 5, 505);
86 m_hists.
addHist(
"jet0_truthflav",
";Jet0 truth flavor;Jets", 20, 0., 20.);
87 m_hists.
addHist(
"jet0_btagSF_DL1dv01_77",
";Jet0 btag SF;Jets", 100, 0.5, 1.5);
89 m_hists.
addHist(
"jet0_isbtagged_DL1dv01_77",
";Jet is b-tagged;Jets", 2, 0., 2.);
91 m_hists.
addHist(
"jet1_pt",
";Jet1 p_{T} / GeV; Events / 10 GeV", 25, 5, 505);
96 m_hists.
addHist(
"jet1_truthflav",
";Jet1 truth flavor;Jets", 20, 0., 20.);
97 m_hists.
addHist(
"jet1_btagSF_DL1dv01_77",
";Jet1 btag SF;Jets", 100, 0.5, 1.5);
99 m_hists.
addHist(
"jet1_isbtagged_DL1dv01_77",
";Jet is b-tagged;Jets", 2, 0., 2.);
101 m_hists.
addHist(
"jet2_pt",
";Jet2 p_{T} / GeV; Events / 10 GeV", 25, 5, 505);
106 m_hists.
addHist(
"jet2_truthflav",
";Jet2 truth flavor;Jets", 20, 0., 20.);
107 m_hists.
addHist(
"jet2_btagSF_DL1dv01_77",
";Jet2 btag SF;Jets", 100, 0.5, 1.5);
109 m_hists.
addHist(
"jet2_isbtagged_DL1dv01_77",
";Jet is b-tagged;Jets", 2, 0., 2.);
111 m_hists.
addHist(
"jet3_pt",
";Jet3 p_{T} / GeV; Events / 10 GeV", 25, 5, 505);
116 m_hists.
addHist(
"jet3_truthflav",
";Jet3 truth flavor;Jets", 20, 0., 20.);
117 m_hists.
addHist(
"jet3_btagSF_DL1dv01_77",
";Jet3 btag SF;Jets", 100, 0.5, 1.5);
119 m_hists.
addHist(
"jet3_isbtagged_DL1dv01_77",
";Jet is b-tagged;Jets", 2, 0., 2.);
122 m_hists.
addHist(
"ljet_n",
";Large-R Jet multiplicity; Jets ", 5, 0, 5);
123 m_hists.
addHist(
"ljet_pt",
";Large-R Jet p_{T} / GeV; Jets / 26 GeV", 50, 200, 1500);
124 m_hists.
addHist(
"ljet_eta",
";Large-R Jet #eta; Jets", 15, -2., 2.);
126 m_hists.
addHist(
"ljet_m",
";Large-R mass / GeV; Jets/ 10 GeV", 35, 50, 400);
128 m_hists.
addHist(
"taujet_n",
";TauJet multiplicity;Events", 20, -0.5, 19.5);
129 m_hists.
addHist(
"taujet_pt",
";TauJet p_{T} / GeV;TauJet", 20, 0., 200.);
130 m_hists.
addHist(
"taujet_eta",
";TauJet #eta;TauJet", 20, -2.5, 2.5);
132 m_hists.
addHist(
"taujet_charge",
";TauJet charge;TauJet", 3, -1.5, 1.5);
134 m_hists.
addHist(
"event_met_et",
";MET / GeV;Events", 50, 0., 400.);
145 if (
event.m_isLoose)
return true;
147 double eventWeight = 1.;
157 if (
m_config->useGlobalTriggerConfiguration())
167 event), eventWeight);
173 for (
const auto*
const elPtr :
event.m_electrons) {
188 for (
const auto*
const muPtr :
event.m_muons) {
201 for (
const auto*
const phPtr :
event.m_photons) {
210 std::array<std::string, 4> numbers {{
211 "jet0",
"jet1",
"jet2",
"jet3"
214 for (
const auto*
const jetPtr :
event.m_jets) {
220 int jet_truthflav = -1;
222 if (jetPtr->isAvailable<
int>(
"HadronConeExclTruthLabelID")) {
223 jetPtr->getAttribute(
"HadronConeExclTruthLabelID", jet_truthflav);
230 bool hasBtagSF =
false;
231 const bool hasBtag = jetPtr->isAvailable<
char>(
"isbtagged_DL1dv01_FixedCutBEff_77");
233 isbtagged = jetPtr->auxdataConst<
char>(
"isbtagged_DL1dv01_FixedCutBEff_77");
234 m_hists.
hist(
"jet_isbtagged_DL1dv01_77")->
Fill(isbtagged, eventWeight);
236 if (jetPtr->isAvailable<
float>(
"btag_SF_DL1dv01_FixedCutBEff_77_nom")) {
237 btagSF = jetPtr->auxdataConst<
float>(
"btag_SF_DL1dv01_FixedCutBEff_77_nom");
244 if (
i < numbers.size()) {
249 if (hasBtag)
m_hists.
hist(numbers[
i] +
"_isbtagged_DL1dv01_77")->
Fill(isbtagged, eventWeight);
251 if (hasBtagSF)
m_hists.
hist(numbers[
i] +
"_btagSF_DL1dv01_77")->
Fill(btagSF, eventWeight);
259 for (
const auto*
const jetPtr :
event.m_largeJets) {
267 for (
const auto*
const tauPtr :
event.m_tauJets) {
274 if (
event.m_met !=
nullptr) {
283 return "EXAMPLEPLOTS";