CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
HLTDoubletDZ.h
Go to the documentation of this file.
1 #ifndef HLTDoubletDZ_h
2 #define HLTDoubletDZ_h
3 
4 //
5 // Class imlements |dZ|<Max for a pair of two objects
6 //
7 
12 #include<string>
13 #include<vector>
14 
15 //
16 // class declaration
17 //
18 
19 template<typename T1, typename T2>
20 class HLTDoubletDZ : public HLTFilter {
21 
22  public:
23 
24  explicit HLTDoubletDZ(const edm::ParameterSet&);
25  ~HLTDoubletDZ();
26  static void fillDescriptions(edm::ConfigurationDescriptions & descriptions);
27  virtual bool hltFilter(edm::Event&, const edm::EventSetup&, trigger::TriggerFilterObjectWithRefs & filterproduct);
28 
29  private:
30  // configuration
31  edm::InputTag originTag1_; // input tag identifying original 1st product
32  edm::InputTag originTag2_; // input tag identifying original 2nd product
33  edm::InputTag inputTag1_; // input tag identifying filtered 1st product
34  edm::InputTag inputTag2_; // input tag identifying filtered 2nd product
37  double minDR_; // minimum dR between two objects to be considered a pair
38  double maxDZ_; // number of pairs passing cuts required
39  bool same_; // 1st and 2nd product are one and the same
40  int min_N_; // number of pairs passing cuts required
41  bool checkSC_; // make sure SC constituents are different
42 
43  std:: string label_; // module label
44 
45  typedef std::vector<T1> T1Collection;
47  std::vector<T1Ref> coll1_;
48  typedef std::vector<T2> T2Collection;
50  std::vector<T2Ref> coll2_;
51 
52 
53 };
54 
55 #endif //HLTDoubletDZ_h
HLTDoubletDZ(const edm::ParameterSet &)
Definition: HLTDoubletDZ.cc:21
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
Definition: HLTDoubletDZ.cc:47
virtual bool hltFilter(edm::Event &, const edm::EventSetup &, trigger::TriggerFilterObjectWithRefs &filterproduct)
Definition: HLTDoubletDZ.cc:66
double maxDZ_
Definition: HLTDoubletDZ.h:38
std::vector< T1Ref > coll1_
Definition: HLTDoubletDZ.h:47
edm::InputTag inputTag2_
Definition: HLTDoubletDZ.h:34
std::vector< T2Ref > coll2_
Definition: HLTDoubletDZ.h:50
edm::InputTag inputTag1_
Definition: HLTDoubletDZ.h:33
std::vector< T1 > T1Collection
Definition: HLTDoubletDZ.h:45
std::vector< T2 > T2Collection
Definition: HLTDoubletDZ.h:48
edm::Ref< T2Collection > T2Ref
Definition: HLTDoubletDZ.h:49
edm::Ref< T1Collection > T1Ref
Definition: HLTDoubletDZ.h:46
double minDR_
Definition: HLTDoubletDZ.h:37
edm::InputTag originTag2_
Definition: HLTDoubletDZ.h:32
std::string label_
Definition: HLTDoubletDZ.h:43
edm::InputTag originTag1_
Definition: HLTDoubletDZ.h:31