File indexing completed on 2024-04-06 12:18:38
0001 #ifndef HLTMuonTrackMassFilter_h_
0002 #define HLTMuonTrackMassFilter_h_
0003
0004
0005
0006
0007 #include "HLTrigger/HLTcore/interface/HLTFilter.h"
0008 #include "DataFormats/RecoCandidate/interface/RecoChargedCandidateFwd.h"
0009 #include "DataFormats/BeamSpot/interface/BeamSpot.h"
0010 #include "MagneticField/Engine/interface/MagneticField.h"
0011 #include "MagneticField/Records/interface/IdealMagneticFieldRecord.h"
0012
0013 #include <vector>
0014
0015 namespace edm {
0016 class ConfigurationDescriptions;
0017 }
0018
0019 class HLTMuonTrackMassFilter : public HLTFilter {
0020 public:
0021 explicit HLTMuonTrackMassFilter(const edm::ParameterSet&);
0022 ~HLTMuonTrackMassFilter() override {}
0023 static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
0024
0025 private:
0026 bool hltFilter(edm::Event&,
0027 const edm::EventSetup&,
0028 trigger::TriggerFilterObjectWithRefs& filterproduct) const override;
0029 bool pairMatched(std::vector<reco::RecoChargedCandidateRef>& prevMuonRefs,
0030 std::vector<reco::RecoChargedCandidateRef>& prevTrackRefs,
0031 const reco::RecoChargedCandidateRef& muonRef,
0032 const reco::RecoChargedCandidateRef& trackRef) const;
0033
0034 private:
0035 edm::ESGetToken<MagneticField, IdealMagneticFieldRecord> const idealMagneticFieldRecordToken_;
0036 edm::InputTag beamspotTag_;
0037 edm::EDGetTokenT<reco::BeamSpot> beamspotToken_;
0038 edm::InputTag muonTag_;
0039 edm::EDGetTokenT<reco::RecoChargedCandidateCollection> muonToken_;
0040 edm::InputTag trackTag_;
0041 edm::EDGetTokenT<reco::RecoChargedCandidateCollection> trackToken_;
0042 edm::InputTag prevCandTag_;
0043 edm::EDGetTokenT<trigger::TriggerFilterObjectWithRefs> prevCandToken_;
0044 std::vector<double> minMasses_;
0045 std::vector<double> maxMasses_;
0046 bool checkCharge_;
0047 double minTrackPt_;
0048 double minTrackP_;
0049 double maxTrackEta_;
0050 double maxTrackDxy_;
0051 double maxTrackDz_;
0052 int minTrackHits_;
0053 double maxTrackNormChi2_;
0054
0055 double max_DCAMuonTrack_;
0056 bool cutCowboys_;
0057 };
0058
0059 #endif