81 auto outputMap = std::make_unique<reco::HIPhotonIsolationMap>();
83 std::vector<reco::HIPhotonIsolation> isoVector;
90 for (reco::PhotonCollection::const_iterator phoItr = photons->begin(); phoItr != photons->end(); ++phoItr) {
93 iso.
ecalClusterIsoR1(CxC.getBkgSubEcalClusterIso(phoItr->superCluster(), 1, 0));
94 iso.
ecalClusterIsoR2(CxC.getBkgSubEcalClusterIso(phoItr->superCluster(), 2, 0));
95 iso.
ecalClusterIsoR3(CxC.getBkgSubEcalClusterIso(phoItr->superCluster(), 3, 0));
96 iso.
ecalClusterIsoR4(CxC.getBkgSubEcalClusterIso(phoItr->superCluster(), 4, 0));
97 iso.
ecalClusterIsoR5(CxC.getBkgSubEcalClusterIso(phoItr->superCluster(), 5, 0));
99 iso.
hcalRechitIsoR1(RxC.getBkgSubHcalRechitIso(phoItr->superCluster(), 1, 0));
100 iso.
hcalRechitIsoR2(RxC.getBkgSubHcalRechitIso(phoItr->superCluster(), 2, 0));
101 iso.
hcalRechitIsoR3(RxC.getBkgSubHcalRechitIso(phoItr->superCluster(), 3, 0));
102 iso.
hcalRechitIsoR4(RxC.getBkgSubHcalRechitIso(phoItr->superCluster(), 4, 0));
103 iso.
hcalRechitIsoR5(RxC.getBkgSubHcalRechitIso(phoItr->superCluster(), 5, 0));
113 const DetId&
id = lazyTool.getMaximum(*seed).first;
123 float eMax = lazyTool.eMax(*seed);
124 float eRight = lazyTool.eRight(*seed);
125 float eLeft = lazyTool.eLeft(*seed);
126 float eTop = lazyTool.eTop(*seed);
127 float eBottom = lazyTool.eBottom(*seed);
128 iso.
swissCrx(1 - (eRight + eLeft + eTop + eBottom) / eMax);
130 isoVector.push_back(iso);
132 filler.insert(photons, isoVector.begin(), isoVector.end());
float hcalRechitIsoR1() const
Rechit-based isolation (HCAL) R = 0.1.
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
edm::EDGetTokenT< HORecHitCollection > ho_
edm::EDGetTokenT< HBHERecHitCollection > hbhe_
float ecalClusterIsoR1() const
Cluster-based isolation (ECAL) R = 0.1.
bool getByToken(EDGetToken token, Handle< PROD > &result) const
std::vector< EcalRecHit >::const_iterator const_iterator
edm::EDGetTokenT< reco::BasicClusterCollection > endcapClusters_
float seedTime() const
Ecal rechit seed time.
float hcalRechitIsoR3() const
Rechit-based isolation (HCAL) R = 0.3.
float ecalClusterIsoR4() const
Cluster-based isolation (ECAL) R = 0.4.
float hcalRechitIsoR4() const
Rechit-based isolation (HCAL) R = 0.4.
edm::EDGetTokenT< HFRecHitCollection > hf_
std::string trackQuality_
float trackIsoR5PtCut20() const
Track-based isolation, pt>2.0GeV, R = 0.5.
float ecalClusterIsoR5() const
Cluster-based isolation (ECAL) R = 0.5.
edm::EDGetTokenT< EcalRecHitCollection > endcapEcalHits_
float ecalClusterIsoR2() const
Cluster-based isolation (ECAL) R = 0.2.
edm::EDGetTokenT< reco::BasicClusterCollection > barrelClusters_
float hcalRechitIsoR5() const
Rechit-based isolation (HCAL) R = 0.5.
float hcalRechitIsoR2() const
Rechit-based isolation (HCAL) R = 0.2.
edm::EDGetTokenT< EcalRecHitCollection > barrelEcalHits_
float trackIsoR1PtCut20() const
Track-based isolation, pt>2.0GeV, R = 0.1.
float swissCrx() const
SwissCross crystal ratio.
float trackIsoR4PtCut20() const
Track-based isolation, pt>2.0GeV, R = 0.4.
edm::EDGetTokenT< reco::PhotonCollection > photonProducer_
float trackIsoR2PtCut20() const
Track-based isolation, pt>2.0GeV, R = 0.2.
float trackIsoR3PtCut20() const
Track-based isolation, pt>2.0GeV, R = 0.3.
float ecalClusterIsoR3() const
Cluster-based isolation (ECAL) R = 0.3.
edm::EDGetTokenT< reco::TrackCollection > tracks_