58 produces<trigger::TriggerFilterObjectWithRefs>();
68 desc.
add<
bool>(
"lessThan",
true);
69 desc.
add<
bool>(
"useEt",
true);
70 desc.
add<
double>(
"etaBoundaryEB12",1.0);
71 desc.
add<
double>(
"etaBoundaryEE12",2.0);
72 desc.
add<
double>(
"thrRegularEB1",4.0);
73 desc.
add<
double>(
"thrRegularEE1",6.0);
74 desc.
add<
double>(
"thrOverEEB1",0.0020);
75 desc.
add<
double>(
"thrOverEEE1",0.0020);
76 desc.
add<
double>(
"thrOverE2EB1",0.0);
77 desc.
add<
double>(
"thrOverE2EE1",0.0);
78 desc.
add<
double>(
"thrRegularEB2",6.0);
79 desc.
add<
double>(
"thrRegularEE2",4.0);
80 desc.
add<
double>(
"thrOverEEB2",0.0020);
81 desc.
add<
double>(
"thrOverEEE2",0.0020);
82 desc.
add<
double>(
"thrOverE2EB2",0.0);
83 desc.
add<
double>(
"thrOverE2EE2",0.0);
84 desc.
add<
int>(
"ncandcut",1);
85 desc.
add<
bool>(
"doIsolated",
false);
88 descriptions.
add(
"hltEgammaGenericQuadraticEtaFilter",desc);
98 using namespace trigger;
116 std::vector<edm::Ref<reco::RecoEcalCandidateCollection> > recoecalcands;
118 if(recoecalcands.empty()) PrevFilterOutput->getObjects(
TriggerPhoton,recoecalcands);
131 for (
unsigned int i=0;
i<recoecalcands.size();
i++) {
133 ref = recoecalcands[
i];
135 if (mapi==(*depMap).end() && !
doIsolated_) mapi = (*depNonIsoMap).find( ref );
137 float vali = mapi->val;
138 float energy = ref->superCluster()->energy();
139 float EtaSC = ref->eta();
140 if (
useEt_) energy = energy *
sin (2*atan(
exp(-EtaSC)));
141 if (energy < 0.) energy=0.;
147 filterproduct.
addObject(trigger_type, ref);
150 }
else if (fabs(EtaSC) < 1.479) {
153 filterproduct.
addObject(trigger_type, ref);
159 filterproduct.
addObject(trigger_type, ref);
164 filterproduct.
addObject(trigger_type, ref);
171 filterproduct.
addObject(trigger_type, ref);
174 }
else if (fabs(EtaSC) < 1.479) {
177 filterproduct.
addObject(trigger_type, ref);
183 filterproduct.
addObject(trigger_type, ref);
188 filterproduct.
addObject(trigger_type, ref);
T getParameter(std::string const &) const
friend struct const_iterator
HLTEgammaGenericQuadraticEtaFilter(const edm::ParameterSet &)
bool getByToken(EDGetToken token, Handle< PROD > &result) const
edm::EDGetTokenT< reco::RecoEcalCandidateIsolationMap > nonIsoToken_
Sin< T >::type sin(const T &t)
bool accept(const edm::Event &event, const edm::TriggerResults &triggerTable, const std::string &triggerPath)
void addObject(int id, const reco::RecoEcalCandidateRef &ref)
setters for L3 collections: (id=physics type, and Ref<C>)
virtual bool hltFilter(edm::Event &, const edm::EventSetup &, trigger::TriggerFilterObjectWithRefs &filterproduct) const override
ParameterDescriptionBase * add(U const &iLabel, T const &value)
static void makeHLTFilterDescription(edm::ParameterSetDescription &desc)
edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > candToken_
edm::EDGetTokenT< reco::RecoEcalCandidateIsolationMap > isoToken_
void addCollectionTag(const edm::InputTag &collectionTag)
collectionTags
void add(std::string const &label, ParameterSetDescription const &psetDescription)
edm::InputTag L1NonIsoCollTag_
edm::InputTag L1IsoCollTag_
~HLTEgammaGenericQuadraticEtaFilter()
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)