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