23 beamSpotProducer_ (consumes<
reco::
BeamSpot>(config.getParameter<
edm::InputTag>(
"beamSpotProducer"))),
24 useGsfTrack_ (config.getParameter<
bool>(
"useGsfTrack")),
25 useSCRefs_ (config.getParameter<
bool>(
"useSCRefs")),
26 egTrkIsoPtMin_ (config.getParameter<double>(
"egTrkIsoPtMin")),
27 egTrkIsoConeSize_ (config.getParameter<double>(
"egTrkIsoConeSize")),
28 egTrkIsoZSpan_ (config.getParameter<double>(
"egTrkIsoZSpan")),
29 egTrkIsoRSpan_ (config.getParameter<double>(
"egTrkIsoRSpan")),
30 egTrkIsoVetoConeSizeBarrel_ (config.getParameter<double>(
"egTrkIsoVetoConeSizeBarrel")),
31 egTrkIsoVetoConeSizeEndcap_ (config.getParameter<double>(
"egTrkIsoVetoConeSizeEndcap")),
32 egTrkIsoStripBarrel_ (config.getParameter<double>(
"egTrkIsoStripBarrel")),
33 egTrkIsoStripEndcap_ (config.getParameter<double>(
"egTrkIsoStripEndcap")) {
37 produces < reco::RecoEcalCandidateIsolationMap >();
39 produces < reco::ElectronIsolationMap >();
51 desc.
add<
double>(
"egTrkIsoPtMin", 1.0);
52 desc.
add<
double>(
"egTrkIsoConeSize", 0.3);
53 desc.
add<
double>(
"egTrkIsoZSpan", 0.15);
54 desc.
add<
double>(
"egTrkIsoRSpan", 999999.0);
55 desc.
add<
double>(
"egTrkIsoVetoConeSizeBarrel", 0.03);
56 desc.
add<
double>(
"egTrkIsoVetoConeSizeEndcap", 0.03);
57 desc.
add<
double>(
"egTrkIsoStripBarrel", 0.03);
58 desc.
add<
double>(
"egTrkIsoStripEndcap", 0.03);
59 desc.
add<
bool>(
"useGsfTrack",
false);
60 desc.
add<
bool>(
"useSCRefs",
false);
62 descriptions.
add(
"hltEgammaHLTElectronTrackIsolationProducers", desc);
89 for(reco::RecoEcalCandidateCollection::const_iterator iRecoEcalCand = recoEcalCandHandle->begin(); iRecoEcalCand != recoEcalCandHandle->end(); iRecoEcalCand++){
94 for(reco::ElectronCollection::const_iterator eleIt = electronHandle->begin(); eleIt != electronHandle->end(); eleIt++){
95 if(eleIt->superCluster()==recoEcalCandRef->superCluster()){
101 if(eleRef.isNonnull()){
103 isol = isoAlgo.
getIso(eleTrk).second;
105 recoEcalCandMap.
insert(recoEcalCandRef,isol);
108 iEvent.
put(std::make_unique<reco::RecoEcalCandidateIsolationMap>(recoEcalCandMap));
111 for(reco::ElectronCollection::const_iterator iElectron = electronHandle->begin(); iElectron != electronHandle->end(); iElectron++){
114 float isol = isoAlgo.
getIso(eleTrk).second;
115 eleMap.
insert(eleRef, isol);
118 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_
std::vector< Track > TrackCollection
collection of Tracks
math::XYZPoint Point
point in the space
const double egTrkIsoVetoConeSizeEndcap_
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
const edm::EDGetTokenT< reco::TrackCollection > trackProducer_
const Point & position() const
position
const double egTrkIsoZSpan_
const double egTrkIsoStripBarrel_
const double egTrkIsoConeSize_
void produce(edm::StreamID sid, edm::Event &, const edm::EventSetup &) const override