30 #define TWOPI 6.283185308 67 desc.
add<
int>(
"ncandcut",1);
68 desc.
add<
bool>(
"doIsolated",
true);
69 desc.
add<
double>(
"region_eta_size",0.522);
70 desc.
add<
double>(
"region_eta_size_ecap",1.0);
71 desc.
add<
double>(
"region_phi_size",1.044);
72 desc.
add<
double>(
"barrel_end",1.4791);
73 desc.
add<
double>(
"endcap_end",2.65);
74 descriptions.
add(
"hltEgammaL1MatchFilterRegional",desc);
113 std::vector<l1extra::L1EmParticleRef > l1EGIso;
116 std::vector<l1extra::L1EmParticleRef > l1EGNonIso;
119 std::vector<l1extra::L1JetParticleRef> l1Jets;
122 for (
auto recoecalcand= recoIsolecalcands->begin(); recoecalcand!=recoIsolecalcands->end(); recoecalcand++) {
128 bool matchedSCIso =
matchedToL1Cand(l1EGIso,recoecalcand->eta(),recoecalcand->phi());
134 bool matchedSCNonIso=
false;
136 matchedSCNonIso =
matchedToL1Cand(l1EGNonIso,recoecalcand->eta(),recoecalcand->phi());
139 bool matchedSCJet =
matchedToL1Cand(l1Jets,recoecalcand->eta(),recoecalcand->phi());
142 if(matchedSCIso || matchedSCNonIso || matchedSCJet) {
162 for (
auto recoecalcand= recoNonIsolecalcands->begin(); recoecalcand!=recoNonIsolecalcands->end(); recoecalcand++) {
164 bool matchedSCNonIso =
matchedToL1Cand(l1EGNonIso,recoecalcand->eta(),recoecalcand->phi());
166 bool matchedSCJet =
matchedToL1Cand(l1Jets,recoecalcand->eta(),recoecalcand->phi());
169 if(matchedSCNonIso || matchedSCJet) {
191 for (
auto const & l1Cand : l1Cands) {
193 double etaBinLow = 0.;
194 double etaBinHigh = 0.;
204 float deltaphi=fabs(scPhi -l1Cand->phi());
206 if(deltaphi>
TWOPI/2.) deltaphi=
TWOPI-deltaphi;
208 if(scEta < etaBinHigh && scEta > etaBinLow && deltaphi <
region_phi_size_/2. ) {
218 for (
auto const & l1Cand : l1Cands) {
220 double etaBinLow = 0.;
221 double etaBinHigh = 0.;
231 float deltaphi=fabs(scPhi -l1Cand->phi());
233 if(deltaphi>
TWOPI/2.) deltaphi=
TWOPI-deltaphi;
235 if(scEta < etaBinHigh && scEta > etaBinLow && deltaphi <
region_phi_size_/2. ) {
T getParameter(std::string const &) const
void getObjects(Vids &ids, VRphoton &refs) const
various physics-level getters:
edm::InputTag l1IsolatedTag_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > L1SeedFilterToken_
~HLTEgammaL1MatchFilterRegional() override
HLTEgammaL1MatchFilterRegional(const edm::ParameterSet &)
edm::EDGetTokenT< reco::RecoEcalCandidateCollection > candNonIsolatedToken_
edm::InputTag candIsolatedTag_
bool matchedToL1Cand(const std::vector< l1extra::L1EmParticleRef > &l1Cands, const float scEta, const float scPhi) const
bool accept(const edm::Event &event, const edm::TriggerResults &triggerTable, const std::string &triggerPath)
edm::InputTag L1SeedFilterTag_
edm::InputTag l1CenJetsTag_
void addObject(int id, const reco::RecoEcalCandidateRef &ref)
setters for L3 collections: (id=physics type, and Ref<C>)
#define DEFINE_FWK_MODULE(type)
edm::EDGetTokenT< reco::RecoEcalCandidateCollection > candIsolatedToken_
edm::InputTag candNonIsolatedTag_
edm::InputTag l1NonIsolatedTag_
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
ParameterDescriptionBase * add(U const &iLabel, T const &value)
static void makeHLTFilterDescription(edm::ParameterSetDescription &desc)
void addCollectionTag(const edm::InputTag &collectionTag)
collectionTags
void add(std::string const &label, ParameterSetDescription const &psetDescription)
bool hltFilter(edm::Event &, const edm::EventSetup &, trigger::TriggerFilterObjectWithRefs &filterproduct) const override
double region_eta_size_ecap_