69 recoEcalCandidateProducer_(
72 useGsfTrack_(
config.getParameter<
bool>(
"useGsfTrack")),
73 useSCRefs_(
config.getParameter<
bool>(
"useSCRefs")),
74 egTrkIsoPtMin_(
config.getParameter<double>(
"egTrkIsoPtMin")),
75 egTrkIsoConeSize_(
config.getParameter<double>(
"egTrkIsoConeSize")),
76 egTrkIsoZSpan_(
config.getParameter<double>(
"egTrkIsoZSpan")),
77 egTrkIsoRSpan_(
config.getParameter<double>(
"egTrkIsoRSpan")),
78 egTrkIsoVetoConeSizeBarrel_(
config.getParameter<double>(
"egTrkIsoVetoConeSizeBarrel")),
79 egTrkIsoVetoConeSizeEndcap_(
config.getParameter<double>(
"egTrkIsoVetoConeSizeEndcap")),
80 egTrkIsoStripBarrel_(
config.getParameter<double>(
"egTrkIsoStripBarrel")),
81 egTrkIsoStripEndcap_(
config.getParameter<double>(
"egTrkIsoStripEndcap")) {
84 produces<reco::RecoEcalCandidateIsolationMap>();
86 produces<reco::ElectronIsolationMap>();
97 desc.add<
double>(
"egTrkIsoPtMin", 1.0);
98 desc.add<
double>(
"egTrkIsoConeSize", 0.3);
99 desc.add<
double>(
"egTrkIsoZSpan", 0.15);
100 desc.add<
double>(
"egTrkIsoRSpan", 999999.0);
101 desc.add<
double>(
"egTrkIsoVetoConeSizeBarrel", 0.03);
102 desc.add<
double>(
"egTrkIsoVetoConeSizeEndcap", 0.03);
103 desc.add<
double>(
"egTrkIsoStripBarrel", 0.03);
104 desc.add<
double>(
"egTrkIsoStripEndcap", 0.03);
105 desc.add<
bool>(
"useGsfTrack",
false);
106 desc.add<
bool>(
"useSCRefs",
false);
108 descriptions.
add(
"hltEgammaHLTElectronTrackIsolationProducers",
desc);
144 for (reco::RecoEcalCandidateCollection::const_iterator iRecoEcalCand = recoEcalCandHandle->begin();
145 iRecoEcalCand != recoEcalCandHandle->end();
150 for (reco::ElectronCollection::const_iterator eleIt = electronHandle->begin(); eleIt != electronHandle->end();
152 if (eleIt->superCluster() == recoEcalCandRef->superCluster()) {
158 if (eleRef.isNonnull()) {
160 isol = isoAlgo.
getIso(eleTrk).second;
162 recoEcalCandMap.
insert(recoEcalCandRef, isol);
165 iEvent.put(std::make_unique<reco::RecoEcalCandidateIsolationMap>(recoEcalCandMap));
168 for (reco::ElectronCollection::const_iterator iElectron = electronHandle->begin();
169 iElectron != electronHandle->end();
173 float isol = isoAlgo.
getIso(eleTrk).second;
174 eleMap.
insert(eleRef, isol);
177 iEvent.put(std::make_unique<reco::ElectronIsolationMap>(eleMap));
const double egTrkIsoRSpan_
const double egTrkIsoPtMin_
const Point & position() const
position
const edm::EDGetTokenT< reco::RecoEcalCandidateCollection > recoEcalCandidateProducer_
T const * product() const
std::vector< Track > TrackCollection
collection of Tracks
math::XYZPoint Point
point in the space
const double egTrkIsoVetoConeSizeEndcap_
void produce(edm::StreamID sid, edm::Event &, const edm::EventSetup &) const override
edm::Ref< ElectronCollection > ElectronRef
reference to an object in a collection of Electron objects
const edm::EDGetTokenT< reco::BeamSpot > beamSpotProducer_
EgammaHLTElectronTrackIsolationProducers(const edm::ParameterSet &)
const double egTrkIsoVetoConeSizeBarrel_
~EgammaHLTElectronTrackIsolationProducers() override
const double egTrkIsoStripEndcap_
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
const edm::EDGetTokenT< reco::ElectronCollection > electronProducer_
#define DEFINE_FWK_MODULE(type)
std::vector< Electron > ElectronCollection
collectin of Electron objects
void insert(const key_type &k, const data_type &v)
insert an association
void add(std::string const &label, ParameterSetDescription const &psetDescription)
std::vector< RecoEcalCandidate > RecoEcalCandidateCollection
collectin of RecoEcalCandidate objects
std::pair< int, double > getIso(const reco::GsfElectron *) const
const edm::EDGetTokenT< reco::TrackCollection > trackProducer_
const double egTrkIsoZSpan_
const double egTrkIsoStripBarrel_
const double egTrkIsoConeSize_