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