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