CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/L1Trigger/L1ExtraFromDigis/interface/L1ExtraParticlesProd.h

Go to the documentation of this file.
00001 #ifndef L1ExtraFromDigis_L1ExtraParticlesProd_h
00002 #define L1ExtraFromDigis_L1ExtraParticlesProd_h
00003 // -*- C++ -*-
00004 //
00005 // Package:     L1ExtraFromDigis
00006 // Class  :     L1ExtraParticlesProd
00007 // 
00013 //
00014 // Original Author:  
00015 //         Created:  Tue Oct 17 00:13:51 EDT 2006
00016 // $Id: L1ExtraParticlesProd.h,v 1.11 2010/02/11 00:12:50 wmtan Exp $
00017 //
00018 
00019 // system include files
00020 
00021 // user include files
00022 #include "FWCore/Framework/interface/EDProducer.h"
00023 #include "FWCore/Framework/interface/Event.h"
00024 #include "FWCore/Framework/interface/EventSetup.h"
00025 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00026 #include "FWCore/Utilities/interface/InputTag.h"
00027 
00028 #include "DataFormats/L1Trigger/interface/L1EmParticle.h"
00029 #include "DataFormats/L1Trigger/interface/L1EmParticleFwd.h"
00030 #include "DataFormats/L1Trigger/interface/L1JetParticle.h"
00031 #include "DataFormats/L1Trigger/interface/L1JetParticleFwd.h"
00032 #include "DataFormats/L1Trigger/interface/L1MuonParticle.h"
00033 #include "DataFormats/L1Trigger/interface/L1MuonParticleFwd.h"
00034 #include "DataFormats/L1Trigger/interface/L1EtMissParticle.h"
00035 #include "DataFormats/L1Trigger/interface/L1EtMissParticleFwd.h"
00036 #include "DataFormats/L1Trigger/interface/L1HFRings.h"
00037 #include "DataFormats/L1Trigger/interface/L1HFRingsFwd.h"
00038 
00039 // forward declarations
00040 class L1CaloGeometry ;
00041 
00042 class L1ExtraParticlesProd : public edm::EDProducer {
00043    public:
00044       explicit L1ExtraParticlesProd(const edm::ParameterSet&);
00045       ~L1ExtraParticlesProd();
00046 
00047    private:
00048       virtual void beginJob() ;
00049       virtual void produce(edm::Event&, const edm::EventSetup&);
00050       virtual void endJob() ;
00051 
00052       //      math::XYZTLorentzVector gctLorentzVector( const double& et,
00053       math::PtEtaPhiMLorentzVector gctLorentzVector( const double& et,
00054                                                      const L1GctCand& cand,
00055                                                      const L1CaloGeometry* geom,
00056                                                      bool central ) ;
00057       
00058       // ----------member data ---------------------------
00059       bool produceMuonParticles_ ;
00060       edm::InputTag muonSource_ ;
00061 
00062       bool produceCaloParticles_ ;
00063       edm::InputTag isoEmSource_ ;
00064       edm::InputTag nonIsoEmSource_ ;
00065       edm::InputTag cenJetSource_ ;
00066       edm::InputTag forJetSource_ ;
00067       edm::InputTag tauJetSource_ ;
00068       edm::InputTag etTotSource_ ;
00069       edm::InputTag etHadSource_ ;
00070       edm::InputTag etMissSource_ ;
00071       edm::InputTag htMissSource_ ;
00072       edm::InputTag hfRingEtSumsSource_ ;
00073       edm::InputTag hfRingBitCountsSource_ ;
00074 
00075       static double muonMassGeV_ ;
00076 
00077       bool centralBxOnly_ ;
00078 
00079       // Set this to true when rerunning on RAW data where the GCT did not
00080       // produce a L1GctHtMiss record.
00081       bool ignoreHtMiss_ ;
00082 };
00083 
00084 #endif