29 template<
typename jetType>
32 inputJetTag_ (iConfig.
template getParameter<
edm::InputTag > (
"inputJetTag")),
33 minMass_ (iConfig.
template getParameter<double> (
"minMass")),
34 fatJetDeltaR_ (iConfig.
template getParameter<double> (
"fatJetDeltaR")),
35 maxDeltaEta_ (iConfig.
template getParameter<double> (
"maxDeltaEta")),
36 maxJetEta_ (iConfig.
template getParameter<double> (
"maxJetEta")),
37 minJetPt_ (iConfig.
template getParameter<double> (
"minJetPt")),
38 triggerType_ (iConfig.
template getParameter<
int> (
"triggerType"))
41 LogDebug(
"") <<
"HLTFatJetMassFilter: Input/minMass/fatJetDeltaR/maxDeltaEta/maxJetEta/minJetPt/triggerType : " 51 template<
typename jetType>
54 template<
typename jetType>
60 desc.
add<
double>(
"minMass",0.0);
61 desc.
add<
double>(
"fatJetDeltaR",1.1);
62 desc.
add<
double>(
"maxDeltaEta",10.0);
63 desc.
add<
double>(
"maxJetEta",3.0);
64 desc.
add<
double>(
"minJetPt",30.0);
70 template<
typename jetType>
90 typename JetCollection::const_iterator
i ( objects->begin() );
91 for(;
i != objects->end();
i++){
94 recojets.push_back(
jet);
99 if(recojets.size() < 2)
return false;
107 CaloJetCollection::const_iterator recojet ( recojets.begin() );
108 for (; recojet != recojets.end() ; recojet++) {
109 if(recojet->pt() > jetPt1) {
115 jetPt1 = recojet->pt();
116 }
else if(recojet->pt() > jetPt2) {
119 jetPt2 = recojet->pt();
131 for ( recojet = recojets.begin() ; recojet != recojets.end() ; recojet++) {
135 fj1 += recojet->p4();
136 }
else if(DeltaR2sq < fatJetDeltaR_*fatJetDeltaR_) {
137 fj2 += recojet->p4();
143 if(fj1.mass() <
minMass_)
return false;
Jets made from CaloTowers.
std::vector< Jet > JetCollection
bool getByToken(EDGetToken token, Handle< PROD > &result) const
std::string defaultModuleLabel()
PtEtaPhiMLorentzVectorD PtEtaPhiMLorentzVector
Lorentz vector with cartesian internal representation.
edm::Ref< JetBxCollection > JetRef
Abs< T >::type abs(const T &t)
def template(fileName, svg, replaceme="REPLACEME")
edm::InputTag inputJetTag_
ParameterDescriptionBase * add(U const &iLabel, T const &value)
edm::EDGetTokenT< std::vector< jetType > > m_theJetToken
constexpr auto deltaR2(const T1 &t1, const T2 &t2) -> decltype(t1.eta())
static void makeHLTFilterDescription(edm::ParameterSetDescription &desc)
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
~HLTFatJetMassFilter() override
void addCollectionTag(const edm::InputTag &collectionTag)
collectionTags
void add(std::string const &label, ParameterSetDescription const &psetDescription)
HLTFatJetMassFilter(const edm::ParameterSet &)
bool hltFilter(edm::Event &, const edm::EventSetup &, trigger::TriggerFilterObjectWithRefs &filterproduct) const override
std::vector< CaloJet > CaloJetCollection
collection of CaloJet objects