@@ -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