00001 #ifndef L3MuonCombinedRelativeIsolationProducer_L3MuonCombinedRelativeIsolationProducer_H 00002 #define L3MuonCombinedRelativeIsolationProducer_L3MuonCombinedRelativeIsolationProducer_H 00003 00007 #include "FWCore/Framework/interface/EDProducer.h" 00008 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00009 00010 #include "RecoMuon/MuonIsolation/interface/Cuts.h" 00011 #include "PhysicsTools/IsolationAlgos/interface/IsoDepositExtractor.h" 00012 00013 #include <string> 00014 00015 namespace edm { class Event; } 00016 namespace edm { class EventSetup; } 00017 00018 class L3MuonCombinedRelativeIsolationProducer : public edm::EDProducer { 00019 00020 public: 00021 00023 L3MuonCombinedRelativeIsolationProducer(const edm::ParameterSet&); 00024 00026 virtual ~L3MuonCombinedRelativeIsolationProducer(); 00027 00029 virtual void beginJob(); 00030 00032 virtual void produce(edm::Event&, const edm::EventSetup&); 00033 00034 private: 00035 00036 edm::ParameterSet theConfig; 00037 00038 // Muon track Collection Label 00039 edm::InputTag theMuonCollectionLabel; 00040 00041 // Isolation cuts 00042 muonisolation::Cuts theCuts; 00043 00044 // Option to write MuIsoDeposits into the event 00045 bool optOutputIsoDeposits; 00046 00047 // Option to use rho-corrected calo deposits (ONLY if already available) 00048 bool useRhoCorrectedCaloDeps; 00049 edm::InputTag theCaloDepsLabel; 00050 00051 // MuIsoExtractor 00052 reco::isodeposit::IsoDepositExtractor * caloExtractor; 00053 reco::isodeposit::IsoDepositExtractor * trkExtractor; 00054 00057 double theTrackPt_Min; 00058 00061 int theMaxNTracks; 00062 00064 bool theApplyCutsORmaxNTracks; 00065 00066 // Print out debug info 00067 00068 bool printDebug; 00069 00070 }; 00071 00072 #endif