76 std::map<reco::GsfTrackRef, const reco::PFCandidate*> gsfPFMap;
77 for (
auto const& pfCand : *pfCandidateHandle) {
79 if (pfCand.gsfTrackRef().isNonnull()) {
80 if (
abs(pfCand.pdgId()) == 11)
81 gsfPFMap[pfCand.gsfTrackRef()] = &pfCand;
86 unsigned nele = gedElectronHandle->size();
87 for (
unsigned iele = 0; iele < nele; ++iele) {
93 isoVariables.
sumPhotonEt = (*(isolationValueMaps)[1])[myElectronRef];
95 isoVariables.
sumPUPt = (*(isolationValueMaps)[3])[myElectronRef];
99 newElectron.setPfIsolationVariables(isoVariables);
103 if (newElectron.mvaOutput().status <= 0) {
105 if (gsfPFMap.find(newElectron.gsfTrack()) != gsfPFMap.end()) {
109 newElectron.setPassPflowPreselection(
true);
111 myMvaOutput.status = 4;
113 newElectron.setPassPflowPreselection(
false);
115 newElectron.setMvaOutput(myMvaOutput);
121 outputElectrons.push_back(newElectron);
std::unique_ptr< ModifyObjectValueBase > gedRegression_
float sumPUPt
sum pt of charged Particles not from PV (for Pu corrections)
std::vector< edm::EDGetTokenT< edm::ValueMap< float > > > tokenElectronIsoVals_
std::vector< GsfElectron > GsfElectronCollection
collection of GsfElectron objects
const edm::EDGetTokenT< reco::GsfElectronCollection > previousGsfElectrons_
float sumPhotonEt
sum pt of PF photons // old float photonIso ;
Abs< T >::type abs(const T &t)
float sumNeutralHadronEt
sum pt of neutral hadrons // old float neutralHadronIso ;
const edm::EDPutTokenT< reco::GsfElectronCollection > putToken_
const edm::EDGetTokenT< reco::PFCandidateCollection > pfCandidates_
float sumChargedHadronPt
sum-pt of charged Hadron // old float chargedHadronIso ;