File indexing completed on 2023-10-25 09:53:03
0001 #ifndef HLTDoublet_h
0002 #define 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 #include "FWCore/ParameterSet/interface/ConfigurationDescriptions.h"
0023 #include <string>
0024 #include <vector>
0025 namespace trigger {
0026 class TriggerFilterObjectWithRefs;
0027 }
0028
0029
0030
0031
0032
0033 template <typename T1, typename T2>
0034 class HLTDoublet : public HLTFilter {
0035 public:
0036 explicit HLTDoublet(const edm::ParameterSet&);
0037 ~HLTDoublet() override;
0038 static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
0039 bool hltFilter(edm::Event&,
0040 const edm::EventSetup&,
0041 trigger::TriggerFilterObjectWithRefs& filterproduct) const override;
0042
0043 private:
0044
0045 const std::vector<edm::InputTag> originTag1_;
0046 const std::vector<edm::InputTag> originTag2_;
0047 const edm::InputTag inputTag1_;
0048 const edm::InputTag inputTag2_;
0049 const edm::EDGetTokenT<trigger::TriggerFilterObjectWithRefs> inputToken1_;
0050 const edm::EDGetTokenT<trigger::TriggerFilterObjectWithRefs> inputToken2_;
0051 const int triggerType1_;
0052 const int triggerType2_;
0053 const double min_Dphi_, max_Dphi_;
0054 const double min_Deta_, max_Deta_;
0055 const double min_Minv_, max_Minv_;
0056 const double min_DelR_, max_DelR_;
0057 const double min_Pt_, max_Pt_;
0058 const int min_N_;
0059
0060
0061 const bool same_;
0062 const bool cutdphi_, cutdeta_, cutminv_, cutdelr_, cutpt_;
0063
0064
0065 typedef std::vector<T1> T1Collection;
0066 typedef edm::Ref<T1Collection> T1Ref;
0067 typedef std::vector<T2> T2Collection;
0068 typedef edm::Ref<T2Collection> T2Ref;
0069 };
0070
0071 #endif