69 recoEcalCandidateProducer_(
71 beamSpotProducer_(consumes<
reco::
BeamSpot>(config.getParameter<edm::
InputTag>(
"beamSpotProducer"))),
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_
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
const double egTrkIsoPtMin_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
const edm::EDGetTokenT< reco::RecoEcalCandidateCollection > recoEcalCandidateProducer_
#define DEFINE_FWK_MODULE(type)
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_
std::pair< int, double > getIso(const reco::GsfElectron *) const
ParameterDescriptionBase * add(U const &iLabel, T const &value)
std::vector< Electron > ElectronCollection
collectin of Electron objects
T const * product() const
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
tuple config
parse the configuration file
const edm::EDGetTokenT< reco::TrackCollection > trackProducer_
const double egTrkIsoZSpan_
const double egTrkIsoStripBarrel_
const double egTrkIsoConeSize_