File indexing completed on 2024-04-06 12:18:26
0001 #ifndef HLT2L1TkMuonL1TkMuonMuRefDR_h
0002 #define HLT2L1TkMuonL1TkMuonMuRefDR_h
0003
0004 #include "DataFormats/Common/interface/Handle.h"
0005 #include "DataFormats/Common/interface/Ref.h"
0006 #include "DataFormats/HLTReco/interface/TriggerTypeDefs.h"
0007 #include "HLTrigger/HLTcore/interface/HLTFilter.h"
0008 #include "FWCore/ParameterSet/interface/ConfigurationDescriptions.h"
0009
0010 #include "DataFormats/L1TMuonPhase2/interface/TrackerMuon.h"
0011
0012 #include <string>
0013 #include <vector>
0014 namespace trigger {
0015 class TriggerFilterObjectWithRefs;
0016 }
0017
0018
0019
0020
0021
0022 class HLT2L1TkMuonL1TkMuonMuRefDR : public HLTFilter {
0023 public:
0024 explicit HLT2L1TkMuonL1TkMuonMuRefDR(const edm::ParameterSet&);
0025 ~HLT2L1TkMuonL1TkMuonMuRefDR() override;
0026 static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
0027 bool hltFilter(edm::Event&,
0028 const edm::EventSetup&,
0029 trigger::TriggerFilterObjectWithRefs& filterproduct) const override;
0030 bool getCollections(edm::Event& iEvent,
0031 std::vector<l1t::TrackerMuonRef>& coll1,
0032 std::vector<l1t::TrackerMuonRef>& coll2,
0033 trigger::TriggerFilterObjectWithRefs& filterproduct) const;
0034 bool computeDR(edm::Event& iEvent, l1t::TrackerMuonRef& c1, l1t::TrackerMuonRef& c2) const;
0035
0036 private:
0037
0038 const std::vector<edm::InputTag> originTag1_;
0039 const std::vector<edm::InputTag> originTag2_;
0040 const edm::InputTag inputTag1_;
0041 const edm::InputTag inputTag2_;
0042 const edm::EDGetTokenT<trigger::TriggerFilterObjectWithRefs> inputToken1_;
0043 const edm::EDGetTokenT<trigger::TriggerFilterObjectWithRefs> inputToken2_;
0044 const double minDR_;
0045 const int min_N_;
0046 const bool same_;
0047
0048
0049 static constexpr unsigned int emtfRegion_{3};
0050 static constexpr float etaScale_{0.010875};
0051 static constexpr float phiScale_{2. * M_PI / 576.};
0052 };
0053
0054 #endif