![]() |
![]() |
#include <HLTPhi2METFilter.h>
Public Member Functions | |
virtual bool | filter (edm::Event &, const edm::EventSetup &) |
HLTPhi2METFilter (const edm::ParameterSet &) | |
~HLTPhi2METFilter () | |
Private Attributes | |
edm::InputTag | inputJetTag_ |
edm::InputTag | inputMETTag_ |
double | maxDPhi_ |
double | minDPhi_ |
double | minEtjet1_ |
double | minEtjet2_ |
bool | saveTags_ |
Definition at line 16 of file HLTPhi2METFilter.h.
HLTPhi2METFilter::HLTPhi2METFilter | ( | const edm::ParameterSet & | iConfig | ) | [explicit] |
Definition at line 26 of file HLTPhi2METFilter.cc.
References edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), inputJetTag_, inputMETTag_, maxDPhi_, minDPhi_, minEtjet1_, minEtjet2_, and saveTags_.
{ inputJetTag_ = iConfig.getParameter< edm::InputTag > ("inputJetTag"); inputMETTag_ = iConfig.getParameter< edm::InputTag > ("inputMETTag"); saveTags_ = iConfig.getUntrackedParameter<bool>("saveTags",false); minDPhi_ = iConfig.getParameter<double> ("minDeltaPhi"); maxDPhi_ = iConfig.getParameter<double> ("maxDeltaPhi"); minEtjet1_= iConfig.getParameter<double> ("minEtJet1"); minEtjet2_= iConfig.getParameter<double> ("minEtJet2"); //register your products produces<trigger::TriggerFilterObjectWithRefs>(); }
HLTPhi2METFilter::~HLTPhi2METFilter | ( | ) |
Definition at line 40 of file HLTPhi2METFilter.cc.
{}
bool HLTPhi2METFilter::filter | ( | edm::Event & | iEvent, |
const edm::EventSetup & | iSetup | ||
) | [virtual] |
Implements HLTFilter.
Definition at line 45 of file HLTPhi2METFilter.cc.
References accept(), edm::Event::getByLabel(), inputJetTag_, inputMETTag_, M_PI, maxDPhi_, minDPhi_, minEtjet1_, minEtjet2_, module(), n, path(), edm::Event::put(), dt_dqm_sourceclient_common_cff::reco, saveTags_, trigger::TriggerJet, and trigger::TriggerMET.
{ using namespace std; using namespace edm; using namespace reco; using namespace trigger; // The filter object auto_ptr<trigger::TriggerFilterObjectWithRefs> filterobject (new trigger::TriggerFilterObjectWithRefs(path(),module())); if (saveTags_) { filterobject->addCollectionTag(inputJetTag_); filterobject->addCollectionTag(inputMETTag_); } Handle<CaloJetCollection> recocalojets; iEvent.getByLabel(inputJetTag_,recocalojets); Handle<trigger::TriggerFilterObjectWithRefs> metcal; iEvent.getByLabel(inputMETTag_,metcal); // look at all candidates, check cuts and add to filter object int n(0); VRcalomet vrefMET; metcal->getObjects(TriggerMET,vrefMET); CaloMETRef metRef=vrefMET.at(0); CaloJetRef ref1,ref2; if(recocalojets->size() > 1){ // events with two or more jets double etjet1=0.; double etjet2=0.; double phijet2=0.; // double etmiss = vrefMET.at(0)->et(); double phimiss = vrefMET.at(0)->phi(); int countjets =0; for (CaloJetCollection::const_iterator recocalojet = recocalojets->begin(); recocalojet<=(recocalojets->begin()+1); recocalojet++) { if(countjets==0) { etjet1 = recocalojet->et(); ref1 = CaloJetRef(recocalojets,distance(recocalojets->begin(),recocalojet)); } if(countjets==1) { etjet2 = recocalojet->et(); phijet2 = recocalojet->phi(); ref2 = CaloJetRef(recocalojets,distance(recocalojets->begin(),recocalojet)); } countjets++; } double Dphi= fabs(phimiss-phijet2); if (Dphi>M_PI) Dphi=2.0*M_PI-Dphi; if(etjet1>minEtjet1_ && etjet2>minEtjet2_ && Dphi>=minDPhi_ && Dphi<=maxDPhi_){ filterobject->addObject(TriggerMET,metRef); filterobject->addObject(TriggerJet,ref1); filterobject->addObject(TriggerJet,ref2); n++; } } // events with two or more jets // filter decision bool accept(n>=1); // put filter object into the Event iEvent.put(filterobject); return accept; }
edm::InputTag HLTPhi2METFilter::inputJetTag_ [private] |
Definition at line 24 of file HLTPhi2METFilter.h.
Referenced by filter(), and HLTPhi2METFilter().
edm::InputTag HLTPhi2METFilter::inputMETTag_ [private] |
Definition at line 25 of file HLTPhi2METFilter.h.
Referenced by filter(), and HLTPhi2METFilter().
double HLTPhi2METFilter::maxDPhi_ [private] |
Definition at line 31 of file HLTPhi2METFilter.h.
Referenced by filter(), and HLTPhi2METFilter().
double HLTPhi2METFilter::minDPhi_ [private] |
Definition at line 30 of file HLTPhi2METFilter.h.
Referenced by filter(), and HLTPhi2METFilter().
double HLTPhi2METFilter::minEtjet1_ [private] |
Definition at line 28 of file HLTPhi2METFilter.h.
Referenced by filter(), and HLTPhi2METFilter().
double HLTPhi2METFilter::minEtjet2_ [private] |
Definition at line 29 of file HLTPhi2METFilter.h.
Referenced by filter(), and HLTPhi2METFilter().
bool HLTPhi2METFilter::saveTags_ [private] |
Definition at line 26 of file HLTPhi2METFilter.h.
Referenced by filter(), and HLTPhi2METFilter().