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 namespace trigger {
15  class TriggerFilterObjectWithRefs;
16 }
17 
18 //
19 // class declaration
20 //
21 
22 template<typename T1, typename T2>
23 class HLTDoubletDZ : public HLTFilter {
24 
25  public:
26 
27  explicit HLTDoubletDZ(const edm::ParameterSet&);
28  ~HLTDoubletDZ();
29  static void fillDescriptions(edm::ConfigurationDescriptions & descriptions);
30  virtual bool hltFilter(edm::Event&, const edm::EventSetup&, trigger::TriggerFilterObjectWithRefs & filterproduct) const override;
31 
32  private:
33  // configuration
34  const std::vector<edm::InputTag> originTag1_; // input tag identifying originals 1st product
35  const std::vector<edm::InputTag> originTag2_; // input tag identifying originals 2nd product
36  const edm::InputTag inputTag1_; // input tag identifying filtered 1st product
37  const edm::InputTag inputTag2_; // input tag identifying filtered 2nd product
40  const int triggerType1_;
41  const int triggerType2_;
42  const double minDR_; // minimum dR between two objects to be considered a pair
43  const double maxDZ_; // number of pairs passing cuts required
44  const int min_N_; // number of pairs passing cuts required
45  const bool checkSC_; // make sure SC constituents are different
46  const bool same_; // 1st and 2nd product are one and the same
47 
48  typedef std::vector<T1> T1Collection;
50  typedef std::vector<T2> T2Collection;
52 
53 };
54 
55 #endif //HLTDoubletDZ_h
const int triggerType1_
Definition: HLTDoubletDZ.h:40
HLTDoubletDZ(const edm::ParameterSet &)
Definition: HLTDoubletDZ.cc:21
const edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > inputToken1_
Definition: HLTDoubletDZ.h:38
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
Definition: HLTDoubletDZ.cc:45
const int triggerType2_
Definition: HLTDoubletDZ.h:41
const std::vector< edm::InputTag > originTag1_
Definition: HLTDoubletDZ.h:34
const edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > inputToken2_
Definition: HLTDoubletDZ.h:39
const std::vector< edm::InputTag > originTag2_
Definition: HLTDoubletDZ.h:35
const bool same_
Definition: HLTDoubletDZ.h:46
const edm::InputTag inputTag1_
Definition: HLTDoubletDZ.h:36
const edm::InputTag inputTag2_
Definition: HLTDoubletDZ.h:37
const int min_N_
Definition: HLTDoubletDZ.h:44
virtual bool hltFilter(edm::Event &, const edm::EventSetup &, trigger::TriggerFilterObjectWithRefs &filterproduct) const override
Definition: HLTDoubletDZ.cc:66
const double maxDZ_
Definition: HLTDoubletDZ.h:43
const double minDR_
Definition: HLTDoubletDZ.h:42
std::vector< T1 > T1Collection
Definition: HLTDoubletDZ.h:48
std::vector< T2 > T2Collection
Definition: HLTDoubletDZ.h:50
edm::Ref< T2Collection > T2Ref
Definition: HLTDoubletDZ.h:51
edm::Ref< T1Collection > T1Ref
Definition: HLTDoubletDZ.h:49
const bool checkSC_
Definition: HLTDoubletDZ.h:45