![]() |
![]() |
#include <HLTHcalNoiseFilter.h>
Public Member Functions | |
virtual bool | filter (edm::Event &, const edm::EventSetup &) |
HLTHcalNoiseFilter (const edm::ParameterSet &) | |
~HLTHcalNoiseFilter () | |
Private Attributes | |
double | JetHCALminEnergyFraction_ |
double | JetMinE_ |
edm::InputTag | JetSource_ |
double | MetCut_ |
edm::InputTag | MetSource_ |
int | nAnomalousEvents |
int | nEvents |
edm::InputTag | TowerSource_ |
bool | useJet_ |
bool | useMet_ |
Definition at line 7 of file HLTHcalNoiseFilter.h.
HLTHcalNoiseFilter::HLTHcalNoiseFilter | ( | const edm::ParameterSet & | iConfig | ) | [explicit] |
Definition at line 15 of file HLTHcalNoiseFilter.cc.
References edm::ParameterSet::getParameter(), JetHCALminEnergyFraction_, JetMinE_, JetSource_, MetCut_, MetSource_, nAnomalousEvents, nEvents, TowerSource_, useJet_, and useMet_.
{ JetSource_ = iConfig.getParameter<edm::InputTag>("JetSource"); MetSource_ = iConfig.getParameter<edm::InputTag>("MetSource"); TowerSource_ = iConfig.getParameter<edm::InputTag>("TowerSource"); useMet_ = iConfig.getParameter<bool>("UseMET"); useJet_ = iConfig.getParameter<bool>("UseJet"); MetCut_ = iConfig.getParameter<double>("MetCut"); JetMinE_ = iConfig.getParameter<double>("JetMinE"); JetHCALminEnergyFraction_ = iConfig.getParameter<double>("JetHCALminEnergyFraction"); nAnomalousEvents=0; nEvents=0; }
HLTHcalNoiseFilter::~HLTHcalNoiseFilter | ( | ) |
Definition at line 30 of file HLTHcalNoiseFilter.cc.
{ }
bool HLTHcalNoiseFilter::filter | ( | edm::Event & | iEvent, |
const edm::EventSetup & | iSetup | ||
) | [virtual] |
Implements HLTFilter.
Definition at line 32 of file HLTHcalNoiseFilter.cc.
References deltaR(), edm::Event::getByLabel(), JetHCALminEnergyFraction_, JetMinE_, JetSource_, CaloMET_cfi::met, MetCut_, MetSource_, nAnomalousEvents, nEvents, edm::Handle< T >::product(), reco::LeafCandidate::pt(), dt_dqm_sourceclient_common_cff::reco, TowerSource_, useJet_, and useMet_.
{ using namespace edm; using namespace reco; bool isAnomalous_BasedOnMET = false; bool isAnomalous_BasedOnEnergyFraction=false; if (useMet_) { Handle <CaloMETCollection> metHandle; iEvent.getByLabel(MetSource_, metHandle); const CaloMETCollection *metCol = metHandle.product(); const CaloMET met = metCol->front(); if(met.pt() > MetCut_) isAnomalous_BasedOnMET=true; } if (useJet_) { Handle<CaloJetCollection> calojetHandle; iEvent.getByLabel(JetSource_,calojetHandle); Handle<CaloTowerCollection> towerHandle; iEvent.getByLabel(TowerSource_, towerHandle); std::vector<CaloTower> TowerContainer; std::vector<CaloJet> JetContainer; TowerContainer.clear(); JetContainer.clear(); CaloTower seedTower; nEvents++; for(CaloJetCollection::const_iterator calojetIter = calojetHandle->begin();calojetIter != calojetHandle->end();++calojetIter) { if( ((calojetIter->et())*cosh(calojetIter->eta()) > JetMinE_) && (calojetIter->energyFractionHadronic() > JetHCALminEnergyFraction_) ) { JetContainer.push_back(*calojetIter); double maxTowerE = 0.0; for(CaloTowerCollection::const_iterator kal = towerHandle->begin(); kal != towerHandle->end(); kal++) { double dR = deltaR((*calojetIter).eta(),(*calojetIter).phi(),(*kal).eta(),(*kal).phi()); if( (dR < 0.50) && (kal->p() > maxTowerE) ) { maxTowerE = kal->p(); seedTower = *kal; } } TowerContainer.push_back(seedTower); } } if(JetContainer.size() > 0) { nAnomalousEvents++; isAnomalous_BasedOnEnergyFraction = true; } } return ((useMet_&&isAnomalous_BasedOnMET)||(useJet_&&isAnomalous_BasedOnEnergyFraction)); }
double HLTHcalNoiseFilter::JetHCALminEnergyFraction_ [private] |
Definition at line 21 of file HLTHcalNoiseFilter.h.
Referenced by filter(), and HLTHcalNoiseFilter().
double HLTHcalNoiseFilter::JetMinE_ [private] |
Definition at line 20 of file HLTHcalNoiseFilter.h.
Referenced by filter(), and HLTHcalNoiseFilter().
edm::InputTag HLTHcalNoiseFilter::JetSource_ [private] |
Definition at line 14 of file HLTHcalNoiseFilter.h.
Referenced by filter(), and HLTHcalNoiseFilter().
double HLTHcalNoiseFilter::MetCut_ [private] |
Definition at line 19 of file HLTHcalNoiseFilter.h.
Referenced by filter(), and HLTHcalNoiseFilter().
edm::InputTag HLTHcalNoiseFilter::MetSource_ [private] |
Definition at line 15 of file HLTHcalNoiseFilter.h.
Referenced by filter(), and HLTHcalNoiseFilter().
int HLTHcalNoiseFilter::nAnomalousEvents [private] |
Definition at line 22 of file HLTHcalNoiseFilter.h.
Referenced by filter(), and HLTHcalNoiseFilter().
int HLTHcalNoiseFilter::nEvents [private] |
Definition at line 23 of file HLTHcalNoiseFilter.h.
Referenced by filter(), and HLTHcalNoiseFilter().
Definition at line 16 of file HLTHcalNoiseFilter.h.
Referenced by filter(), and HLTHcalNoiseFilter().
bool HLTHcalNoiseFilter::useJet_ [private] |
Definition at line 18 of file HLTHcalNoiseFilter.h.
Referenced by filter(), and HLTHcalNoiseFilter().
bool HLTHcalNoiseFilter::useMet_ [private] |
Definition at line 17 of file HLTHcalNoiseFilter.h.
Referenced by filter(), and HLTHcalNoiseFilter().