File indexing completed on 2023-03-17 11:09:38
0001 #ifndef HLTMuonIsoFilter_h
0002 #define HLTMuonIsoFilter_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014 #include "HLTrigger/HLTcore/interface/HLTFilter.h"
0015 #include "DataFormats/RecoCandidate/interface/RecoChargedCandidateFwd.h"
0016 #include "RecoMuon/MuonIsolation/interface/MuIsoBaseIsolator.h"
0017 #include "RecoMuon/MuonIsolation/interface/MuonIsolatorFactory.h"
0018 #include "DataFormats/RecoCandidate/interface/IsoDepositFwd.h"
0019
0020 namespace edm {
0021 class ConfigurationDescriptions;
0022 }
0023
0024 class HLTMuonIsoFilter : public HLTFilter {
0025 public:
0026 explicit HLTMuonIsoFilter(const edm::ParameterSet &);
0027 ~HLTMuonIsoFilter() override;
0028 static void fillDescriptions(edm::ConfigurationDescriptions &descriptions);
0029 bool hltFilter(edm::Event &,
0030 const edm::EventSetup &,
0031 trigger::TriggerFilterObjectWithRefs &filterproduct) const override;
0032
0033 private:
0034 static bool triggerdByPreviousLevel(const reco::RecoChargedCandidateRef &,
0035 const std::vector<reco::RecoChargedCandidateRef> &);
0036
0037 edm::InputTag candTag_;
0038 edm::EDGetTokenT<reco::RecoChargedCandidateCollection> candToken_;
0039 edm::InputTag previousCandTag_;
0040 edm::EDGetTokenT<trigger::TriggerFilterObjectWithRefs>
0041 previousCandToken_;
0042 std::vector<edm::InputTag> depTag_;
0043 std::vector<edm::EDGetTokenT<edm::ValueMap<reco::IsoDeposit> > > depToken_;
0044 edm::EDGetTokenT<edm::ValueMap<bool> > decMapToken_;
0045
0046 std::unique_ptr<const muonisolation::MuIsoBaseIsolator> theDepositIsolator;
0047
0048 int min_N_;
0049 };
0050
0051 #endif