00001 #ifndef McSelector_h 00002 #define McSelector_h 00003 00004 /* \class McSelector 00005 * 00006 * Class to apply analysis cuts in the TriggerValidation Code 00007 * 00008 * Author: Massimiliano Chiorboli Date: August 2007 00009 // Maurizio Pierini 00010 // Maria Spiropulu 00011 * 00012 */ 00013 #include <memory> 00014 #include <string> 00015 #include <iostream> 00016 00017 #include "FWCore/Framework/interface/Event.h" 00018 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00019 #include "FWCore/MessageLogger/interface/MessageLogger.h" 00020 #include "DataFormats/Common/interface/Handle.h" 00021 00022 #include "DataFormats/Candidate/interface/Candidate.h" 00023 #include "DataFormats/Candidate/interface/CandidateFwd.h" 00024 #include "DataFormats/HepMCCandidate/interface/GenParticle.h" 00025 00026 #include "DataFormats/JetReco/interface/GenJet.h" 00027 #include "DataFormats/METReco/interface/GenMET.h" 00028 #include "DataFormats/JetReco/interface/GenJetCollection.h" 00029 #include "DataFormats/METReco/interface/GenMETCollection.h" 00030 00031 00032 class McSelector { 00033 00034 public: 00035 00036 //Constructor 00037 McSelector(edm::ParameterSet userCut_params); 00038 //Destructor 00039 virtual ~McSelector(){}; 00040 00041 //Methods 00042 void handleObjects(const edm::Event&); 00043 bool isSelected(const edm::Event&); 00044 std::string GetName(); 00045 00046 private: 00047 00048 // Define the parameters 00049 std::string name; 00050 std::string m_genSrc; 00051 std::string m_genJetSrc; 00052 std::string m_genMetSrc; 00053 double mc_ptElecMin; 00054 double mc_ptMuonMin; 00055 double mc_ptTauMin; 00056 double mc_ptPhotMin; 00057 double mc_ptJetMin; 00058 double mc_ptJetForHtMin; 00059 double mc_metMin; 00060 double mc_htMin; 00061 int mc_nElec; 00062 std::string mc_nElecRule; 00063 int mc_nMuon; 00064 std::string mc_nMuonRule; 00065 int mc_nTau; 00066 int mc_nPhot; 00067 int mc_nJet; 00068 00069 00070 double ht; 00071 00072 00073 00074 00075 const reco::GenParticleCollection* theGenParticleCollection; 00076 const reco::GenJetCollection* theGenJetCollection; 00077 const reco::GenMETCollection* theGenMETCollection; 00078 00079 }; 00080 00081 #endif