File indexing completed on 2023-03-17 11:09:17
0001 #ifndef HLTrigger_Egamma_HLTEgammaDoubleLegCombFilter_h
0002 #define HLTrigger_Egamma_HLTEgammaDoubleLegCombFilter_h
0003
0004
0005
0006
0007
0008 #include "HLTrigger/HLTcore/interface/HLTFilter.h"
0009
0010 #include "DataFormats/HLTReco/interface/TriggerFilterObjectWithRefs.h"
0011
0012 #include "DataFormats/Math/interface/Point3D.h"
0013
0014 namespace edm {
0015 class ConfigurationDescriptions;
0016 }
0017
0018 class HLTEgammaDoubleLegCombFilter : public HLTFilter {
0019 public:
0020 explicit HLTEgammaDoubleLegCombFilter(const edm::ParameterSet&);
0021 ~HLTEgammaDoubleLegCombFilter() override;
0022 bool hltFilter(edm::Event&,
0023 const edm::EventSetup&,
0024 trigger::TriggerFilterObjectWithRefs& filterproduct) const override;
0025 static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
0026
0027 void matchCands(const std::vector<math::XYZPoint>& firstLegP3s,
0028 const std::vector<math::XYZPoint>& secondLegP3s,
0029 std::vector<std::pair<int, int> >& matchedCands) const;
0030 static void getP3OfLegCands(const edm::Event& iEvent,
0031 const edm::EDGetTokenT<trigger::TriggerFilterObjectWithRefs>& filterToken,
0032 std::vector<math::XYZPoint>& p3s);
0033
0034 private:
0035 edm::InputTag firstLegLastFilterTag_;
0036 edm::InputTag secondLegLastFilterTag_;
0037 edm::EDGetTokenT<trigger::TriggerFilterObjectWithRefs> firstLegLastFilterToken_;
0038 edm::EDGetTokenT<trigger::TriggerFilterObjectWithRefs> secondLegLastFilterToken_;
0039 int nrRequiredFirstLeg_;
0040 int nrRequiredSecondLeg_;
0041 int nrRequiredUniqueLeg_;
0042 double maxMatchDR_;
0043 };
0044
0045 #endif