00001 #ifndef TopQuarkAnalysis_TopPairBSM_interface_BoostedTopProducer_h 00002 #define TopQuarkAnalysis_TopPairBSM_interface_BoostedTopProducer_h 00003 00004 // -*- C++ -*- 00005 // 00006 // Package: BoostedTopProducer 00007 // Class: BoostedTopProducer 00008 // 00046 // 00047 // Original Author: "Salvatore Rappoccio" 00048 // Created: Thu May 1 11:37:48 CDT 2008 00049 // $Id: BoostedTopProducer.h,v 1.6 2009/07/30 06:02:19 jengbou Exp $ 00050 // 00051 // 00052 00053 00054 // system include files 00055 #include <memory> 00056 00057 // user include files 00058 #include "FWCore/Framework/interface/Frameworkfwd.h" 00059 #include "FWCore/Framework/interface/EDProducer.h" 00060 00061 #include "FWCore/Framework/interface/Event.h" 00062 #include "FWCore/Framework/interface/MakerMacros.h" 00063 00064 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00065 00066 #include "DataFormats/Candidate/interface/CompositeCandidate.h" 00067 #include "DataFormats/PatCandidates/interface/Muon.h" 00068 #include "DataFormats/PatCandidates/interface/Electron.h" 00069 #include "DataFormats/PatCandidates/interface/Jet.h" 00070 #include "DataFormats/PatCandidates/interface/MET.h" 00071 #include "DataFormats/PatCandidates/interface/Hemisphere.h" 00072 00073 #include "TopQuarkAnalysis/TopPairBSM/interface/METzCalculator.h" 00074 #include "AnalysisDataFormats/TopObjects/interface/TtSemiLeptonicEvent.h" 00075 #include "TLorentzVector.h" 00076 #include "TMath.h" 00077 00078 00079 00080 // 00081 // class decleration 00082 // 00083 00084 class BoostedTopProducer : public edm::EDProducer { 00085 public: 00086 explicit BoostedTopProducer(const edm::ParameterSet&); 00087 ~BoostedTopProducer(); 00088 00089 private: 00090 virtual void beginJob(const edm::EventSetup&) ; 00091 virtual void produce(edm::Event&, const edm::EventSetup&); 00092 virtual void endJob() ; 00093 00094 // ----------member data --------------------------- 00095 00096 // data labels 00097 edm::InputTag eleLabel_; 00098 edm::InputTag muoLabel_; 00099 edm::InputTag jetLabel_; 00100 edm::InputTag metLabel_; 00101 edm::InputTag solLabel_; 00102 00103 // Handles to the various objects in the event: 00104 edm::Handle<std::vector<pat::Muon> > muonHandle_; 00105 edm::Handle<std::vector<pat::Electron> > electronHandle_; 00106 edm::Handle<std::vector<pat::Jet> > jetHandle_; 00107 edm::Handle<std::vector<pat::MET> > METHandle_; 00108 00109 // Cut variables 00110 double caloIsoCut_; // isolation cut to consider a lepton isolated 00111 double mTop_; // input top mass 00112 00113 // Rapidity-invariant deltaR 00114 double Psi(TLorentzVector p1, TLorentzVector p2, double mass); 00115 }; 00116 00117 #endif