CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_5/src/TopQuarkAnalysis/TopPairBSM/src/BoostedTopProducer.h

Go to the documentation of this file.
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.1 2012/10/11 14:26:45 eulisse 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 "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