00001 // -*- C++ -*- 00002 // 00003 // Package: CaloMuonProducer 00004 // Class: CaloMuonProducer 00005 // 00013 // 00014 // Original Author: Dmytro Kovalskyi 00015 // Created: Wed Oct 3 16:29:03 CDT 2007 00016 // $Id: CaloMuonProducer.h,v 1.1 2007/10/07 17:18:29 dmytro Exp $ 00017 // 00018 // 00019 00020 00021 // system include files 00022 #include <memory> 00023 00024 // user include files 00025 #include "FWCore/Framework/interface/Frameworkfwd.h" 00026 #include "FWCore/Framework/interface/EDProducer.h" 00027 00028 #include "FWCore/Framework/interface/Event.h" 00029 #include "FWCore/Framework/interface/MakerMacros.h" 00030 00031 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00032 00033 #include "TrackingTools/TrackAssociator/interface/TrackDetectorAssociator.h" 00034 #include "RecoMuon/MuonIdentification/interface/MuonCaloCompatibility.h" 00035 00036 00037 class CaloMuonProducer : public edm::EDProducer { 00038 public: 00039 explicit CaloMuonProducer(const edm::ParameterSet&); 00040 ~CaloMuonProducer(); 00041 00042 private: 00043 virtual void produce( edm::Event&, const edm::EventSetup& ); 00044 reco::CaloMuon makeMuon( const edm::Event& iEvent, 00045 const edm::EventSetup& iSetup, 00046 const reco::TrackRef& track ); 00047 00048 double caloCut_; 00049 TrackDetectorAssociator trackAssociator_; 00050 TrackAssociatorParameters parameters_; 00051 MuonCaloCompatibility muonCaloCompatibility_; 00052 edm::InputTag inputMuons_; 00053 edm::InputTag inputTracks_; 00054 };