|
|
Go to the documentation of this file.
47 : photonProducer_(consumes(
config.getParameter<
edm::
InputTag>(
"photonProducer"))),
48 barrelEcalHits_(consumes(
config.getParameter<
edm::
InputTag>(
"ebRecHitCollection"))),
49 endcapEcalHits_(consumes(
config.getParameter<
edm::
InputTag>(
"eeRecHitCollection"))),
53 barrelClusters_(consumes(
config.getParameter<
edm::
InputTag>(
"basicClusterBarrel"))),
54 endcapClusters_(consumes(
config.getParameter<
edm::
InputTag>(
"basicClusterEndcap"))),
56 ecalClusterToolsESGetTokens_{consumesCollector()},
58 produces<reco::HIPhotonIsolationMap>();
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) {
113 const DetId&
id = lazyTool.getMaximum(*seed).first;
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);
151 descriptions.
add(
"photonIsolationHIProducer",
desc);
std::vector< EcalRecHit >::const_iterator const_iterator
void produce(edm::Event &evt, const edm::EventSetup &es) override
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
float hcalRechitIsoR5() const
Rechit-based isolation (HCAL) R = 0.5.
edm::EDGetTokenT< HFRecHitCollection > hf_
std::string trackQuality_
float trackIsoR1PtCut20() const
Track-based isolation, pt>2.0GeV, R = 0.1.
edm::EDGetTokenT< EcalRecHitCollection > barrelEcalHits_
edm::EDGetTokenT< EcalRecHitCollection > endcapEcalHits_
float hcalRechitIsoR2() const
Rechit-based isolation (HCAL) R = 0.2.
float trackIsoR4PtCut20() const
Track-based isolation, pt>2.0GeV, R = 0.4.
float hcalRechitIsoR4() const
Rechit-based isolation (HCAL) R = 0.4.
double getBkgSubHcalRechitIso(const reco::SuperClusterRef clus, const double i, const double threshold, const double innerR=0.0)
Return the background-subtracted hcal rechit energy in a cone around the SC.
float ecalClusterIsoR2() const
Cluster-based isolation (ECAL) R = 0.2.
#define DEFINE_FWK_MODULE(type)
void add(std::string const &label, ParameterSetDescription const &psetDescription)
edm::EDGetTokenT< reco::PhotonCollection > photonProducer_
float ecalClusterIsoR1() const
Cluster-based isolation (ECAL) R = 0.1.
float trackIsoR5PtCut20() const
Track-based isolation, pt>2.0GeV, R = 0.5.
float trackIsoR2PtCut20() const
Track-based isolation, pt>2.0GeV, R = 0.2.
float hcalRechitIsoR1() const
Rechit-based isolation (HCAL) R = 0.1.
bool getByToken(EDGetToken token, Handle< PROD > &result) const
edm::EDGetTokenT< reco::BasicClusterCollection > barrelClusters_
float ecalClusterIsoR4() const
Cluster-based isolation (ECAL) R = 0.4.
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
const EcalClusterLazyTools::ESGetTokens ecalClusterToolsESGetTokens_
float ecalClusterIsoR5() const
Cluster-based isolation (ECAL) R = 0.5.
edm::EDGetTokenT< HBHERecHitCollection > hbhe_
float trackIsoR3PtCut20() const
Track-based isolation, pt>2.0GeV, R = 0.3.
float swissCrx() const
SwissCross crystal ratio.
float hcalRechitIsoR3() const
Rechit-based isolation (HCAL) R = 0.3.
edm::EDGetTokenT< HORecHitCollection > ho_
double getBkgSubEcalClusterIso(const reco::SuperClusterRef clus, const double radius, const double threshold)
Return the background-subtracted ecal cluster energy in a cone around the SC.
photonIsolationHIProducer(const edm::ParameterSet &ps)
edm::EDGetTokenT< reco::BasicClusterCollection > endcapClusters_
double getBkgSubTrackIso(reco::Photon const &clus, const double i, const double threshold, const double innerDR=0)
Return the background-subtracted tracker energy in a cone around the photon.
float seedTime() const
Ecal rechit seed time.
edm::EDGetTokenT< reco::TrackCollection > tracks_
float ecalClusterIsoR3() const
Cluster-based isolation (ECAL) R = 0.3.