00001 #ifndef RecoMuon_L2MuonIsolationProducer_H 00002 #define RecoMuon_L2MuonIsolationProducer_H 00003 00011 #include "FWCore/Framework/interface/EDProducer.h" 00012 #include "DataFormats/Common/interface/Handle.h" 00013 #include "FWCore/Framework/interface/ESHandle.h" 00014 #include "FWCore/Framework/interface/Event.h" 00015 00016 #include "PhysicsTools/IsolationAlgos/interface/IsoDepositExtractor.h" 00017 #include "RecoMuon/MuonIsolation/interface/MuIsoBaseIsolator.h" 00018 00019 class L2MuonIsolationProducer : public edm::EDProducer { 00020 00021 public: 00022 00024 L2MuonIsolationProducer(const edm::ParameterSet&); 00025 00027 virtual ~L2MuonIsolationProducer(); 00028 00030 virtual void beginJob(); 00031 00033 virtual void produce(edm::Event&, const edm::EventSetup&); 00034 // ex virtual void reconstruct(); 00035 00036 private: 00037 00038 // Muon track Collection Label 00039 edm::InputTag theSACollectionLabel; 00040 00041 // Option to write MuIsoDeposits into the event 00042 bool optOutputDecision; 00043 00044 // Option to write MuIsoDeposit sum into the event 00045 bool optOutputIsolatorFloat; 00046 00047 // MuIsoExtractor 00048 reco::isodeposit::IsoDepositExtractor* theExtractor; 00049 00050 // muon isolator 00051 muonisolation::MuIsoBaseIsolator * theDepositIsolator; 00052 00053 }; 00054 00055 #endif