CMS 3D CMS Logo

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 
15 
16 #include <string>
17 #include <vector>
18 namespace trigger {
19  class TriggerFilterObjectWithRefs;
20 }
21 
22 //
23 // class declaration
24 //
25 
26 template <typename T1, typename T2>
27 class HLTDoubletDZ : public HLTFilter {
28  typedef std::vector<T1> T1Collection;
30  typedef std::vector<T2> T2Collection;
32 
33 public:
34  explicit HLTDoubletDZ(const edm::ParameterSet&);
35  ~HLTDoubletDZ() override;
36  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
37  bool hltFilter(edm::Event&,
38  const edm::EventSetup&,
39  trigger::TriggerFilterObjectWithRefs& filterproduct) const override;
41  std::vector<T1Ref>& coll1,
42  std::vector<T2Ref>& coll2,
43  trigger::TriggerFilterObjectWithRefs& filterproduct) const;
44  bool computeDZ(edm::Event& iEvent, T1Ref& c1, T2Ref& c2) const;
45 
46 private:
47  // configuration
48  const std::vector<edm::InputTag> originTag1_; // input tag identifying originals 1st product
49  const std::vector<edm::InputTag> originTag2_; // input tag identifying originals 2nd product
50  const edm::InputTag inputTag1_; // input tag identifying filtered 1st product
51  const edm::InputTag inputTag2_; // input tag identifying filtered 2nd product
55  const int triggerType1_;
56  const int triggerType2_;
57  const double minDR_; // minimum dR between two objects to be considered a pair
58  const double maxDZ_; // number of pairs passing cuts required
59  const int minPixHitsForDZ_; // minimum number of required pixel hits to check DZ
60  const int min_N_; // number of pairs passing cuts required
61  const bool checkSC_; // make sure SC constituents are different
62  const bool same_; // 1st and 2nd product are one and the same
63 };
64 
65 #endif //HLTDoubletDZ_h
ConfigurationDescriptions.h
HLTDoubletDZ::same_
const bool same_
Definition: HLTDoubletDZ.h:62
trigger::TriggerFilterObjectWithRefs
Definition: TriggerFilterObjectWithRefs.h:35
Handle.h
HLTDoubletDZ::~HLTDoubletDZ
~HLTDoubletDZ() override
Definition: HLTDoubletDZ.cc:129
edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs >
HLTDoubletDZ::getCollections
bool getCollections(edm::Event &iEvent, std::vector< T1Ref > &coll1, std::vector< T2Ref > &coll2, trigger::TriggerFilterObjectWithRefs &filterproduct) const
Definition: HLTDoubletDZ.cc:241
HLTDoubletDZ::triggerType1_
const int triggerType1_
Definition: HLTDoubletDZ.h:55
TriggerTypeDefs.h
HLTDoubletDZ::inputToken1_
const edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > inputToken1_
Definition: HLTDoubletDZ.h:52
HLTDoubletDZ
Definition: HLTDoubletDZ.h:27
HLTDoubletDZ::HLTDoubletDZ
HLTDoubletDZ(const edm::ParameterSet &)
Definition: HLTDoubletDZ.cc:29
HLTDoubletDZ::fillDescriptions
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
Definition: HLTDoubletDZ.cc:132
HLTDoubletDZ::originTag1_
const std::vector< edm::InputTag > originTag1_
Definition: HLTDoubletDZ.h:48
HLTFilter
Definition: HLTFilter.h:28
edm::Ref
Definition: AssociativeIterator.h:58
HLTDoubletDZ::inputTag2_
const edm::InputTag inputTag2_
Definition: HLTDoubletDZ.h:51
HLTFilter.h
HLTDoubletDZ::minDR_
const double minDR_
Definition: HLTDoubletDZ.h:57
HLTDoubletDZ::maxDZ_
const double maxDZ_
Definition: HLTDoubletDZ.h:58
HLTDoubletDZ::T1Collection
std::vector< T1 > T1Collection
Definition: HLTDoubletDZ.h:28
edm::ConfigurationDescriptions
Definition: ConfigurationDescriptions.h:28
ElectronFwd.h
edm::ParameterSet
Definition: ParameterSet.h:36
HLTDoubletDZ::T2Ref
edm::Ref< T2Collection > T2Ref
Definition: HLTDoubletDZ.h:31
HLTDoubletDZ::inputTag1_
const edm::InputTag inputTag1_
Definition: HLTDoubletDZ.h:50
iEvent
int iEvent
Definition: GenABIO.cc:224
alignmentValidation.c1
c1
do drawing
Definition: alignmentValidation.py:1025
edm::EventSetup
Definition: EventSetup.h:57
Electron.h
Ref.h
HLTDoubletDZ::min_N_
const int min_N_
Definition: HLTDoubletDZ.h:60
HLTDoubletDZ::hltFilter
bool hltFilter(edm::Event &, const edm::EventSetup &, trigger::TriggerFilterObjectWithRefs &filterproduct) const override
Definition: HLTDoubletDZ.cc:409
HLTDoubletDZ::minPixHitsForDZ_
const int minPixHitsForDZ_
Definition: HLTDoubletDZ.h:59
HLTDoubletDZ::T2Collection
std::vector< T2 > T2Collection
Definition: HLTDoubletDZ.h:30
HLTDoubletDZ::electronToken_
edm::EDGetTokenT< reco::ElectronCollection > electronToken_
Definition: HLTDoubletDZ.h:54
HLTDoubletDZ::checkSC_
const bool checkSC_
Definition: HLTDoubletDZ.h:61
trigger
Definition: HLTPrescaleTableCond.h:8
HLTDoubletDZ::triggerType2_
const int triggerType2_
Definition: HLTDoubletDZ.h:56
HLTDoubletDZ::computeDZ
bool computeDZ(edm::Event &iEvent, T1Ref &c1, T2Ref &c2) const
Definition: HLTDoubletDZ.cc:293
edm::Event
Definition: Event.h:73
HLTDoubletDZ::originTag2_
const std::vector< edm::InputTag > originTag2_
Definition: HLTDoubletDZ.h:49
HLTDoubletDZ::T1Ref
edm::Ref< T1Collection > T1Ref
Definition: HLTDoubletDZ.h:29
edm::InputTag
Definition: InputTag.h:15
HLTDoubletDZ::inputToken2_
const edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > inputToken2_
Definition: HLTDoubletDZ.h:53