File indexing completed on 2024-04-06 12:18:26
0001 #ifndef HLTrigger_HLTfilters_HLTDoublet_h
0002 #define HLTrigger_HLTfilters_HLTDoublet_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020 #include "DataFormats/Common/interface/Ref.h"
0021 #include "HLTrigger/HLTcore/interface/HLTFilter.h"
0022
0023 #include <vector>
0024
0025 namespace edm {
0026 class ConfigurationDescriptions;
0027 }
0028
0029 namespace trigger {
0030 class TriggerFilterObjectWithRefs;
0031 }
0032
0033 template <typename T1, typename T2>
0034 class HLTDoublet : public HLTFilter {
0035 public:
0036 explicit HLTDoublet(const edm::ParameterSet&);
0037 ~HLTDoublet() override = default;
0038
0039 static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
0040
0041 bool hltFilter(edm::Event&,
0042 const edm::EventSetup&,
0043 trigger::TriggerFilterObjectWithRefs& filterproduct) const override;
0044
0045 private:
0046 typedef std::vector<T1> T1Collection;
0047 typedef edm::Ref<T1Collection> T1Ref;
0048 typedef std::vector<T2> T2Collection;
0049 typedef edm::Ref<T2Collection> T2Ref;
0050
0051
0052 const std::vector<edm::InputTag> originTag1_;
0053 const std::vector<edm::InputTag> originTag2_;
0054 const edm::InputTag inputTag1_;
0055 const edm::InputTag inputTag2_;
0056 const edm::EDGetTokenT<trigger::TriggerFilterObjectWithRefs> inputToken1_;
0057 const edm::EDGetTokenT<trigger::TriggerFilterObjectWithRefs> inputToken2_;
0058 const int triggerType1_;
0059 const int triggerType2_;
0060 const double min_Deta_, max_Deta_;
0061 const double min_Dphi_, max_Dphi_;
0062 const double min_DelR2_, max_DelR2_;
0063 const double min_Pt_, max_Pt_;
0064 const double min_Minv_, max_Minv_;
0065 const int min_N_;
0066
0067
0068
0069 const bool same_;
0070
0071 const bool cutdeta_, cutdphi_, cutdelr2_, cutpt_, cutminv_;
0072 };
0073
0074 #endif