00001 #ifndef MCZll_h 00002 #define MCZll_h 00003 // -*- C++ -*- 00004 // 00005 // Package: MCZll 00006 // Class: MCZll 00007 // 00008 /* 00009 00010 Description: filter events based on the Pythia ProcessID and the Pt_hat 00011 00012 Implementation: inherits from generic EDFilter 00013 00014 */ 00015 // 00016 // Original Author: Paolo Meridiani 00017 // $Id: MCZll.h,v 1.1 2007/03/28 14:04:44 fabstoec Exp $ 00018 // 00019 // 00020 00021 00022 // system include files 00023 #include <memory> 00024 00025 // user include files 00026 #include "FWCore/Framework/interface/Frameworkfwd.h" 00027 #include "FWCore/Framework/interface/EDFilter.h" 00028 00029 #include "FWCore/Framework/interface/Event.h" 00030 #include "FWCore/Framework/interface/MakerMacros.h" 00031 00032 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00033 00034 00035 using namespace edm; 00036 using namespace std; 00037 00038 // 00039 // class decleration 00040 // 00041 00042 class MCZll : public edm::EDFilter { 00043 public: 00044 explicit MCZll(const edm::ParameterSet&); 00045 ~MCZll(); 00046 virtual void endJob() ; 00047 00048 virtual bool filter(Event&, const EventSetup&); 00049 private: 00050 // ----------member data --------------------------- 00051 std::string label_; 00052 int leptonFlavour_; 00053 double leptonPtMin_; 00054 double leptonPtMax_; 00055 double leptonEtaMin_; 00056 double leptonEtaMax_; 00057 std::pair<double,double> zMassRange_; 00058 unsigned int nEvents_; 00059 unsigned int nAccepted_; 00060 bool filter_; 00061 }; 00062 #endif