30 inputJetTag_ (iConfig.
template getParameter<
edm::InputTag > (
"inputJetTag")),
31 m_theJetToken(consumes<
std::vector<
T>>(inputJetTag_)),
32 minPtAve_ (iConfig.
template getParameter<double> (
"minPtAve")),
33 atLeastOneJetAbovePT_(iConfig.
template getParameter<double> (
"atLeastOneJetAbovePT")),
34 minPtTag_(iConfig.
template getParameter<double> (
"minPtTag")),
35 minPtProbe_(iConfig.
template getParameter<double> (
"minPtProbe")),
36 minDphi_ (iConfig.
template getParameter<double> (
"minDphi")),
37 tagEtaMin_ (iConfig.
template getParameter<double> (
"minTagEta")),
38 tagEtaMax_ (iConfig.
template getParameter<double> (
"maxTagEta")),
39 probeEtaMin_ (iConfig.
template getParameter<double> (
"minProbeEta")),
40 probeEtaMax_ (iConfig.
template getParameter<double> (
"maxProbeEta")),
41 applyAbsToTag_ (iConfig.
template getParameter<
bool> (
"applyAbsToTag")),
42 applyAbsToProbe_ (iConfig.
template getParameter<
bool> (
"applyAbsToProbe")),
43 oppositeEta_ (iConfig.
template getParameter<
bool> (
"oppositeEta")),
45 triggerType_ (iConfig.
template getParameter<
int> (
"triggerType"))
47 LogDebug(
"") <<
"HLTDiJetEtaTopologyFilter: Input/minDphi/triggerType : " 63 desc.
add<
double>(
"minPtAve",0.0);
64 desc.
add<
double>(
"atLeastOneJetAbovePT",0.0)->
setComment(
"At least one jet with pt above threshold");
65 desc.
add<
double>(
"minPtTag",50.0)->
setComment(
"pt requirement on tag jet");
66 desc.
add<
double>(
"minPtProbe",50.0)->
setComment(
"pt requirement on probe jet");
68 desc.
add<
double>(
"minDphi",-1.0);
69 desc.
add<
double>(
"minTagEta", -1.);
70 desc.
add<
double>(
"maxTagEta", 1.4);
71 desc.
add<
double>(
"minProbeEta", 2.7);
72 desc.
add<
double>(
"maxProbeEta", 5.5);
73 desc.
add<
bool> (
"applyAbsToTag",
false),
74 desc.
add<
bool> (
"applyAbsToProbe",
false),
75 desc.
add<
bool> (
"oppositeEta",
false),
90 typedef vector<T> TCollection;
102 if(objects->size() > 1){
103 typename TCollection::const_iterator iProbe ( objects->begin() );
104 typename TCollection::const_iterator iEnd ( objects->end() );
105 for (; iProbe!=iEnd; ++iProbe) {
110 float eta = iProbe->eta();
111 float etaForProbeTest =
eta;
112 float etaForTagTest =
eta;
116 etaForProbeTest =
abs(etaForProbeTest);
119 etaForTagTest =
abs(etaForTagTest);
123 bool isProbe =
false;
135 if (!isProbe)
continue;
137 typename TCollection::const_iterator iTag ( objects->begin() );
138 for (;iTag != iEnd; ++iTag){
139 if (iTag==iProbe)
continue;
144 float eta2 = iTag->eta();
149 if ( eta2 < tagEtaMin_ || eta2 >
tagEtaMax_ )
continue;
158 double ptAve = (iProbe->pt() + iTag->pt())/2;
void setComment(std::string const &value)
bool getByToken(EDGetToken token, Handle< PROD > &result) const
std::string defaultModuleLabel()
bool accept(const edm::Event &event, const edm::TriggerResults &triggerTable, const std::string &triggerPath)
const double probeEtaMax_
const edm::InputTag inputJetTag_
void addObject(int id, const reco::RecoEcalCandidateRef &ref)
setters for L3 collections: (id=physics type, and Ref<C>)
const bool applyAbsToTag_
const edm::EDGetTokenT< std::vector< T > > m_theJetToken
const bool applyAbsToProbe_
Abs< T >::type abs(const T &t)
def template(fileName, svg, replaceme="REPLACEME")
~HLTDiJetEtaTopologyFilter() override
ParameterDescriptionBase * add(U const &iLabel, T const &value)
bool hltFilter(edm::Event &, const edm::EventSetup &, trigger::TriggerFilterObjectWithRefs &filterproduct) const override
const double atLeastOneJetAbovePT_
static void makeHLTFilterDescription(edm::ParameterSetDescription &desc)
const double probeEtaMin_
HLTDiJetEtaTopologyFilter(const edm::ParameterSet &)
void addCollectionTag(const edm::InputTag &collectionTag)
collectionTags
void add(std::string const &label, ParameterSetDescription const &psetDescription)
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)