24 (iConfig.getParameter<edm::
InputTag>(
"EgammaCandidates"))),
26 (iConfig.getParameter<edm::
InputTag>(
"EgammaGsfTracks"))),
28 "SigmaIEtaIEtaMap"))),
35 "OneOEMinusOneOPMap"))),
37 "EcalPFClusterIsoMap"))),
39 "EleGsfTrackIsoMap"))),
41 "HcalPFClusterIsoMap"))),
42 egammaPtCut(iConfig.getParameter<double>(
"egammaPtCut")),
43 egammaEtaCut(iConfig.getParameter<double>(
"egammaEtaCut")),
44 egammaHoverECut(iConfig.getParameter<double>(
"egammaHoverECut"))
47 produces<ScoutingElectronCollection>();
48 produces<ScoutingPhotonCollection>();
62 EgammaCandidateCollection)){
64 <<
"invalid collection: EgammaCandidateCollection" <<
"\n";
71 EgammaGsfTrackCollection)){
73 <<
"invalid collection: EgammaGsfTrackCollection" <<
"\n";
81 <<
"invalid collection: hltEgammaClusterShape:sigmaIEtaIEta5x5" <<
"\n";
89 <<
"invalid collection: hltEgammaHoverE" <<
"\n";
97 <<
"invalid collection: hltEgammaGsfTrackVars:Deta" <<
"\n";
105 <<
"invalid collection: hltEgammaGsfTrackVars:Dphi" <<
"\n";
113 <<
"invalid collection: hltEgammaGsfTrackVars:MissingHits" <<
"\n";
121 <<
"invalid collection: hltEgammaGsfTrackVars:OneOESuperMinusOneOP" <<
"\n";
129 <<
"invalid collection: hltEgammaEcalPFClusterIso" <<
"\n";
137 <<
"invalid collection: hltEgammaEleGsfTrackIso" <<
"\n";
145 <<
"invalid collection: HcalPFClusterIso" <<
"\n";
153 for (
auto &candidate : *EgammaCandidateCollection) {
172 for (
auto &track: *EgammaGsfTrackCollection) {
177 if (scRefFromTrk == scRef) {
180 charge = track.charge();
183 if (charge == -999) {
184 outPhotons->emplace_back(candidate.pt(), candidate.eta(), candidate.phi(),
185 candidate.mass(), (*SigmaIEtaIEtaMap)[candidateRef],
186 (*HoverEMap)[candidateRef],
187 (*EcalPFClusterIsoMap)[candidateRef],
188 (*HcalPFClusterIsoMap)[candidateRef]);
190 outElectrons->emplace_back(candidate.pt(), candidate.eta(), candidate.phi(),
191 candidate.mass(), d0, dz, (*DetaMap)[candidateRef],
192 (*DphiMap)[candidateRef], (*SigmaIEtaIEtaMap)[candidateRef],
193 (*HoverEMap)[candidateRef],
194 (*OneOEMinusOneOPMap)[candidateRef],
195 (*MissingHitsMap)[candidateRef],
charge,
196 (*EcalPFClusterIsoMap)[candidateRef],
197 (*HcalPFClusterIsoMap)[candidateRef],
198 (*EleGsfTrackIsoMap)[candidateRef]);
203 iEvent.
put(outElectrons);
204 iEvent.
put(outPhotons);
213 "hltEgammaClusterShape:sigmaIEtaIEta5x5"));
219 "hltEgammaGsfTrackVars:OneOESuperMinusOneOP"));
223 desc.
add<
double>(
"egammaPtCut", 4.0);
224 desc.
add<
double>(
"egammaEtaCut", 2.5);
225 desc.
add<
double>(
"egammaHoverECut", 1.0);
226 descriptions.
add(
"hltScoutingEgammaProducer", desc);
helper::MatcherGetRef< C >::ref_type getRef(const Handle< C > &c, size_t k)
const edm::EDGetTokenT< RecoEcalCandMap > SigmaIEtaIEtaMap_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
const edm::EDGetTokenT< reco::GsfTrackCollection > EgammaGsfTrackCollection_
const edm::EDGetTokenT< RecoEcalCandMap > EleGsfTrackIsoMap_
const edm::EDGetTokenT< RecoEcalCandMap > HoverEMap_
const edm::EDGetTokenT< reco::RecoEcalCandidateCollection > EgammaCandidateCollection_
virtual void produce(edm::StreamID sid, edm::Event &iEvent, edm::EventSetup const &setup) const overridefinal
const edm::EDGetTokenT< RecoEcalCandMap > DetaMap_
~HLTScoutingEgammaProducer()
const double egammaHoverECut
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
std::vector< GsfTrack > GsfTrackCollection
collection of GsfTracks
const double egammaEtaCut
ParameterDescriptionBase * add(U const &iLabel, T const &value)
bool isNull() const
Checks for null.
std::vector< ScoutingElectron > ScoutingElectronCollection
const edm::EDGetTokenT< RecoEcalCandMap > OneOEMinusOneOPMap_
const edm::EDGetTokenT< RecoEcalCandMap > MissingHitsMap_
const edm::EDGetTokenT< RecoEcalCandMap > DphiMap_
REF castTo() const
cast to a concrete type
void add(std::string const &label, ParameterSetDescription const &psetDescription)
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
std::vector< RecoEcalCandidate > RecoEcalCandidateCollection
collectin of RecoEcalCandidate objects
const edm::EDGetTokenT< RecoEcalCandMap > HcalPFClusterIsoMap_
std::vector< ScoutingPhoton > ScoutingPhotonCollection
void setup(std::vector< TH2F > &depth, std::string name, std::string units="")
const edm::EDGetTokenT< RecoEcalCandMap > EcalPFClusterIsoMap_
HLTScoutingEgammaProducer(const edm::ParameterSet &)