Skip to content

Commit cb4759e

Browse files
committed
bug fix plus merge of photon and jet weights
1 parent 03de4ac commit cb4759e

File tree

3 files changed

+19
-36
lines changed

3 files changed

+19
-36
lines changed

PhysicsTools/NanoAOD/python/nanoDQM_cfi.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -815,8 +815,7 @@
815815
Plot1D('L1PreFiringWeight_Nom', 'L1PreFiringWeight_Nom', 20, 0.8, 1.0, 'L1 prefiring weight nominal'),
816816
Plot1D('L1PreFiringWeight_Up', 'L1PreFiringWeight_Up', 20, 0.8, 1.0, 'L1 prefiring weight uncertainy up'),
817817
Plot1D('L1PreFiringWeight_Dn', 'L1PreFiringWeight_Dn', 20, 0.8, 1.0, 'L1 prefiring weight uncertainty down'),
818-
Plot1D('L1PreFiringWeightJet_Nom', 'L1PreFiringWeightJet_Nom', 20, 0.8, 1.0, 'L1 prefiring weight for jets nominal'),
819-
Plot1D('L1PreFiringWeightPhoton_Nom', 'L1PreFiringWeightPhoton_Nom', 20, 0.8, 1.0, 'L1 prefiring for photons weight nominal'),
818+
Plot1D('L1PreFiringWeightECAL_Nom', 'L1PreFiringWeightECAL_Nom', 20, 0.8, 1.0, 'L1 prefiring weight for ECAL objects nominal'),
820819
Plot1D('L1PreFiringWeightMuon_Nom', 'L1PreFiringWeightMuon_Nom', 20, 0.8, 1.0, 'L1 prefiring weight for muons nominal'),
821820
)
822821

PhysicsTools/NanoAOD/python/triggerObjects_cff.py

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -244,12 +244,9 @@
244244
L1PreFiringWeightMuon_SystDn = ExtVar(cms.InputTag("prefiringweight:nonPrefiringProbMuonSystDown"), "float", doc = "Muon L1 pre-firing event correction weight (1-probability), down var. syst.", precision=8),
245245
L1PreFiringWeightMuon_StatUp = ExtVar(cms.InputTag("prefiringweight:nonPrefiringProbMuonStatUp"), "float", doc = "Muon L1 pre-firing event correction weight (1-probability), up var. stat.", precision=8),
246246
L1PreFiringWeightMuon_StatDn = ExtVar(cms.InputTag("prefiringweight:nonPrefiringProbMuonStatDown"), "float", doc = "Muon L1 pre-firing event correction weight (1-probability), down var. stat.", precision=8),
247-
L1PreFiringWeightJet_Nom = ExtVar(cms.InputTag("prefiringweight:nonPrefiringProbJet"), "float", doc = "Jet L1 pre-firing event correction weight (1-probability)", precision=8),
248-
L1PreFiringWeightJet_Up = ExtVar(cms.InputTag("prefiringweight:nonPrefiringProbJetUp"), "float", doc = "Jet L1 pre-firing event correction weight (1-probability), up var.", precision=8),
249-
L1PreFiringWeightJet_Dn = ExtVar(cms.InputTag("prefiringweight:nonPrefiringProbJetDown"), "float", doc = "Jet L1 pre-firing event correction weight (1-probability), down var.", precision=8),
250-
L1PreFiringWeightPhoton_Nom = ExtVar(cms.InputTag("prefiringweight:nonPrefiringProbPhoton"), "float", doc = "Photon L1 pre-firing event correction weight (1-probability)", precision=8),
251-
L1PreFiringWeightPhoton_Up = ExtVar(cms.InputTag("prefiringweight:nonPrefiringProbPhotonUp"), "float", doc = "Photon L1 pre-firing event correction weight (1-probability), up var.", precision=8),
252-
L1PreFiringWeightPhoton_Dn = ExtVar(cms.InputTag("prefiringweight:nonPrefiringProbPhotonDown"), "float", doc = "Photon L1 pre-firing event correction weight (1-probability), down var.", precision=8),
247+
L1PreFiringWeightECAL_Nom = ExtVar(cms.InputTag("prefiringweight:nonPrefiringProbECAL"), "float", doc = "ECAL L1 pre-firing event correction weight (1-probability)", precision=8),
248+
L1PreFiringWeightECAL_Up = ExtVar(cms.InputTag("prefiringweight:nonPrefiringProbECALUp"), "float", doc = "ECAL L1 pre-firing event correction weight (1-probability), up var.", precision=8),
249+
L1PreFiringWeightECAL_Dn = ExtVar(cms.InputTag("prefiringweight:nonPrefiringProbECALDown"), "float", doc = "ECAL L1 pre-firing event correction weight (1-probability), down var.", precision=8),
253250
)
254251
)
255252

PhysicsTools/PatUtils/plugins/L1PrefiringWeightProducer.cc

Lines changed: 15 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -60,13 +60,9 @@ class L1PrefiringWeightProducer : public edm::stream::EDProducer<> {
6060
const edm::EDPutTokenT<float> nonPrefiringProbUpToken_;
6161
const edm::EDPutTokenT<float> nonPrefiringProbDownToken_;
6262

63-
const edm::EDPutTokenT<float> nonPrefiringProbJetToken_;
64-
const edm::EDPutTokenT<float> nonPrefiringProbJetUpToken_;
65-
const edm::EDPutTokenT<float> nonPrefiringProbJetDownToken_;
66-
67-
const edm::EDPutTokenT<float> nonPrefiringProbPhotonToken_;
68-
const edm::EDPutTokenT<float> nonPrefiringProbPhotonUpToken_;
69-
const edm::EDPutTokenT<float> nonPrefiringProbPhotonDownToken_;
63+
const edm::EDPutTokenT<float> nonPrefiringProbECALToken_;
64+
const edm::EDPutTokenT<float> nonPrefiringProbECALUpToken_;
65+
const edm::EDPutTokenT<float> nonPrefiringProbECALDownToken_;
7066

7167
const edm::EDPutTokenT<float> nonPrefiringProbMuonToken_;
7268
const edm::EDPutTokenT<float> nonPrefiringProbMuonUpToken_;
@@ -111,12 +107,9 @@ L1PrefiringWeightProducer::L1PrefiringWeightProducer(const edm::ParameterSet& iC
111107
nonPrefiringProbToken_(produces<float>("nonPrefiringProb")),
112108
nonPrefiringProbUpToken_(produces<float>("nonPrefiringProbUp")),
113109
nonPrefiringProbDownToken_(produces<float>("nonPrefiringProbDown")),
114-
nonPrefiringProbJetToken_(produces<float>("nonPrefiringProbJet")),
115-
nonPrefiringProbJetUpToken_(produces<float>("nonPrefiringProbJetUp")),
116-
nonPrefiringProbJetDownToken_(produces<float>("nonPrefiringProbJetDown")),
117-
nonPrefiringProbPhotonToken_(produces<float>("nonPrefiringProbPhoton")),
118-
nonPrefiringProbPhotonUpToken_(produces<float>("nonPrefiringProbPhotonUp")),
119-
nonPrefiringProbPhotonDownToken_(produces<float>("nonPrefiringProbPhotonDown")),
110+
nonPrefiringProbECALToken_(produces<float>("nonPrefiringProbECAL")),
111+
nonPrefiringProbECALUpToken_(produces<float>("nonPrefiringProbECALUp")),
112+
nonPrefiringProbECALDownToken_(produces<float>("nonPrefiringProbECALDown")),
120113
nonPrefiringProbMuonToken_(produces<float>("nonPrefiringProbMuon")),
121114
nonPrefiringProbMuonUpToken_(produces<float>("nonPrefiringProbMuonUp")),
122115
nonPrefiringProbMuonDownToken_(produces<float>("nonPrefiringProbMuonDown")),
@@ -227,8 +220,7 @@ void L1PrefiringWeightProducer::produce(edm::Event& iEvent, const edm::EventSetu
227220
//Probability for the event NOT to prefire, computed with the prefiring maps per object.
228221
//Up and down values correspond to the resulting value when shifting up/down all prefiring rates in prefiring maps.
229222
double nonPrefiringProba[3] = {1., 1., 1.}; //0: central, 1: up, 2: down
230-
double nonPrefiringProbaJet[3] = {1., 1., 1.}; //0: central, 1: up, 2: down
231-
double nonPrefiringProbaPhoton[3] = {1., 1., 1.}; //0: central, 1: up, 2: down
223+
double nonPrefiringProbaECAL[3] = {1., 1., 1.}; //0: central, 1: up, 2: down
232224
double nonPrefiringProbaMuon[7] = {
233225
1., 1., 1., 1., 1., 1., 1.}; //0: central, 1: up, 2: down, 3: up stat, 4: down stat, 5: up syst, 6: down syst
234226

@@ -244,7 +236,7 @@ void L1PrefiringWeightProducer::produce(edm::Event& iEvent, const edm::EventSetu
244236
if (fabs(eta_gam) > 3.)
245237
continue;
246238
double prefiringprob_gam = getPrefiringRateEcal(eta_gam, pt_gam, h_prefmap_photon_, fluct);
247-
nonPrefiringProbaPhoton[fluct] *= (1. - prefiringprob_gam);
239+
nonPrefiringProbaECAL[fluct] *= (1. - prefiringprob_gam);
248240
}
249241

250242
//Now applying the prefiring maps to jets in the affected regions.
@@ -286,15 +278,14 @@ void L1PrefiringWeightProducer::produce(edm::Event& iEvent, const edm::EventSetu
286278
double nonprefiringprobfromoverlappingjet = 1. - getPrefiringRateEcal(eta_jet, pt_jet, h_prefmap_jet_, fluct);
287279

288280
if (!foundOverlappingPhotons) {
289-
nonPrefiringProbaJet[fluct] *= nonprefiringprobfromoverlappingjet;
281+
nonPrefiringProbaECAL[fluct] *= nonprefiringprobfromoverlappingjet;
290282
}
291283
//If overlapping photons have a non prefiring rate larger than the jet, then replace these weights by the jet one
292284
else if (nonprefiringprobfromoverlappingphotons > nonprefiringprobfromoverlappingjet) {
293285
if (nonprefiringprobfromoverlappingphotons > 0.) {
294-
nonPrefiringProbaJet[fluct] *= nonprefiringprobfromoverlappingjet / nonprefiringprobfromoverlappingphotons;
295-
nonPrefiringProbaPhoton[fluct] *= 1 / nonprefiringprobfromoverlappingphotons;
286+
nonPrefiringProbaECAL[fluct] *= nonprefiringprobfromoverlappingjet / nonprefiringprobfromoverlappingphotons;
296287
} else {
297-
nonPrefiringProbaJet[fluct] = 0.;
288+
nonPrefiringProbaECAL[fluct] = 0.;
298289
}
299290
}
300291
//Last case: if overlapping photons have a non prefiring rate smaller than the jet, don't consider the jet in the event weight, and do nothing.
@@ -317,7 +308,7 @@ void L1PrefiringWeightProducer::produce(edm::Event& iEvent, const edm::EventSetu
317308
// Calculate combined weight as product of the weight for individual objects
318309
for (const auto fluct : {fluctuations::central, fluctuations::up, fluctuations::down}) {
319310
nonPrefiringProba[fluct] =
320-
nonPrefiringProbaPhoton[fluct] * nonPrefiringProbaJet[fluct] * nonPrefiringProbaMuon[fluct];
311+
nonPrefiringProbaECAL[fluct] * nonPrefiringProbaMuon[fluct];
321312
}
322313
// Calculate statistical and systematic uncertainty separately in the muon case
323314
for (const auto fluct :
@@ -340,13 +331,9 @@ void L1PrefiringWeightProducer::produce(edm::Event& iEvent, const edm::EventSetu
340331
iEvent.emplace(nonPrefiringProbUpToken_, nonPrefiringProba[1]);
341332
iEvent.emplace(nonPrefiringProbDownToken_, nonPrefiringProba[2]);
342333

343-
iEvent.emplace(nonPrefiringProbJetToken_, nonPrefiringProbaJet[0]);
344-
iEvent.emplace(nonPrefiringProbJetUpToken_, nonPrefiringProbaJet[1]);
345-
iEvent.emplace(nonPrefiringProbJetDownToken_, nonPrefiringProbaJet[2]);
346-
347-
iEvent.emplace(nonPrefiringProbPhotonToken_, nonPrefiringProbaPhoton[0]);
348-
iEvent.emplace(nonPrefiringProbPhotonUpToken_, nonPrefiringProbaPhoton[1]);
349-
iEvent.emplace(nonPrefiringProbPhotonDownToken_, nonPrefiringProbaPhoton[2]);
334+
iEvent.emplace(nonPrefiringProbECALToken_, nonPrefiringProbaECAL[0]);
335+
iEvent.emplace(nonPrefiringProbECALUpToken_, nonPrefiringProbaECAL[1]);
336+
iEvent.emplace(nonPrefiringProbECALDownToken_, nonPrefiringProbaECAL[2]);
350337

351338
iEvent.emplace(nonPrefiringProbMuonToken_, nonPrefiringProbaMuon[0]);
352339
iEvent.emplace(nonPrefiringProbMuonUpToken_, nonPrefiringProbaMuon[1]);

0 commit comments

Comments
 (0)