CMS 3D CMS Logo

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