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 
24 #include<vector>
25 
26 //
27 // class declaration
28 //
29 
30 template<typename T1, int Tid1, typename T2, int Tid2>
31 class HLTDoublet : public HLTFilter {
32 
33  public:
34 
35  explicit HLTDoublet(const edm::ParameterSet&);
36  ~HLTDoublet();
37  virtual bool filter(edm::Event&, const edm::EventSetup&);
38 
39  private:
40  // configuration
41  edm::InputTag inputTag1_; // input tag identifying 1st product
42  edm::InputTag inputTag2_; // input tag identifying 2nd product
43  bool saveTags_; // whether to save these tags
44  double min_Dphi_,max_Dphi_; // Delta phi window
45  double min_Deta_,max_Deta_; // Delta eta window
46  double min_Minv_,max_Minv_; // Minv(1,2) window
47  double min_DelR_,max_DelR_; // Delta R window
48  int min_N_; // number of pairs passing cuts required
49 
50  // calculated from configuration in c'tor
51  bool same_; // 1st and 2nd product are one and the same
52  bool cutdphi_,cutdeta_,cutminv_,cutdelr_; // cuts are on=true or off=false
53 
54  //
55  typedef std::vector<T1> T1Collection;
57  std::vector<T1Ref> coll1_;
58  typedef std::vector<T2> T2Collection;
60  std::vector<T2Ref> coll2_;
61 
62 
63 };
64 
65 #endif //HLTDoublet_h
bool cutdelr_
Definition: HLTDoublet.h:52
edm::InputTag inputTag1_
Definition: HLTDoublet.h:41
double min_Deta_
Definition: HLTDoublet.h:45
double max_DelR_
Definition: HLTDoublet.h:47
int min_N_
Definition: HLTDoublet.h:48
double min_Dphi_
Definition: HLTDoublet.h:44
edm::Ref< T1Collection > T1Ref
Definition: HLTDoublet.h:56
edm::InputTag inputTag2_
Definition: HLTDoublet.h:42
bool saveTags_
Definition: HLTDoublet.h:43
bool cutminv_
Definition: HLTDoublet.h:52
std::vector< T1Ref > coll1_
Definition: HLTDoublet.h:57
double min_DelR_
Definition: HLTDoublet.h:47
double max_Dphi_
Definition: HLTDoublet.h:44
virtual bool filter(edm::Event &, const edm::EventSetup &)
Definition: HLTDoublet.cc:80
double min_Minv_
Definition: HLTDoublet.h:46
std::vector< T2 > T2Collection
Definition: HLTDoublet.h:58
double max_Minv_
Definition: HLTDoublet.h:46
std::vector< T2Ref > coll2_
Definition: HLTDoublet.h:60
bool cutdeta_
Definition: HLTDoublet.h:52
HLTDoublet(const edm::ParameterSet &)
Definition: HLTDoublet.cc:30
edm::Ref< T2Collection > T2Ref
Definition: HLTDoublet.h:59
bool cutdphi_
Definition: HLTDoublet.h:52
double max_Deta_
Definition: HLTDoublet.h:45
bool same_
Definition: HLTDoublet.h:51
std::vector< T1 > T1Collection
Definition: HLTDoublet.h:55