r2 - 12 Apr 2010 - 23:36:11 - SeoKonKangYou are here: KoreaCmsWiki >  Main Web > TWikiUsers > SeoKonKang > LogBooks > DailyLogBook > 2010 > 20100407 > SimpleInclusiveCaloJetFilter
// SimpleInclusiveJetsFilter.cc
// Description:  Example of simple EDFilter for jets.
// Author: Seo Kon, Kang
// Mail to: seogoni@cern.ch
// Date:  21 Feb 2010
// 
//#include "DPGAnalysis/Skims/interface/InclusiveJets.h"
#include "DataFormats/JetReco/interface/CaloJetCollection.h"
#include "DataFormats/JetReco/interface/CaloJet.h"
//#include "DataFormats/JetReco/interface/GenJet.h"
//#include "DataFormats/JetReco/interface/JetID.h"

#include "FWCore/Framework/interface/Frameworkfwd.h"
#include "FWCore/Framework/interface/EDFilter.h"

#include "FWCore/Framework/interface/Event.h"
#include "FWCore/Framework/interface/MakerMacros.h"

#include "FWCore/ParameterSet/interface/ParameterSet.h"
#include "FWCore/ParameterSet/interface/InputTag.h"

//#include "DataFormats/Common/interface/ValueMap.h"


using namespace edm;
using namespace reco;
using namespace std;

//
// class ceclaration
//

class SimpleInclusiveCaloJetsFilter: public edm::EDFilter{
        public: 
                explicit SimpleInclusiveCaloJetsFilter(const edm::ParameterSet&);
                ~SimpleInclusiveCaloJetsFilter();

        private:
                virtual bool filter(edm::Event&, const edm::EventSetup&);
                edm::InputTag CaloJetsSrc;
                double PtCut;
                double EtaMaxCut;
                double EtaMinCut;
};

SimpleInclusiveCaloJetsFilter::SimpleInclusiveCaloJetsFilter(const edm::ParameterSet& iConfig)
{
  CaloJetsSrc = iConfig.getParameter("CaloJetAlgorithm");
  PtCut = iConfig.getParameter("PtCut");
  EtaMaxCut = iConfig.getParameter("EtaMaxCut");
  EtaMinCut = iConfig.getParameter("EtaMinCut");
}

SimpleInclusiveCaloJetsFilter::~SimpleInclusiveCaloJetsFilter()
{}

bool SimpleInclusiveCaloJetsFilter::filter(edm::Event& iEvent, const edm::EventSetup& iSetup)
{
 bool result = false;
 edm:: Handle CaloJets;
 iEvent.getByLabel(CaloJetsSrc, CaloJets);

 for(reco::CaloJetCollection::const_iterator cal = CaloJets->begin(); cal != CaloJets->end(); ++cal)
        {
          if(cal->pt() > PtCut && (cal->eta() >= EtaMinCut && cal->eta() <= EtaMaxCut) )
                result = true;
        }
 return result;
}

//define this as a plug-in
DEFINE_FWK_MODULE(SimpleInclusiveCaloJetsFilter);

-- SeoKonKang - 07 Apr 2010

Edit | WYSIWYG | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r2 < r1 | More topic actions
 
KOREA-CMS
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding KoreaCmsWiki? Send feedback