File indexing completed on 2024-04-06 12:26:58
0001 #ifndef L3MuonIsolationProducer_L3MuonIsolationProducer_H
0002 #define L3MuonIsolationProducer_L3MuonIsolationProducer_H
0003
0004
0005
0006
0007 #include "FWCore/Framework/interface/stream/EDProducer.h"
0008 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0009
0010 #include "DataFormats/RecoCandidate/interface/RecoChargedCandidateFwd.h"
0011
0012 #include "RecoMuon/MuonIsolation/interface/Cuts.h"
0013 #include "PhysicsTools/IsolationAlgos/interface/IsoDepositExtractor.h"
0014
0015 #include <string>
0016
0017 namespace edm {
0018 class Event;
0019 }
0020 namespace edm {
0021 class EventSetup;
0022 }
0023
0024 class L3MuonIsolationProducer : public edm::stream::EDProducer<> {
0025 public:
0026
0027 L3MuonIsolationProducer(const edm::ParameterSet&);
0028
0029
0030 ~L3MuonIsolationProducer() override;
0031
0032
0033 void produce(edm::Event&, const edm::EventSetup&) override;
0034
0035 private:
0036 edm::ParameterSet theConfig;
0037
0038
0039 edm::InputTag theMuonCollectionLabel;
0040 edm::EDGetTokenT<reco::RecoChargedCandidateCollection> theMuonCollectionToken;
0041
0042
0043 muonisolation::Cuts theCuts;
0044
0045
0046 double optOutputIsoDeposits;
0047
0048
0049 std::unique_ptr<reco::isodeposit::IsoDepositExtractor> theExtractor;
0050
0051
0052
0053 double theTrackPt_Min;
0054
0055
0056
0057 int theMaxNTracks;
0058
0059
0060 bool theApplyCutsORmaxNTracks;
0061 };
0062
0063 #endif