File indexing completed on 2023-03-17 11:09:40
0001 #ifndef HLTMuonL3SimplePreFilter_h
0002 #define HLTMuonL3SimplePreFilter_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 "DataFormats/RecoCandidate/interface/RecoChargedCandidate.h"
0017 #include "FWCore/ParameterSet/interface/ConfigurationDescriptions.h"
0018 #include "FWCore/ParameterSet/interface/ParameterSetDescription.h"
0019 #include "DataFormats/BeamSpot/interface/BeamSpot.h"
0020
0021 class HLTMuonL3SimplePreFilter : public HLTFilter {
0022 public:
0023 explicit HLTMuonL3SimplePreFilter(const edm::ParameterSet &);
0024 ~HLTMuonL3SimplePreFilter() override;
0025 static void fillDescriptions(edm::ConfigurationDescriptions &descriptions);
0026 bool hltFilter(edm::Event &,
0027 const edm::EventSetup &,
0028 trigger::TriggerFilterObjectWithRefs &filterproduct) const override;
0029
0030 private:
0031 static bool triggerdByPreviousLevel(const reco::RecoChargedCandidateRef &,
0032 const std::vector<reco::RecoChargedCandidateRef> &);
0033
0034 edm::InputTag candTag_;
0035 edm::EDGetTokenT<reco::RecoChargedCandidateCollection> candToken_;
0036 edm::InputTag previousCandTag_;
0037 edm::EDGetTokenT<trigger::TriggerFilterObjectWithRefs>
0038 previousCandToken_;
0039 edm::InputTag beamspotTag_;
0040 edm::EDGetTokenT<reco::BeamSpot> beamspotToken_;
0041
0042 const int min_N_;
0043 const double max_Eta_;
0044 const int min_Nhits_;
0045 const double max_Dz_;
0046 const double min_DxySig_;
0047 const double min_Pt_;
0048 const double nsigma_Pt_;
0049 const double max_NormalizedChi2_;
0050 const double max_DXYBeamSpot_;
0051 const double min_DXYBeamSpot_;
0052 const int min_NmuonHits_;
0053 const double max_PtDifference_;
0054 const double min_TrackPt_;
0055 bool matchPreviousCand_;
0056 };
0057 #endif