CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Types | Private Attributes
HLTDoubletDZ< T1, T2 > Class Template Reference

#include <HLTDoubletDZ.h>

Inheritance diagram for HLTDoubletDZ< T1, T2 >:
HLTFilter edm::global::EDFilter<> edm::global::EDFilterBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

bool computeDZ (edm::Event &iEvent, T1Ref &c1, T2Ref &c2) const
 
template<>
bool computeDZ (edm::Event &iEvent, T1Ref &r1, T2Ref &r2) const
 
template<>
bool computeDZ (edm::Event &iEvent, T1Ref &r1, T2Ref &r2) const
 
template<>
bool computeDZ (edm::Event &iEvent, T1Ref &r1, T2Ref &r2) const
 
template<>
bool computeDZ (edm::Event &iEvent, T1Ref &r1, T2Ref &r2) const
 
template<>
void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
template<>
void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
template<>
void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
template<>
void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
bool getCollections (edm::Event &iEvent, std::vector< T1Ref > &coll1, std::vector< T2Ref > &coll2, trigger::TriggerFilterObjectWithRefs &filterproduct) const
 
 HLTDoubletDZ (const edm::ParameterSet &)
 
template<>
 HLTDoubletDZ (const edm::ParameterSet &iConfig)
 
template<>
 HLTDoubletDZ (const edm::ParameterSet &iConfig)
 
template<>
 HLTDoubletDZ (const edm::ParameterSet &iConfig)
 
template<>
 HLTDoubletDZ (const edm::ParameterSet &iConfig)
 
virtual bool hltFilter (edm::Event &, const edm::EventSetup &, trigger::TriggerFilterObjectWithRefs &filterproduct) const override
 
 ~HLTDoubletDZ ()
 
- Public Member Functions inherited from HLTFilter
 HLTFilter (const edm::ParameterSet &config)
 
int module (edm::Event const &) const
 
const std::string * moduleLabel () const
 
int path (edm::Event const &) const
 
const std::string * pathName (edm::Event const &) const
 
std::pair< int, int > pmid (edm::Event const &) const
 
bool saveTags () const
 
virtual ~HLTFilter ()
 
- Public Member Functions inherited from edm::global::EDFilter<>
 EDFilter ()=default
 
- Public Member Functions inherited from edm::global::EDFilterBase
 EDFilterBase ()
 
ModuleDescription const & moduleDescription () const
 
virtual ~EDFilterBase ()
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
std::vector< edm::ProductResolverIndex > const & indiciesForPutProducts (BranchType iBranchType) const
 
 ProducerBase ()
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription const &)> registrationCallback () const
 used by the fwk to register list of products More...
 
void resolvePutIndicies (BranchType iBranchType, std::unordered_multimap< std::string, edm::ProductResolverIndex > const &iIndicies, std::string const &moduleLabel)
 
virtual ~ProducerBase () noexcept(false)
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
virtual ~EDConsumerBase () noexcept(false)
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
- Static Public Member Functions inherited from HLTFilter
static void makeHLTFilterDescription (edm::ParameterSetDescription &desc)
 
- Static Public Member Functions inherited from edm::global::EDFilterBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 

Private Types

typedef std::vector< T1 > T1Collection
 
typedef edm::Ref< T1CollectionT1Ref
 
typedef std::vector< T2 > T2Collection
 
typedef edm::Ref< T2CollectionT2Ref
 

Private Attributes

const bool checkSC_
 
edm::EDGetTokenT< reco::ElectronCollectionelectronToken_
 
const edm::InputTag inputTag1_
 
const edm::InputTag inputTag2_
 
const edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefsinputToken1_
 
const edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefsinputToken2_
 
const double maxDZ_
 
const int min_N_
 
const double minDR_
 
const int minPixHitsForDZ_
 
const std::vector< edm::InputTagoriginTag1_
 
const std::vector< edm::InputTagoriginTag2_
 
const bool same_
 
const int triggerType1_
 
const int triggerType2_
 

Additional Inherited Members

- Public Types inherited from edm::global::EDFilterBase
typedef EDFilterBase ModuleType
 
- Public Types inherited from edm::ProducerBase
typedef ProductRegistryHelper::TypeLabelList TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 

Detailed Description

template<typename T1, typename T2>
class HLTDoubletDZ< T1, T2 >

Definition at line 27 of file HLTDoubletDZ.h.

Member Typedef Documentation

template<typename T1 , typename T2 >
typedef std::vector<T1> HLTDoubletDZ< T1, T2 >::T1Collection
private

Definition at line 29 of file HLTDoubletDZ.h.

template<typename T1 , typename T2 >
typedef edm::Ref<T1Collection> HLTDoubletDZ< T1, T2 >::T1Ref
private

Definition at line 30 of file HLTDoubletDZ.h.

template<typename T1 , typename T2 >
typedef std::vector<T2> HLTDoubletDZ< T1, T2 >::T2Collection
private

Definition at line 31 of file HLTDoubletDZ.h.

template<typename T1 , typename T2 >
typedef edm::Ref<T2Collection> HLTDoubletDZ< T1, T2 >::T2Ref
private

Definition at line 32 of file HLTDoubletDZ.h.

Constructor & Destructor Documentation

template<typename T1 , typename T2 >
HLTDoubletDZ< T1, T2 >::HLTDoubletDZ ( const edm::ParameterSet iConfig)
explicit

Definition at line 29 of file HLTDoubletDZ.cc.

29  :
30  HLTFilter(iConfig),
31  originTag1_(iConfig.template getParameter<std::vector<edm::InputTag> >("originTag1")),
32  originTag2_(iConfig.template getParameter<std::vector<edm::InputTag> >("originTag2")),
33  inputTag1_(iConfig.template getParameter<edm::InputTag>("inputTag1")),
34  inputTag2_(iConfig.template getParameter<edm::InputTag>("inputTag2")),
35  inputToken1_(consumes<trigger::TriggerFilterObjectWithRefs>(inputTag1_)),
36  inputToken2_(consumes<trigger::TriggerFilterObjectWithRefs>(inputTag2_)),
37  //electronToken_ (consumes<reco::ElectronCollection>(iConfig.template getParameter<edm::InputTag>("electronTag"))),
38  triggerType1_(iConfig.template getParameter<int>("triggerType1")),
39  triggerType2_(iConfig.template getParameter<int>("triggerType2")),
40  minDR_ (iConfig.template getParameter<double>("MinDR")),
41  maxDZ_ (iConfig.template getParameter<double>("MaxDZ")),
42  minPixHitsForDZ_ (iConfig.template getParameter<int>("MinPixHitsForDZ")),
43  min_N_ (iConfig.template getParameter<int>("MinN")),
44  checkSC_ (iConfig.template getParameter<bool>("checkSC")),
45  same_ (inputTag1_.encode()==inputTag2_.encode()) // same collections to be compared?
46 {}
const int triggerType1_
Definition: HLTDoubletDZ.h:52
const edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > inputToken1_
Definition: HLTDoubletDZ.h:49
const int triggerType2_
Definition: HLTDoubletDZ.h:53
const std::vector< edm::InputTag > originTag1_
Definition: HLTDoubletDZ.h:45
const edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > inputToken2_
Definition: HLTDoubletDZ.h:50
const std::vector< edm::InputTag > originTag2_
Definition: HLTDoubletDZ.h:46
const bool same_
Definition: HLTDoubletDZ.h:59
std::string encode() const
Definition: InputTag.cc:165
const edm::InputTag inputTag1_
Definition: HLTDoubletDZ.h:47
const edm::InputTag inputTag2_
Definition: HLTDoubletDZ.h:48
const int min_N_
Definition: HLTDoubletDZ.h:57
const int minPixHitsForDZ_
Definition: HLTDoubletDZ.h:56
const double maxDZ_
Definition: HLTDoubletDZ.h:55
const double minDR_
Definition: HLTDoubletDZ.h:54
HLTFilter(const edm::ParameterSet &config)
Definition: HLTFilter.cc:20
const bool checkSC_
Definition: HLTDoubletDZ.h:58
template<typename T1 , typename T2 >
HLTDoubletDZ< T1, T2 >::~HLTDoubletDZ ( )

Definition at line 129 of file HLTDoubletDZ.cc.

130 {}

Definition at line 49 of file HLTDoubletDZ.cc.

49  :
50  HLTFilter(iConfig),
51  originTag1_(iConfig.template getParameter<std::vector<edm::InputTag> >("originTag1")),
52  originTag2_(iConfig.template getParameter<std::vector<edm::InputTag> >("originTag2")),
53  inputTag1_(iConfig.template getParameter<edm::InputTag>("inputTag1")),
54  inputTag2_(iConfig.template getParameter<edm::InputTag>("inputTag2")),
55  inputToken1_(consumes<trigger::TriggerFilterObjectWithRefs>(inputTag1_)),
56  inputToken2_(consumes<trigger::TriggerFilterObjectWithRefs>(inputTag2_)),
57  electronToken_ (consumes<reco::ElectronCollection>(iConfig.template getParameter<edm::InputTag>("electronTag"))),
58  triggerType1_(iConfig.template getParameter<int>("triggerType1")),
59  triggerType2_(iConfig.template getParameter<int>("triggerType2")),
60  minDR_ (iConfig.template getParameter<double>("MinDR")),
61  maxDZ_ (iConfig.template getParameter<double>("MaxDZ")),
62  minPixHitsForDZ_ (iConfig.template getParameter<int>("MinPixHitsForDZ")),
63  min_N_ (iConfig.template getParameter<int>("MinN")),
64  checkSC_ (iConfig.template getParameter<bool>("checkSC")),
65  same_ (inputTag1_.encode()==inputTag2_.encode()) // same collections to be compared?
66 {}
const int triggerType1_
Definition: HLTDoubletDZ.h:52
edm::EDGetTokenT< reco::ElectronCollection > electronToken_
Definition: HLTDoubletDZ.h:51
const edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > inputToken1_
Definition: HLTDoubletDZ.h:49
const int triggerType2_
Definition: HLTDoubletDZ.h:53
const std::vector< edm::InputTag > originTag1_
Definition: HLTDoubletDZ.h:45
const edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > inputToken2_
Definition: HLTDoubletDZ.h:50
const std::vector< edm::InputTag > originTag2_
Definition: HLTDoubletDZ.h:46
const bool same_
Definition: HLTDoubletDZ.h:59
std::string encode() const
Definition: InputTag.cc:165
const edm::InputTag inputTag1_
Definition: HLTDoubletDZ.h:47
const edm::InputTag inputTag2_
Definition: HLTDoubletDZ.h:48
const int min_N_
Definition: HLTDoubletDZ.h:57
const int minPixHitsForDZ_
Definition: HLTDoubletDZ.h:56
const double maxDZ_
Definition: HLTDoubletDZ.h:55
const double minDR_
Definition: HLTDoubletDZ.h:54
HLTFilter(const edm::ParameterSet &config)
Definition: HLTFilter.cc:20
const bool checkSC_
Definition: HLTDoubletDZ.h:58

Definition at line 69 of file HLTDoubletDZ.cc.

69  :
70  HLTFilter(iConfig),
71  originTag1_(iConfig.template getParameter<std::vector<edm::InputTag> >("originTag1")),
72  originTag2_(iConfig.template getParameter<std::vector<edm::InputTag> >("originTag2")),
73  inputTag1_(iConfig.template getParameter<edm::InputTag>("inputTag1")),
74  inputTag2_(iConfig.template getParameter<edm::InputTag>("inputTag2")),
75  inputToken1_(consumes<trigger::TriggerFilterObjectWithRefs>(inputTag1_)),
76  inputToken2_(consumes<trigger::TriggerFilterObjectWithRefs>(inputTag2_)),
77  electronToken_ (consumes<reco::ElectronCollection>(iConfig.template getParameter<edm::InputTag>("electronTag"))),
78  triggerType1_(iConfig.template getParameter<int>("triggerType1")),
79  triggerType2_(iConfig.template getParameter<int>("triggerType2")),
80  minDR_ (iConfig.template getParameter<double>("MinDR")),
81  maxDZ_ (iConfig.template getParameter<double>("MaxDZ")),
82  minPixHitsForDZ_ (iConfig.template getParameter<int>("MinPixHitsForDZ")),
83  min_N_ (iConfig.template getParameter<int>("MinN")),
84  checkSC_ (iConfig.template getParameter<bool>("checkSC")),
85  same_ (inputTag1_.encode()==inputTag2_.encode()) // same collections to be compared?
86 {}
const int triggerType1_
Definition: HLTDoubletDZ.h:52
edm::EDGetTokenT< reco::ElectronCollection > electronToken_
Definition: HLTDoubletDZ.h:51
const edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > inputToken1_
Definition: HLTDoubletDZ.h:49
const int triggerType2_
Definition: HLTDoubletDZ.h:53
const std::vector< edm::InputTag > originTag1_
Definition: HLTDoubletDZ.h:45
const edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > inputToken2_
Definition: HLTDoubletDZ.h:50
const std::vector< edm::InputTag > originTag2_
Definition: HLTDoubletDZ.h:46
const bool same_
Definition: HLTDoubletDZ.h:59
std::string encode() const
Definition: InputTag.cc:165
const edm::InputTag inputTag1_
Definition: HLTDoubletDZ.h:47
const edm::InputTag inputTag2_
Definition: HLTDoubletDZ.h:48
const int min_N_
Definition: HLTDoubletDZ.h:57
const int minPixHitsForDZ_
Definition: HLTDoubletDZ.h:56
const double maxDZ_
Definition: HLTDoubletDZ.h:55
const double minDR_
Definition: HLTDoubletDZ.h:54
HLTFilter(const edm::ParameterSet &config)
Definition: HLTFilter.cc:20
const bool checkSC_
Definition: HLTDoubletDZ.h:58

Definition at line 89 of file HLTDoubletDZ.cc.

89  :
90  HLTFilter(iConfig),
91  originTag1_(iConfig.template getParameter<std::vector<edm::InputTag> >("originTag1")),
92  originTag2_(iConfig.template getParameter<std::vector<edm::InputTag> >("originTag2")),
93  inputTag1_(iConfig.template getParameter<edm::InputTag>("inputTag1")),
94  inputTag2_(iConfig.template getParameter<edm::InputTag>("inputTag2")),
95  inputToken1_(consumes<trigger::TriggerFilterObjectWithRefs>(inputTag1_)),
96  inputToken2_(consumes<trigger::TriggerFilterObjectWithRefs>(inputTag2_)),
97  electronToken_ (consumes<reco::ElectronCollection>(iConfig.template getParameter<edm::InputTag>("electronTag"))),
98  triggerType1_(iConfig.template getParameter<int>("triggerType1")),
99  triggerType2_(iConfig.template getParameter<int>("triggerType2")),
100  minDR_ (iConfig.template getParameter<double>("MinDR")),
101  maxDZ_ (iConfig.template getParameter<double>("MaxDZ")),
102  minPixHitsForDZ_ (iConfig.template getParameter<int>("MinPixHitsForDZ")),
103  min_N_ (iConfig.template getParameter<int>("MinN")),
104  checkSC_ (iConfig.template getParameter<bool>("checkSC")),
105  same_ (inputTag1_.encode()==inputTag2_.encode()) // same collections to be compared?
106 {}
const int triggerType1_
Definition: HLTDoubletDZ.h:52
edm::EDGetTokenT< reco::ElectronCollection > electronToken_
Definition: HLTDoubletDZ.h:51
const edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > inputToken1_
Definition: HLTDoubletDZ.h:49
const int triggerType2_
Definition: HLTDoubletDZ.h:53
const std::vector< edm::InputTag > originTag1_
Definition: HLTDoubletDZ.h:45
const edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > inputToken2_
Definition: HLTDoubletDZ.h:50
const std::vector< edm::InputTag > originTag2_
Definition: HLTDoubletDZ.h:46
const bool same_
Definition: HLTDoubletDZ.h:59
std::string encode() const
Definition: InputTag.cc:165
const edm::InputTag inputTag1_
Definition: HLTDoubletDZ.h:47
const edm::InputTag inputTag2_
Definition: HLTDoubletDZ.h:48
const int min_N_
Definition: HLTDoubletDZ.h:57
const int minPixHitsForDZ_
Definition: HLTDoubletDZ.h:56
const double maxDZ_
Definition: HLTDoubletDZ.h:55
const double minDR_
Definition: HLTDoubletDZ.h:54
HLTFilter(const edm::ParameterSet &config)
Definition: HLTFilter.cc:20
const bool checkSC_
Definition: HLTDoubletDZ.h:58

Definition at line 109 of file HLTDoubletDZ.cc.

109  :
110  HLTFilter(iConfig),
111  originTag1_(iConfig.template getParameter<std::vector<edm::InputTag> >("originTag1")),
112  originTag2_(iConfig.template getParameter<std::vector<edm::InputTag> >("originTag2")),
113  inputTag1_(iConfig.template getParameter<edm::InputTag>("inputTag1")),
114  inputTag2_(iConfig.template getParameter<edm::InputTag>("inputTag2")),
115  inputToken1_(consumes<trigger::TriggerFilterObjectWithRefs>(inputTag1_)),
116  inputToken2_(consumes<trigger::TriggerFilterObjectWithRefs>(inputTag2_)),
117  //electronToken_ (consumes<reco::ElectronCollection>(iConfig.template getParameter<edm::InputTag>("electronTag"))),
118  triggerType1_(iConfig.template getParameter<int>("triggerType1")),
119  triggerType2_(iConfig.template getParameter<int>("triggerType2")),
120  minDR_ (iConfig.template getParameter<double>("MinDR")),
121  maxDZ_ (iConfig.template getParameter<double>("MaxDZ")),
122  minPixHitsForDZ_ (iConfig.template getParameter<int>("MinPixHitsForDZ")),
123  min_N_ (iConfig.template getParameter<int>("MinN")),
124  checkSC_ (iConfig.template getParameter<bool>("checkSC")),
125  same_ (inputTag1_.encode()==inputTag2_.encode()) // same collections to be compared?
126 {}
const int triggerType1_
Definition: HLTDoubletDZ.h:52
const edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > inputToken1_
Definition: HLTDoubletDZ.h:49
const int triggerType2_
Definition: HLTDoubletDZ.h:53
const std::vector< edm::InputTag > originTag1_
Definition: HLTDoubletDZ.h:45
const edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > inputToken2_
Definition: HLTDoubletDZ.h:50
const std::vector< edm::InputTag > originTag2_
Definition: HLTDoubletDZ.h:46
const bool same_
Definition: HLTDoubletDZ.h:59
std::string encode() const
Definition: InputTag.cc:165
const edm::InputTag inputTag1_
Definition: HLTDoubletDZ.h:47
const edm::InputTag inputTag2_
Definition: HLTDoubletDZ.h:48
const int min_N_
Definition: HLTDoubletDZ.h:57
const int minPixHitsForDZ_
Definition: HLTDoubletDZ.h:56
const double maxDZ_
Definition: HLTDoubletDZ.h:55
const double minDR_
Definition: HLTDoubletDZ.h:54
HLTFilter(const edm::ParameterSet &config)
Definition: HLTFilter.cc:20
const bool checkSC_
Definition: HLTDoubletDZ.h:58

Member Function Documentation

template<typename T1 , typename T2 >
bool HLTDoubletDZ< T1, T2 >::computeDZ ( edm::Event iEvent,
T1Ref c1,
T2Ref c2 
) const

Definition at line 295 of file HLTDoubletDZ.cc.

References funct::abs(), reco::deltaR(), HLTDoubletDZ< T1, T2 >::maxDZ_, HLTDoubletDZ< T1, T2 >::minDR_, and reco::Candidate::vz().

Referenced by HLTDoubletDZ< T1, T2 >::hltFilter().

296 {
297 
298  const reco::Candidate& candidate1(*r1);
299  const reco::Candidate& candidate2(*r2);
300  if ( reco::deltaR(candidate1, candidate2) < minDR_ )
301  return false;
302  if ( std::abs(candidate1.vz()-candidate2.vz()) > maxDZ_ )
303  return false;
304 
305  return true;
306 }
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
auto deltaR(const T1 &t1, const T2 &t2) -> decltype(t1.eta())
Definition: deltaR.h:28
const double maxDZ_
Definition: HLTDoubletDZ.h:55
const double minDR_
Definition: HLTDoubletDZ.h:54
template<>
bool HLTDoubletDZ< reco::RecoEcalCandidate, reco::RecoChargedCandidate >::computeDZ ( edm::Event iEvent,
T1Ref r1,
T2Ref r2 
) const

Definition at line 310 of file HLTDoubletDZ.cc.

References funct::abs(), reco::deltaR(), reco::e1, HLTDoubletDZ< T1, T2 >::electronToken_, edm::Event::getByToken(), reco::Electron::gsfTrack(), edm::HandleBase::isValid(), HLTDoubletDZ< T1, T2 >::maxDZ_, HLTDoubletDZ< T1, T2 >::minDR_, HLTDoubletDZ< T1, T2 >::minPixHitsForDZ_, reco::RecoChargedCandidate::track(), and reco::LeafCandidate::vz().

311 {
313  iEvent.getByToken(electronToken_, electronHandle_);
314  if (!electronHandle_.isValid())
315  edm::LogError("HLTDoubletDZ") << "HLTDoubletDZ: Electron Handle not valid.";
316 
317  if ( reco::deltaR(*r1, *r2) < minDR_ )
318  return false;
320  for(auto const & eleIt : *electronHandle_) {
321  if (eleIt.superCluster() == r1->superCluster())
322  e1 = eleIt;
323  }
324 
325  const reco::RecoChargedCandidate& candidate2(*r2);
326  bool skipDZ = false;
327  if ( minPixHitsForDZ_ > 0 &&
328  (e1.gsfTrack()->hitPattern().numberOfValidPixelHits() < minPixHitsForDZ_
329  || candidate2.track()->hitPattern().numberOfValidPixelHits() < minPixHitsForDZ_) )
330  skipDZ = true;
331  if ( !skipDZ && std::abs(e1.vz()-candidate2.vz()) > maxDZ_ )
332  return false;
333 
334  return true;
335 }
edm::EDGetTokenT< reco::ElectronCollection > electronToken_
Definition: HLTDoubletDZ.h:51
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:460
virtual reco::GsfTrackRef gsfTrack() const
reference to a GsfTrack
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
auto deltaR(const T1 &t1, const T2 &t2) -> decltype(t1.eta())
Definition: deltaR.h:28
bool isValid() const
Definition: HandleBase.h:74
virtual double vz() const
z coordinate of vertex position
const int minPixHitsForDZ_
Definition: HLTDoubletDZ.h:56
const double maxDZ_
Definition: HLTDoubletDZ.h:55
const double minDR_
Definition: HLTDoubletDZ.h:54
Float e1
Definition: deltaR.h:20
template<>
bool HLTDoubletDZ< reco::RecoChargedCandidate, reco::RecoEcalCandidate >::computeDZ ( edm::Event iEvent,
T1Ref r1,
T2Ref r2 
) const

Definition at line 339 of file HLTDoubletDZ.cc.

References funct::abs(), reco::deltaR(), reco::e2, HLTDoubletDZ< T1, T2 >::electronToken_, edm::Event::getByToken(), reco::Electron::gsfTrack(), edm::HandleBase::isValid(), HLTDoubletDZ< T1, T2 >::maxDZ_, HLTDoubletDZ< T1, T2 >::minDR_, HLTDoubletDZ< T1, T2 >::minPixHitsForDZ_, reco::RecoChargedCandidate::track(), and reco::LeafCandidate::vz().

340 {
342  iEvent.getByToken(electronToken_, electronHandle_);
343  if (!electronHandle_.isValid())
344  edm::LogError("HLTDoubletDZ") << "HLTDoubletDZ: Electron Handle not valid.";
345 
346  if ( reco::deltaR(*r1, *r2) < minDR_ )
347  return false;
349  for(auto const & eleIt : *electronHandle_) {
350  if (eleIt.superCluster() == r2->superCluster())
351  e2 = eleIt;
352  }
353 
354  const reco::RecoChargedCandidate& candidate1(*r1);
355  bool skipDZ = false;
356  if ( minPixHitsForDZ_ > 0 &&
357  (candidate1.track()->hitPattern().numberOfValidPixelHits() < minPixHitsForDZ_
358  || e2.gsfTrack()->hitPattern().numberOfValidPixelHits() < minPixHitsForDZ_) )
359  skipDZ = true;
360  if ( !skipDZ && std::abs(e2.vz()-candidate1.vz()) > maxDZ_ )
361  return false;
362 
363  return true;
364 }
edm::EDGetTokenT< reco::ElectronCollection > electronToken_
Definition: HLTDoubletDZ.h:51
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:460
virtual reco::GsfTrackRef gsfTrack() const
reference to a GsfTrack
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
auto deltaR(const T1 &t1, const T2 &t2) -> decltype(t1.eta())
Definition: deltaR.h:28
bool isValid() const
Definition: HandleBase.h:74
virtual double vz() const
z coordinate of vertex position
const int minPixHitsForDZ_
Definition: HLTDoubletDZ.h:56
const double maxDZ_
Definition: HLTDoubletDZ.h:55
const double minDR_
Definition: HLTDoubletDZ.h:54
Float e2
Definition: deltaR.h:21
template<>
bool HLTDoubletDZ< reco::RecoEcalCandidate, reco::RecoEcalCandidate >::computeDZ ( edm::Event iEvent,
T1Ref r1,
T2Ref r2 
) const

Definition at line 368 of file HLTDoubletDZ.cc.

References funct::abs(), reco::deltaR(), reco::e1, reco::e2, HLTDoubletDZ< T1, T2 >::electronToken_, edm::Event::getByToken(), reco::Electron::gsfTrack(), edm::HandleBase::isValid(), HLTDoubletDZ< T1, T2 >::maxDZ_, HLTDoubletDZ< T1, T2 >::minDR_, HLTDoubletDZ< T1, T2 >::minPixHitsForDZ_, and reco::LeafCandidate::vz().

369 {
371  iEvent.getByToken(electronToken_, electronHandle_);
372  if (!electronHandle_.isValid())
373  edm::LogError("HLTDoubletDZ") << "HLTDoubletDZ: Electron Handle not valid.";
374 
375  if ( reco::deltaR(*r1, *r2) < minDR_ )
376  return false;
378  for(auto const & eleIt : *electronHandle_) {
379  if (eleIt.superCluster() == r2->superCluster())
380  e2 = eleIt;
381  if (eleIt.superCluster() == r1->superCluster())
382  e1 = eleIt;
383  }
384 
385  bool skipDZ = false;
386  if ( minPixHitsForDZ_ > 0 &&
387  (e1.gsfTrack()->hitPattern().numberOfValidPixelHits() < minPixHitsForDZ_
388  || e2.gsfTrack()->hitPattern().numberOfValidPixelHits() < minPixHitsForDZ_) )
389  skipDZ = true;
390  if ( !skipDZ && std::abs(e2.vz()-e1.vz()) > maxDZ_ )
391  return false;
392 
393  return true;
394 }
edm::EDGetTokenT< reco::ElectronCollection > electronToken_
Definition: HLTDoubletDZ.h:51
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:460
virtual reco::GsfTrackRef gsfTrack() const
reference to a GsfTrack
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
auto deltaR(const T1 &t1, const T2 &t2) -> decltype(t1.eta())
Definition: deltaR.h:28
bool isValid() const
Definition: HandleBase.h:74
virtual double vz() const
z coordinate of vertex position
const int minPixHitsForDZ_
Definition: HLTDoubletDZ.h:56
const double maxDZ_
Definition: HLTDoubletDZ.h:55
const double minDR_
Definition: HLTDoubletDZ.h:54
Float e1
Definition: deltaR.h:20
Float e2
Definition: deltaR.h:21
template<>
bool HLTDoubletDZ< reco::RecoChargedCandidate, reco::RecoChargedCandidate >::computeDZ ( edm::Event iEvent,
T1Ref r1,
T2Ref r2 
) const

Definition at line 398 of file HLTDoubletDZ.cc.

References funct::abs(), reco::deltaR(), HLTDoubletDZ< T1, T2 >::maxDZ_, HLTDoubletDZ< T1, T2 >::minDR_, HLTDoubletDZ< T1, T2 >::minPixHitsForDZ_, reco::RecoChargedCandidate::track(), and reco::LeafCandidate::vz().

399 {
400 
401  const reco::RecoChargedCandidate& candidate1(*r1);
402  const reco::RecoChargedCandidate& candidate2(*r2);
403  if ( reco::deltaR(candidate1, candidate2) < minDR_ )
404  return false;
405  bool skipDZ = false;
406  if ( minPixHitsForDZ_ > 0 &&
407  (candidate1.track()->hitPattern().numberOfValidPixelHits() < minPixHitsForDZ_
408  || candidate2.track()->hitPattern().numberOfValidPixelHits() < minPixHitsForDZ_) )
409  skipDZ = true;
410  if ( !skipDZ && std::abs(candidate1.vz()-candidate2.vz()) > maxDZ_ )
411  return false;
412 
413  return true;
414 }
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
auto deltaR(const T1 &t1, const T2 &t2) -> decltype(t1.eta())
Definition: deltaR.h:28
const int minPixHitsForDZ_
Definition: HLTDoubletDZ.h:56
const double maxDZ_
Definition: HLTDoubletDZ.h:55
const double minDR_
Definition: HLTDoubletDZ.h:54
template<typename T1 , typename T2 >
void HLTDoubletDZ< T1, T2 >::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 134 of file HLTDoubletDZ.cc.

References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::add(), defaultModuleLabel(), and HLTFilter::makeHLTFilterDescription().

134  {
137  std::vector<edm::InputTag> originTag1(1,edm::InputTag("hltOriginal1"));
138  std::vector<edm::InputTag> originTag2(1,edm::InputTag("hltOriginal2"));
139  desc.add<std::vector<edm::InputTag> >("originTag1",originTag1);
140  desc.add<std::vector<edm::InputTag> >("originTag2",originTag2);
141  desc.add<edm::InputTag>("inputTag1",edm::InputTag("hltFiltered1"));
142  desc.add<edm::InputTag>("inputTag2",edm::InputTag("hltFiltered2"));
143  desc.add<int>("triggerType1",0);
144  desc.add<int>("triggerType2",0);
145  desc.add<double>("MinDR",-1.0);
146  desc.add<double>("MaxDZ",0.2);
147  desc.add<int>("MinPixHitsForDZ",0);
148  desc.add<bool>("checkSC",false);
149  desc.add<int>("MinN",1);
150  descriptions.add(defaultModuleLabel<HLTDoubletDZ<T1,T2>>(), desc);
151 }
std::string defaultModuleLabel()
ParameterDescriptionBase * add(U const &iLabel, T const &value)
static void makeHLTFilterDescription(edm::ParameterSetDescription &desc)
Definition: HLTFilter.cc:29
void add(std::string const &label, ParameterSetDescription const &psetDescription)
template<>
void HLTDoubletDZ< reco::RecoEcalCandidate, reco::RecoEcalCandidate >::fillDescriptions ( edm::ConfigurationDescriptions descriptions)

Definition at line 155 of file HLTDoubletDZ.cc.

References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::add(), defaultModuleLabel(), and HLTFilter::makeHLTFilterDescription().

155  {
158  std::vector<edm::InputTag> originTag1(1,edm::InputTag("hltOriginal1"));
159  std::vector<edm::InputTag> originTag2(1,edm::InputTag("hltOriginal2"));
160  desc.add<std::vector<edm::InputTag> >("originTag1",originTag1);
161  desc.add<std::vector<edm::InputTag> >("originTag2",originTag2);
162  desc.add<edm::InputTag>("inputTag1",edm::InputTag("hltFiltered1"));
163  desc.add<edm::InputTag>("inputTag2",edm::InputTag("hltFiltered2"));
164  desc.add<edm::InputTag>("electronTag",edm::InputTag("electronTag"));
165  desc.add<int>("triggerType1",0);
166  desc.add<int>("triggerType2",0);
167  desc.add<double>("MinDR",-1.0);
168  desc.add<double>("MaxDZ",0.2);
169  desc.add<int>("MinPixHitsForDZ",0);
170  desc.add<bool>("checkSC",false);
171  desc.add<int>("MinN",1);
173 }
std::string defaultModuleLabel()
ParameterDescriptionBase * add(U const &iLabel, T const &value)
static void makeHLTFilterDescription(edm::ParameterSetDescription &desc)
Definition: HLTFilter.cc:29
void add(std::string const &label, ParameterSetDescription const &psetDescription)
template<>
void HLTDoubletDZ< reco::RecoChargedCandidate, reco::RecoEcalCandidate >::fillDescriptions ( edm::ConfigurationDescriptions descriptions)

Definition at line 177 of file HLTDoubletDZ.cc.

References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::add(), defaultModuleLabel(), and HLTFilter::makeHLTFilterDescription().

177  {
180  std::vector<edm::InputTag> originTag1(1,edm::InputTag("hltOriginal1"));
181  std::vector<edm::InputTag> originTag2(1,edm::InputTag("hltOriginal2"));
182  desc.add<std::vector<edm::InputTag> >("originTag1",originTag1);
183  desc.add<std::vector<edm::InputTag> >("originTag2",originTag2);
184  desc.add<edm::InputTag>("inputTag1",edm::InputTag("hltFiltered1"));
185  desc.add<edm::InputTag>("inputTag2",edm::InputTag("hltFiltered2"));
186  desc.add<edm::InputTag>("electronTag",edm::InputTag("electronTag"));
187  desc.add<int>("triggerType1",0);
188  desc.add<int>("triggerType2",0);
189  desc.add<double>("MinDR",-1.0);
190  desc.add<double>("MaxDZ",0.2);
191  desc.add<int>("MinPixHitsForDZ",0);
192  desc.add<bool>("checkSC",false);
193  desc.add<int>("MinN",1);
195 }
std::string defaultModuleLabel()
ParameterDescriptionBase * add(U const &iLabel, T const &value)
static void makeHLTFilterDescription(edm::ParameterSetDescription &desc)
Definition: HLTFilter.cc:29
void add(std::string const &label, ParameterSetDescription const &psetDescription)
template<>
void HLTDoubletDZ< reco::RecoEcalCandidate, reco::RecoChargedCandidate >::fillDescriptions ( edm::ConfigurationDescriptions descriptions)

Definition at line 199 of file HLTDoubletDZ.cc.

References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::add(), defaultModuleLabel(), and HLTFilter::makeHLTFilterDescription().

199  {
202  std::vector<edm::InputTag> originTag1(1,edm::InputTag("hltOriginal1"));
203  std::vector<edm::InputTag> originTag2(1,edm::InputTag("hltOriginal2"));
204  desc.add<std::vector<edm::InputTag> >("originTag1",originTag1);
205  desc.add<std::vector<edm::InputTag> >("originTag2",originTag2);
206  desc.add<edm::InputTag>("inputTag1",edm::InputTag("hltFiltered1"));
207  desc.add<edm::InputTag>("inputTag2",edm::InputTag("hltFiltered2"));
208  desc.add<edm::InputTag>("electronTag",edm::InputTag("electronTag"));
209  desc.add<int>("triggerType1",0);
210  desc.add<int>("triggerType2",0);
211  desc.add<double>("MinDR",-1.0);
212  desc.add<double>("MaxDZ",0.2);
213  desc.add<int>("MinPixHitsForDZ",0);
214  desc.add<bool>("checkSC",false);
215  desc.add<int>("MinN",1);
217 }
std::string defaultModuleLabel()
ParameterDescriptionBase * add(U const &iLabel, T const &value)
static void makeHLTFilterDescription(edm::ParameterSetDescription &desc)
Definition: HLTFilter.cc:29
void add(std::string const &label, ParameterSetDescription const &psetDescription)
template<>
void HLTDoubletDZ< reco::RecoChargedCandidate, reco::RecoChargedCandidate >::fillDescriptions ( edm::ConfigurationDescriptions descriptions)

Definition at line 221 of file HLTDoubletDZ.cc.

References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::add(), defaultModuleLabel(), and HLTFilter::makeHLTFilterDescription().

221  {
224  std::vector<edm::InputTag> originTag1(1,edm::InputTag("hltOriginal1"));
225  std::vector<edm::InputTag> originTag2(1,edm::InputTag("hltOriginal2"));
226  desc.add<std::vector<edm::InputTag> >("originTag1",originTag1);
227  desc.add<std::vector<edm::InputTag> >("originTag2",originTag2);
228  desc.add<edm::InputTag>("inputTag1",edm::InputTag("hltFiltered1"));
229  desc.add<edm::InputTag>("inputTag2",edm::InputTag("hltFiltered2"));
230  desc.add<int>("triggerType1",0);
231  desc.add<int>("triggerType2",0);
232  desc.add<double>("MinDR",-1.0);
233  desc.add<double>("MaxDZ",0.2);
234  desc.add<int>("MinPixHitsForDZ",0);
235  desc.add<bool>("checkSC",false);
236  desc.add<int>("MinN",1);
238 }
std::string defaultModuleLabel()
ParameterDescriptionBase * add(U const &iLabel, T const &value)
static void makeHLTFilterDescription(edm::ParameterSetDescription &desc)
Definition: HLTFilter.cc:29
void add(std::string const &label, ParameterSetDescription const &psetDescription)
template<typename T1 , typename T2 >
bool HLTDoubletDZ< T1, T2 >::getCollections ( edm::Event iEvent,
std::vector< T1Ref > &  coll1,
std::vector< T2Ref > &  coll2,
trigger::TriggerFilterObjectWithRefs filterproduct 
) const

Definition at line 243 of file HLTDoubletDZ.cc.

References trigger::TriggerFilterObjectWithRefs::addCollectionTag(), edm::InputTag::encode(), edm::Event::getByToken(), trigger::TriggerRefsCollections::getObjects(), edm::Event::getProvenance(), mps_fire::i, HLTDoubletDZ< T1, T2 >::inputToken1_, HLTDoubletDZ< T1, T2 >::inputToken2_, instance, diffTwoXMLs::label, edm::Provenance::moduleLabel(), HLTDoubletDZ< T1, T2 >::originTag1_, HLTDoubletDZ< T1, T2 >::originTag2_, sysUtil::pid, LaserDQM_cfg::process, edm::Provenance::processName(), edm::Provenance::productInstanceName(), HLTFilter::saveTags(), AlCaHLTBitMon_QueryRunRegistry::string, HLTDoubletDZ< T1, T2 >::triggerType1_, and HLTDoubletDZ< T1, T2 >::triggerType2_.

Referenced by HLTDoubletDZ< T1, T2 >::hltFilter().

243  {
244 
246  if (iEvent.getByToken(inputToken1_, handle1) and iEvent.getByToken(inputToken2_, handle2)) {
247 
248  // get hold of pre-filtered object collections
249  handle1->getObjects(triggerType1_, coll1);
250  handle2->getObjects(triggerType2_, coll2);
251  const trigger::size_type n1(coll1.size());
252  const trigger::size_type n2(coll2.size());
253 
254  if (saveTags()) {
255  edm::InputTag tagOld;
256  for (unsigned int i=0; i<originTag1_.size(); ++i) {
257  filterproduct.addCollectionTag(originTag1_[i]);
258  }
259  tagOld=edm::InputTag();
260  for (trigger::size_type i1=0; i1!=n1; ++i1) {
261  const edm::ProductID pid(coll1[i1].id());
262  const std::string& label(iEvent.getProvenance(pid).moduleLabel());
264  const std::string& process(iEvent.getProvenance(pid).processName());
266  if (tagOld.encode()!=tagNew.encode()) {
267  filterproduct.addCollectionTag(tagNew);
268  tagOld=tagNew;
269  }
270  }
271  for (unsigned int i=0; i<originTag2_.size(); ++i) {
272  filterproduct.addCollectionTag(originTag2_[i]);
273  }
274  tagOld=edm::InputTag();
275  for (trigger::size_type i2=0; i2!=n2; ++i2) {
276  const edm::ProductID pid(coll2[i2].id());
277  const std::string& label(iEvent.getProvenance(pid).moduleLabel());
279  const std::string& process(iEvent.getProvenance(pid).processName());
281  if (tagOld.encode()!=tagNew.encode()) {
282  filterproduct.addCollectionTag(tagNew);
283  tagOld=tagNew;
284  }
285  }
286  }
287 
288  return true;
289  } else
290  return false;
291 }
const int triggerType1_
Definition: HLTDoubletDZ.h:52
void getObjects(Vids &ids, VRphoton &refs) const
various physics-level getters:
const edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > inputToken1_
Definition: HLTDoubletDZ.h:49
const int triggerType2_
Definition: HLTDoubletDZ.h:53
const std::vector< edm::InputTag > originTag1_
Definition: HLTDoubletDZ.h:45
const edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > inputToken2_
Definition: HLTDoubletDZ.h:50
const std::vector< edm::InputTag > originTag2_
Definition: HLTDoubletDZ.h:46
static PFTauRenderPlugin instance
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:460
std::string const & processName() const
Definition: Provenance.h:52
uint16_t size_type
std::string encode() const
Definition: InputTag.cc:165
void addCollectionTag(const edm::InputTag &collectionTag)
collectionTags
std::string const & moduleLabel() const
Definition: Provenance.h:50
bool saveTags() const
Definition: HLTFilter.h:45
std::string const & productInstanceName() const
Definition: Provenance.h:53
Provenance getProvenance(BranchID const &theID) const
Definition: Event.cc:81
template<typename T1 , typename T2 >
bool HLTDoubletDZ< T1, T2 >::hltFilter ( edm::Event iEvent,
const edm::EventSetup iSetup,
trigger::TriggerFilterObjectWithRefs filterproduct 
) const
overridevirtual

Implements HLTFilter.

Definition at line 419 of file HLTDoubletDZ.cc.

References accept(), trigger::TriggerRefsCollections::addObject(), HLTDoubletDZ< T1, T2 >::checkSC_, HLTDoubletDZ< T1, T2 >::computeDZ(), HLTDoubletDZ< T1, T2 >::getCollections(), Exhume::I, edm::Ref< C, T, F >::isNonnull(), HLTDoubletDZ< T1, T2 >::min_N_, gen::n, diffTwoXMLs::r1, diffTwoXMLs::r2, HLTDoubletDZ< T1, T2 >::same_, HLTDoubletDZ< T1, T2 >::triggerType1_, and HLTDoubletDZ< T1, T2 >::triggerType2_.

420 {
421 
422  // All HLT filters must create and fill an HLT filter object,
423  // recording any reconstructed physics objects satisfying (or not)
424  // this HLT filter, and place it in the Event.
425  bool accept(false);
426 
427  std::vector<T1Ref> coll1;
428  std::vector<T2Ref> coll2;
429 
430  if (getCollections(iEvent, coll1, coll2, filterproduct)) {
431  int n(0);
432  T1Ref r1;
433  T2Ref r2;
434 
435  for (unsigned int i1=0; i1!=coll1.size(); i1++) {
436  r1=coll1[i1];
437  //const reco::Candidate& candidate1(*r1);
438  unsigned int I(0);
439  if (same_) {I=i1+1;}
440  for (unsigned int i2=I; i2!=coll2.size(); i2++) {
441  r2=coll2[i2];
442  if (checkSC_) {
443  if (r1->superCluster().isNonnull() && r2->superCluster().isNonnull()) {
444  if (r1->superCluster() == r2->superCluster()) continue;
445  }
446  }
447 
448  if (!computeDZ(iEvent, r1, r2))
449  continue;
450 
451  n++;
452  filterproduct.addObject(triggerType1_,r1);
453  filterproduct.addObject(triggerType2_,r2);
454  }
455  }
456 
457  accept = accept || (n>=min_N_);
458  }
459 
460  return accept;
461 }
const int triggerType1_
Definition: HLTDoubletDZ.h:52
const int triggerType2_
Definition: HLTDoubletDZ.h:53
const bool same_
Definition: HLTDoubletDZ.h:59
bool accept(const edm::Event &event, const edm::TriggerResults &triggerTable, const std::string &triggerPath)
Definition: TopDQMHelpers.h:30
bool getCollections(edm::Event &iEvent, std::vector< T1Ref > &coll1, std::vector< T2Ref > &coll2, trigger::TriggerFilterObjectWithRefs &filterproduct) const
void addObject(int id, const reco::RecoEcalCandidateRef &ref)
setters for L3 collections: (id=physics type, and Ref<C>)
bool computeDZ(edm::Event &iEvent, T1Ref &c1, T2Ref &c2) const
const std::complex< double > I
Definition: I.h:8
const int min_N_
Definition: HLTDoubletDZ.h:57
edm::Ref< T2Collection > T2Ref
Definition: HLTDoubletDZ.h:32
edm::Ref< T1Collection > T1Ref
Definition: HLTDoubletDZ.h:30
const bool checkSC_
Definition: HLTDoubletDZ.h:58

Member Data Documentation

template<typename T1 , typename T2 >
const bool HLTDoubletDZ< T1, T2 >::checkSC_
private

Definition at line 58 of file HLTDoubletDZ.h.

Referenced by HLTDoubletDZ< T1, T2 >::hltFilter().

template<typename T1 , typename T2 >
edm::EDGetTokenT<reco::ElectronCollection> HLTDoubletDZ< T1, T2 >::electronToken_
private

Definition at line 51 of file HLTDoubletDZ.h.

Referenced by HLTDoubletDZ< T1, T2 >::computeDZ().

template<typename T1 , typename T2 >
const edm::InputTag HLTDoubletDZ< T1, T2 >::inputTag1_
private

Definition at line 47 of file HLTDoubletDZ.h.

template<typename T1 , typename T2 >
const edm::InputTag HLTDoubletDZ< T1, T2 >::inputTag2_
private

Definition at line 48 of file HLTDoubletDZ.h.

template<typename T1 , typename T2 >
const edm::EDGetTokenT<trigger::TriggerFilterObjectWithRefs> HLTDoubletDZ< T1, T2 >::inputToken1_
private

Definition at line 49 of file HLTDoubletDZ.h.

Referenced by HLTDoubletDZ< T1, T2 >::getCollections().

template<typename T1 , typename T2 >
const edm::EDGetTokenT<trigger::TriggerFilterObjectWithRefs> HLTDoubletDZ< T1, T2 >::inputToken2_
private

Definition at line 50 of file HLTDoubletDZ.h.

Referenced by HLTDoubletDZ< T1, T2 >::getCollections().

template<typename T1 , typename T2 >
const double HLTDoubletDZ< T1, T2 >::maxDZ_
private

Definition at line 55 of file HLTDoubletDZ.h.

Referenced by HLTDoubletDZ< T1, T2 >::computeDZ().

template<typename T1 , typename T2 >
const int HLTDoubletDZ< T1, T2 >::min_N_
private

Definition at line 57 of file HLTDoubletDZ.h.

Referenced by HLTDoubletDZ< T1, T2 >::hltFilter().

template<typename T1 , typename T2 >
const double HLTDoubletDZ< T1, T2 >::minDR_
private

Definition at line 54 of file HLTDoubletDZ.h.

Referenced by HLTDoubletDZ< T1, T2 >::computeDZ().

template<typename T1 , typename T2 >
const int HLTDoubletDZ< T1, T2 >::minPixHitsForDZ_
private

Definition at line 56 of file HLTDoubletDZ.h.

Referenced by HLTDoubletDZ< T1, T2 >::computeDZ().

template<typename T1 , typename T2 >
const std::vector<edm::InputTag> HLTDoubletDZ< T1, T2 >::originTag1_
private

Definition at line 45 of file HLTDoubletDZ.h.

Referenced by HLTDoubletDZ< T1, T2 >::getCollections().

template<typename T1 , typename T2 >
const std::vector<edm::InputTag> HLTDoubletDZ< T1, T2 >::originTag2_
private

Definition at line 46 of file HLTDoubletDZ.h.

Referenced by HLTDoubletDZ< T1, T2 >::getCollections().

template<typename T1 , typename T2 >
const bool HLTDoubletDZ< T1, T2 >::same_
private

Definition at line 59 of file HLTDoubletDZ.h.

Referenced by HLTDoubletDZ< T1, T2 >::hltFilter().

template<typename T1 , typename T2 >
const int HLTDoubletDZ< T1, T2 >::triggerType1_
private
template<typename T1 , typename T2 >
const int HLTDoubletDZ< T1, T2 >::triggerType2_
private