26 inputTag_ (iConfig.
template getParameter<
edm::InputTag > (
"inputTag")),
27 minPtLow_ (iConfig.
template getParameter<double> (
"minPtLow")),
28 minPtHigh_ (iConfig.
template getParameter<double> (
"minPtHigh")),
29 etaOpposite_ (iConfig.
template getParameter<
bool> (
"etaOpposite")),
30 minDeltaEta_ (iConfig.
template getParameter<double> (
"minDeltaEta")),
31 minInvMass_ (iConfig.
template getParameter<double> (
"minInvMass")),
32 maxEta_ (iConfig.
template getParameter<double> (
"maxEta")),
33 leadingJetOnly_ (iConfig.
template getParameter<
bool> (
"leadingJetOnly")),
34 triggerType_ (iConfig.
template getParameter<
int> (
"triggerType"))
37 LogDebug(
"") <<
"HLTJetVBFFilter: Input/minPtLow_/minPtHigh_/triggerType : " 53 desc.
add<
double>(
"minPtLow",40.);
54 desc.
add<
double>(
"minPtHigh",40.);
55 desc.
add<
bool>(
"etaOpposite",
false);
56 desc.
add<
double>(
"minDeltaEta",4.0);
57 desc.
add<
double>(
"minInvMass",1000.);
58 desc.
add<
double>(
"maxEta",5.0);
59 desc.
add<
bool>(
"leadingJetOnly",
false);
76 typedef vector<T> TCollection;
90 if(objects->size() > 1){
109 typename TCollection::const_iterator jet1 ( objects->begin() );
110 for (; jet1!=objects->end(); jet1++) {
117 countJet2 = countJet1-1;
118 typename TCollection::const_iterator jet2 ( jet1+1 );
119 for (; jet2!=objects->end(); jet2++) {
126 ejet1 = jet1->energy();
131 etajet1 = jet1->eta();
133 ejet2 = jet2->energy();
138 etajet2 = jet2->eta();
140 float deltaetajet = etajet1 - etajet2;
141 float invmassjet =
sqrt( (ejet1 + ejet2) * (ejet1 + ejet2) -
142 (pxjet1 + pxjet2) * (pxjet1 + pxjet2) -
143 (pyjet1 + pyjet2) * (pyjet1 + pyjet2) -
144 (pzjet1 + pzjet2) * (pzjet1 + pzjet2) );
153 TRef ref1 = TRef(objects,
distance(objects->begin(),jet1));
154 TRef ref2 = TRef(objects,
distance(objects->begin(),jet2));
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)
void addObject(int id, const reco::RecoEcalCandidateRef &ref)
setters for L3 collections: (id=physics type, and Ref<C>)
~HLTJetVBFFilter() override
Abs< T >::type abs(const T &t)
def template(fileName, svg, replaceme="REPLACEME")
ParameterDescriptionBase * add(U const &iLabel, T const &value)
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
static void makeHLTFilterDescription(edm::ParameterSetDescription &desc)
HLTJetVBFFilter(const edm::ParameterSet &)
void addCollectionTag(const edm::InputTag &collectionTag)
collectionTags
void add(std::string const &label, ParameterSetDescription const &psetDescription)
edm::EDGetTokenT< std::vector< T > > m_theObjectToken
bool hltFilter(edm::Event &, const edm::EventSetup &, trigger::TriggerFilterObjectWithRefs &filterproduct) const override