00001 #ifndef TtSemiEvtKit_h 00002 #define TtSemiEvtKit_h 00003 00004 // -*- C++ -*- 00005 // 00006 // Package: TtSemiEvtKit 00007 // Class: TtSemiEvtKit 00008 // 00013 //------------------------------------------------------------------------------------- 00039 //------------------------------------------------------------------------------------- 00040 // 00041 // Original Author: Malina Kirn 00042 // Created: Wed Jan 23 12:31:57 EST 2008 00043 // $Id: TtSemiEvtKit.h,v 1.5 2008/07/15 22:55:46 rwolf Exp $ 00044 // 00045 // Revision History: 00046 // - Malina Kirn, v0.9, Wed Jan 23 12:31:57 EST 2008: 00047 // Modified HZZKitDemo to produce composite objects from semi-leptonic data. 00048 // 00049 00050 00051 // system include files 00052 #include <memory> 00053 #include <fstream> 00054 00055 // user include files 00056 #include "PhysicsTools/StarterKit/interface/PatAnalyzerKit.h" 00057 // #include "PhysicsTools/StarterKit/interface/PatKitHelper.h" 00058 #include "AnalysisDataFormats/TopObjects/interface/TtSemiEvtSolution.h" 00059 #include "PhysicsTools/StarterKit/interface/HistoComposite.h" 00060 00061 // 00062 // class declaration 00063 // 00064 00065 class TtSemiEvtKit : public edm::EDProducer 00066 { 00067 public: 00068 explicit TtSemiEvtKit(const edm::ParameterSet&); 00069 virtual ~TtSemiEvtKit(); 00070 00071 protected: 00072 virtual void beginJob(const edm::EventSetup&) ; 00073 virtual void produce( edm::Event&, const edm::EventSetup&); 00074 virtual void endJob() ; 00075 00076 // ----------member data --------------------------- 00077 00078 // Verbosity 00079 int verboseLevel_; 00080 00081 edm::InputTag evtsols; 00082 00083 pat::HistoComposite * histoTtSemiEvt_; 00084 00085 pat::PhysVarHisto * histoLRJetCombProb_; 00086 pat::PhysVarHisto * histoLRSignalEvtProb_; 00087 pat::PhysVarHisto * histoKinFitProbChi2_; 00088 00089 std::vector<pat::PhysVarHisto *> ntvars_; 00090 00091 00092 // The main sub-object which does the real work 00093 // pat::PatKitHelper helper_; 00094 00095 00096 // Physics objects handles 00097 edm::Handle<std::vector<pat::Muon> > muonHandle_; 00098 edm::Handle<std::vector<pat::Electron> > electronHandle_; 00099 edm::Handle<std::vector<pat::Tau> > tauHandle_; 00100 edm::Handle<std::vector<pat::Jet> > jetHandle_; 00101 edm::Handle<std::vector<pat::MET> > METHandle_; 00102 edm::Handle<std::vector<pat::Photon> > photonHandle_; 00103 }; 00104 00105 00106 #endif