63 trackQuality_ ( config.getParameter<std::
string>(
"trackQuality"))
65 produces< reco::HIPhotonIsolationMap >();
94 std::vector<reco::HIPhotonIsolation> isoVector;
101 for (reco::PhotonCollection::const_iterator phoItr = photons->begin(); phoItr != photons->end(); ++phoItr)
125 const DetId &
id = lazyTool.getMaximum(*seed).first;
129 if( it != rechits.end() ) {
135 float eMax = lazyTool.eMax(*seed);
136 float eRight = lazyTool.eRight(*seed);
137 float eLeft = lazyTool.eLeft(*seed);
138 float eTop = lazyTool.eTop(*seed);
139 float eBottom = lazyTool.eBottom(*seed);
140 iso.
swissCrx( 1 - (eRight + eLeft + eTop + eBottom)/eMax );
142 isoVector.push_back(iso);
144 filler.
insert(photons, isoVector.begin(), isoVector.end() );
164 descriptions.
add(
"photonIsolationHIProducer", desc);
photonIsolationHIProducer(const edm::ParameterSet &ps)
float hcalRechitIsoR1() const
Rechit-based isolation (HCAL) R = 0.1.
edm::EDGetTokenT< HORecHitCollection > ho_
edm::EDGetTokenT< HBHERecHitCollection > hbhe_
const std::vector< reco::PFCandidatePtr > & tracks_
float ecalClusterIsoR1() const
Cluster-based isolation (ECAL) R = 0.1.
bool getByToken(EDGetToken token, Handle< PROD > &result) const
#define DEFINE_FWK_MODULE(type)
void insert(const H &h, I begin, I end)
std::vector< Track > TrackCollection
collection of Tracks
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.
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.
float hcalRechitIsoR4() const
Rechit-based isolation (HCAL) R = 0.4.
edm::EDGetTokenT< HFRecHitCollection > hf_
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
~photonIsolationHIProducer()
double getBkgSubTrackIso(const reco::Photon clus, const double i, const double threshold, const double innerDR=0)
Return the background-subtracted tracker energy in a cone around the photon.
std::string trackQuality_
virtual void produce(edm::Event &evt, const edm::EventSetup &es) override
ParameterDescriptionBase * add(U const &iLabel, T const &value)
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
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_
std::vector< Photon > PhotonCollection
collectin of Photon objects
void add(std::string const &label, ParameterSetDescription const &psetDescription)
std::vector< BasicCluster > BasicClusterCollection
collection of BasicCluster objects
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.
iterator find(key_type k)
edm::EDGetTokenT< reco::PhotonCollection > photonProducer_
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 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_