CMS 3D CMS Logo

HLTDoublet.h
Go to the documentation of this file.
1 #ifndef HLTrigger_HLTfilters_HLTDoublet_h
2 #define HLTrigger_HLTfilters_HLTDoublet_h
3 
22 
23 #include <vector>
24 
25 namespace edm {
27 }
28 
29 namespace trigger {
30  class TriggerFilterObjectWithRefs;
31 }
32 
33 template <typename T1, typename T2>
34 class HLTDoublet : public HLTFilter {
35 public:
36  explicit HLTDoublet(const edm::ParameterSet&);
37  ~HLTDoublet() override = default;
38 
39  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
40 
41  bool hltFilter(edm::Event&,
42  const edm::EventSetup&,
43  trigger::TriggerFilterObjectWithRefs& filterproduct) const override;
44 
45 private:
46  typedef std::vector<T1> T1Collection;
48  typedef std::vector<T2> T2Collection;
50 
51  // configuration
52  const std::vector<edm::InputTag> originTag1_; // input tag identifying originals 1st product
53  const std::vector<edm::InputTag> originTag2_; // input tag identifying originals 2nd product
54  const edm::InputTag inputTag1_; // input tag identifying filtered 1st product
55  const edm::InputTag inputTag2_; // input tag identifying filtered 2nd product
58  const int triggerType1_;
59  const int triggerType2_;
60  const double min_Deta_, max_Deta_; // Delta eta window
61  const double min_Dphi_, max_Dphi_; // Delta phi window
62  const double min_DelR2_, max_DelR2_; // Delta R^2 window
63  const double min_Pt_, max_Pt_; // Pt(1,2) window
64  const double min_Minv_, max_Minv_; // Minv(1,2) window
65  const int min_N_; // number of pairs passing cuts required
66 
67  // calculated from configuration in c'tor
68  // 1st and 2nd product are one and the same
69  const bool same_;
70  // cuts are on=true or off=false
72 };
73 
74 #endif // HLTrigger_HLTfilters_HLTDoublet_h
const edm::InputTag inputTag2_
Definition: HLTDoublet.h:55
const double min_Pt_
Definition: HLTDoublet.h:63
const double min_Deta_
Definition: HLTDoublet.h:60
HLTDoublet(const edm::ParameterSet &)
Definition: HLTDoublet.cc:24
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
Definition: HLTDoublet.cc:69
const bool same_
Definition: HLTDoublet.h:69
const bool cutpt_
Definition: HLTDoublet.h:71
edm::Ref< T2Collection > T2Ref
Definition: HLTDoublet.h:49
const double min_Dphi_
Definition: HLTDoublet.h:61
const edm::InputTag inputTag1_
Definition: HLTDoublet.h:54
const double min_DelR2_
Definition: HLTDoublet.h:62
const edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > inputToken1_
Definition: HLTDoublet.h:56
std::vector< T2 > T2Collection
Definition: HLTDoublet.h:48
const double min_Minv_
Definition: HLTDoublet.h:64
~HLTDoublet() override=default
const double max_DelR2_
Definition: HLTDoublet.h:62
const double max_Deta_
Definition: HLTDoublet.h:60
const int triggerType2_
Definition: HLTDoublet.h:59
edm::Ref< T1Collection > T1Ref
Definition: HLTDoublet.h:47
const bool cutdphi_
Definition: HLTDoublet.h:71
const int min_N_
Definition: HLTDoublet.h:65
const double max_Minv_
Definition: HLTDoublet.h:64
const edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > inputToken2_
Definition: HLTDoublet.h:57
const double max_Pt_
Definition: HLTDoublet.h:63
std::vector< T1 > T1Collection
Definition: HLTDoublet.h:46
const bool cutdelr2_
Definition: HLTDoublet.h:71
bool hltFilter(edm::Event &, const edm::EventSetup &, trigger::TriggerFilterObjectWithRefs &filterproduct) const override
Definition: HLTDoublet.cc:100
HLT enums.
const std::vector< edm::InputTag > originTag2_
Definition: HLTDoublet.h:53
const std::vector< edm::InputTag > originTag1_
Definition: HLTDoublet.h:52
const int triggerType1_
Definition: HLTDoublet.h:58
const bool cutminv_
Definition: HLTDoublet.h:71
const double max_Dphi_
Definition: HLTDoublet.h:61
const bool cutdeta_
Definition: HLTDoublet.h:71