CMS 3D CMS Logo

Public Member Functions | Private Attributes

HLTHcalNoiseFilter Class Reference

#include <HLTHcalNoiseFilter.h>

Inheritance diagram for HLTHcalNoiseFilter:
HLTFilter edm::EDFilter edm::ProducerBase edm::ProductRegistryHelper

List of all members.

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_

Detailed Description

Author:
Leonard Apanasevich (UIC), John Paul Chou (Brown)

Definition at line 7 of file HLTHcalNoiseFilter.h.


Constructor & Destructor Documentation

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.

{ }

Member Function Documentation

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));
}

Member Data Documentation

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().

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().

Definition at line 15 of file HLTHcalNoiseFilter.h.

Referenced by filter(), and HLTHcalNoiseFilter().

Definition at line 22 of file HLTHcalNoiseFilter.h.

Referenced by filter(), and HLTHcalNoiseFilter().

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().

Definition at line 18 of file HLTHcalNoiseFilter.h.

Referenced by filter(), and HLTHcalNoiseFilter().

Definition at line 17 of file HLTHcalNoiseFilter.h.

Referenced by filter(), and HLTHcalNoiseFilter().