File indexing completed on 2024-04-06 12:18:35
0001 #ifndef HLTrigger_Muon_HLTDiMuonGlbTrkFilter_h
0002 #define HLTrigger_Muon_HLTDiMuonGlbTrkFilter_h
0003
0004
0005
0006 #include "DataFormats/RecoCandidate/interface/RecoChargedCandidateFwd.h"
0007 #include "DataFormats/MuonReco/interface/MuonFwd.h"
0008 #include "DataFormats/MuonReco/interface/MuonSelectors.h"
0009 #include "HLTrigger/HLTcore/interface/HLTFilter.h"
0010 #include "MagneticField/Engine/interface/MagneticField.h"
0011 #include "MagneticField/Records/interface/IdealMagneticFieldRecord.h"
0012
0013 namespace edm {
0014 class ConfigurationDescriptions;
0015 }
0016
0017 class HLTDiMuonGlbTrkFilter : public HLTFilter {
0018 public:
0019 HLTDiMuonGlbTrkFilter(const edm::ParameterSet&);
0020 ~HLTDiMuonGlbTrkFilter() override = default;
0021
0022 static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
0023
0024 bool hltFilter(edm::Event&,
0025 const edm::EventSetup&,
0026 trigger::TriggerFilterObjectWithRefs& filterproduct) const override;
0027
0028 private:
0029 edm::ESGetToken<MagneticField, IdealMagneticFieldRecord> const idealMagneticFieldRecordToken_;
0030
0031
0032 edm::InputTag m_muonsTag;
0033 edm::EDGetTokenT<reco::MuonCollection> m_muonsToken;
0034 edm::InputTag m_candsTag;
0035 edm::EDGetTokenT<reco::RecoChargedCandidateCollection> m_candsToken;
0036 int m_minTrkHits;
0037 int m_minMuonHits;
0038 unsigned int m_allowedTypeMask;
0039 unsigned int m_requiredTypeMask;
0040 double m_maxNormalizedChi2;
0041 double m_minDR2;
0042 double m_minPtMuon1;
0043 double m_minPtMuon2;
0044 double m_maxEtaMuon;
0045 double m_maxYDimuon;
0046 double m_minMass;
0047 double m_maxMass;
0048 int m_chargeOpt;
0049 double m_maxDCAMuMu;
0050 double m_maxdEtaMuMu;
0051 muon::SelectionType m_trkMuonId;
0052 bool m_saveTags;
0053 };
0054
0055 #endif