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 public:
36  explicit HLTDoublet(const edm::ParameterSet&);
37  ~HLTDoublet() override;
38  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
39  bool hltFilter(edm::Event&,
40  const edm::EventSetup&,
41  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 #endif //HLTDoublet_h
ConfigurationDescriptions.h
HLTDoublet::min_Minv_
const double min_Minv_
Definition: HLTDoublet.h:55
trigger::TriggerFilterObjectWithRefs
Definition: TriggerFilterObjectWithRefs.h:35
HLTDoublet::min_N_
const int min_N_
Definition: HLTDoublet.h:58
HLTDoublet::HLTDoublet
HLTDoublet(const edm::ParameterSet &)
Definition: HLTDoublet.cc:29
edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs >
HLTDoublet::inputTag1_
const edm::InputTag inputTag1_
Definition: HLTDoublet.h:47
HLTDoublet::min_DelR_
const double min_DelR_
Definition: HLTDoublet.h:56
HLTFilter
Definition: HLTFilter.h:28
edm::Ref
Definition: AssociativeIterator.h:58
HLTDoublet
Definition: HLTDoublet.h:34
HLTDoublet::inputToken1_
const edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > inputToken1_
Definition: HLTDoublet.h:49
HLTFilter.h
HLTDoublet::T1Ref
edm::Ref< T1Collection > T1Ref
Definition: HLTDoublet.h:66
edm::ConfigurationDescriptions
Definition: ConfigurationDescriptions.h:28
HLTDoublet::max_Pt_
const double max_Pt_
Definition: HLTDoublet.h:57
edm::ParameterSet
Definition: ParameterSet.h:36
HLTDoublet::inputToken2_
const edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > inputToken2_
Definition: HLTDoublet.h:50
HLTDoublet::cutdelr_
const bool cutdelr_
Definition: HLTDoublet.h:62
edm::EventSetup
Definition: EventSetup.h:57
Ref.h
HLTDoublet::~HLTDoublet
~HLTDoublet() override
HLTDoublet::triggerType1_
const int triggerType1_
Definition: HLTDoublet.h:51
HLTDoublet::cutdeta_
const bool cutdeta_
Definition: HLTDoublet.h:62
HLTDoublet::min_Dphi_
const double min_Dphi_
Definition: HLTDoublet.h:53
HLTDoublet::same_
const bool same_
Definition: HLTDoublet.h:61
HLTDoublet::max_Minv_
const double max_Minv_
Definition: HLTDoublet.h:55
HLTDoublet::cutpt_
const bool cutpt_
Definition: HLTDoublet.h:62
HLTDoublet::originTag2_
const std::vector< edm::InputTag > originTag2_
Definition: HLTDoublet.h:46
HLTDoublet::originTag1_
const std::vector< edm::InputTag > originTag1_
Definition: HLTDoublet.h:45
HLTDoublet::hltFilter
bool hltFilter(edm::Event &, const edm::EventSetup &, trigger::TriggerFilterObjectWithRefs &filterproduct) const override
Definition: HLTDoublet.cc:101
trigger
Definition: HLTPrescaleTableCond.h:8
HLTDoublet::fillDescriptions
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
Definition: HLTDoublet.cc:70
HLTDoublet::cutminv_
const bool cutminv_
Definition: HLTDoublet.h:62
HLTDoublet::min_Pt_
const double min_Pt_
Definition: HLTDoublet.h:57
edm::Event
Definition: Event.h:73
HLTDoublet::max_DelR_
const double max_DelR_
Definition: HLTDoublet.h:56
HLTDoublet::max_Deta_
const double max_Deta_
Definition: HLTDoublet.h:54
HLTDoublet::min_Deta_
const double min_Deta_
Definition: HLTDoublet.h:54
HLTDoublet::T2Ref
edm::Ref< T2Collection > T2Ref
Definition: HLTDoublet.h:68
edm::InputTag
Definition: InputTag.h:15
HLTDoublet::T2Collection
std::vector< T2 > T2Collection
Definition: HLTDoublet.h:67
HLTDoublet::T1Collection
std::vector< T1 > T1Collection
Definition: HLTDoublet.h:65
HLTDoublet::inputTag2_
const edm::InputTag inputTag2_
Definition: HLTDoublet.h:48
HLTDoublet::triggerType2_
const int triggerType2_
Definition: HLTDoublet.h:52
HLTDoublet::max_Dphi_
const double max_Dphi_
Definition: HLTDoublet.h:53
HLTDoublet::cutdphi_
const bool cutdphi_
Definition: HLTDoublet.h:62