CMS 3D CMS Logo

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