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

template<>
bool computeDZ (edm::Event &iEvent, l1t::HPSPFTauRef &r1, l1t::HPSPFTauRef &r2) const
 
template<>
bool computeDZ (edm::Event &iEvent, l1t::TkMuonRef &r1, l1t::TkMuonRef &r2) const
 
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)
 
template<>
 HLTDoubletDZ (const edm::ParameterSet &iConfig)
 
bool hltFilter (edm::Event &, const edm::EventSetup &, trigger::TriggerFilterObjectWithRefs &filterproduct) const override
 
template<>
bool hltFilter (edm::Event &iEvent, const edm::EventSetup &iSetup, trigger::TriggerFilterObjectWithRefs &filterproduct) const
 
template<>
bool hltFilter (edm::Event &iEvent, const edm::EventSetup &iSetup, trigger::TriggerFilterObjectWithRefs &filterproduct) const
 
template<>
bool hltFilter (edm::Event &iEvent, const edm::EventSetup &iSetup, trigger::TriggerFilterObjectWithRefs &filterproduct) const
 
 ~HLTDoubletDZ () override
 
- 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
 
 ~HLTFilter () override
 
- Public Member Functions inherited from edm::global::EDFilter<>
 EDFilter ()=default
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
bool wantsStreamLuminosityBlocks () const final
 
bool wantsStreamRuns () const final
 
- Public Member Functions inherited from edm::global::EDFilterBase
 EDFilterBase ()
 
ModuleDescription const & moduleDescription () const
 
 ~EDFilterBase () override
 
- 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 ()
 
std::vector< edm::ProductResolverIndex > const & putTokenIndexToProductResolverIndex () const
 
std::vector< bool > const & recordProvenanceList () const
 
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, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel)
 
TypeLabelList const & typeLabelList () const
 used by the fwk to register the list of products of this module More...
 
 ~ProducerBase () noexcept(false) override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase &&)=default
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
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
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
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
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex > >
 
typedef ProductRegistryHelper::TypeLabelList TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Protected Member Functions inherited from edm::ProducerBase
template<class ProductType >
BranchAliasSetterT< ProductType > produces ()
 declare what type of product will make and with which optional label More...
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces ()
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces ()
 
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<BranchType B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<Transition B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<class ProductType >
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
ProducesCollector producesCollector ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (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 ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (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

◆ T1Collection

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

Definition at line 28 of file HLTDoubletDZ.h.

◆ T1Ref

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

Definition at line 29 of file HLTDoubletDZ.h.

◆ T2Collection

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

Definition at line 30 of file HLTDoubletDZ.h.

◆ T2Ref

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

Definition at line 31 of file HLTDoubletDZ.h.

Constructor & Destructor Documentation

◆ HLTDoubletDZ() [1/6]

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

Definition at line 34 of file HLTDoubletDZ.cc.

35  : HLTFilter(iConfig),
36  originTag1_(iConfig.template getParameter<std::vector<edm::InputTag>>("originTag1")),
37  originTag2_(iConfig.template getParameter<std::vector<edm::InputTag>>("originTag2")),
38  inputTag1_(iConfig.template getParameter<edm::InputTag>("inputTag1")),
39  inputTag2_(iConfig.template getParameter<edm::InputTag>("inputTag2")),
40  inputToken1_(consumes<trigger::TriggerFilterObjectWithRefs>(inputTag1_)),
41  inputToken2_(consumes<trigger::TriggerFilterObjectWithRefs>(inputTag2_)),
42  //electronToken_ (consumes<reco::ElectronCollection>(iConfig.template getParameter<edm::InputTag>("electronTag"))),
43  triggerType1_(iConfig.template getParameter<int>("triggerType1")),
44  triggerType2_(iConfig.template getParameter<int>("triggerType2")),
45  minDR_(iConfig.template getParameter<double>("MinDR")),
46  maxDZ_(iConfig.template getParameter<double>("MaxDZ")),
47  minPixHitsForDZ_(iConfig.template getParameter<int>("MinPixHitsForDZ")),
48  min_N_(iConfig.template getParameter<int>("MinN")),
49  checkSC_(iConfig.template getParameter<bool>("checkSC")),
50  same_(inputTag1_.encode() == inputTag2_.encode()) // same collections to be compared?
51 {}

◆ ~HLTDoubletDZ()

template<typename T1 , typename T2 >
HLTDoubletDZ< T1, T2 >::~HLTDoubletDZ ( )
override

Definition at line 153 of file HLTDoubletDZ.cc.

153 {}

◆ HLTDoubletDZ() [2/6]

Definition at line 54 of file HLTDoubletDZ.cc.

55  : HLTFilter(iConfig),
56  originTag1_(iConfig.template getParameter<std::vector<edm::InputTag>>("originTag1")),
57  originTag2_(iConfig.template getParameter<std::vector<edm::InputTag>>("originTag2")),
58  inputTag1_(iConfig.template getParameter<edm::InputTag>("inputTag1")),
59  inputTag2_(iConfig.template getParameter<edm::InputTag>("inputTag2")),
60  inputToken1_(consumes<trigger::TriggerFilterObjectWithRefs>(inputTag1_)),
61  inputToken2_(consumes<trigger::TriggerFilterObjectWithRefs>(inputTag2_)),
62  electronToken_(consumes<reco::ElectronCollection>(iConfig.template getParameter<edm::InputTag>("electronTag"))),
63  triggerType1_(iConfig.template getParameter<int>("triggerType1")),
64  triggerType2_(iConfig.template getParameter<int>("triggerType2")),
65  minDR_(iConfig.template getParameter<double>("MinDR")),
66  maxDZ_(iConfig.template getParameter<double>("MaxDZ")),
67  minPixHitsForDZ_(iConfig.template getParameter<int>("MinPixHitsForDZ")),
68  min_N_(iConfig.template getParameter<int>("MinN")),
69  checkSC_(iConfig.template getParameter<bool>("checkSC")),
70  same_(inputTag1_.encode() == inputTag2_.encode()) // same collections to be compared?
71 {}

◆ HLTDoubletDZ() [3/6]

Definition at line 74 of file HLTDoubletDZ.cc.

75  : HLTFilter(iConfig),
76  originTag1_(iConfig.template getParameter<std::vector<edm::InputTag>>("originTag1")),
77  originTag2_(iConfig.template getParameter<std::vector<edm::InputTag>>("originTag2")),
78  inputTag1_(iConfig.template getParameter<edm::InputTag>("inputTag1")),
79  inputTag2_(iConfig.template getParameter<edm::InputTag>("inputTag2")),
80  inputToken1_(consumes<trigger::TriggerFilterObjectWithRefs>(inputTag1_)),
81  inputToken2_(consumes<trigger::TriggerFilterObjectWithRefs>(inputTag2_)),
82  electronToken_(consumes<reco::ElectronCollection>(iConfig.template getParameter<edm::InputTag>("electronTag"))),
83  triggerType1_(iConfig.template getParameter<int>("triggerType1")),
84  triggerType2_(iConfig.template getParameter<int>("triggerType2")),
85  minDR_(iConfig.template getParameter<double>("MinDR")),
86  maxDZ_(iConfig.template getParameter<double>("MaxDZ")),
87  minPixHitsForDZ_(iConfig.template getParameter<int>("MinPixHitsForDZ")),
88  min_N_(iConfig.template getParameter<int>("MinN")),
89  checkSC_(iConfig.template getParameter<bool>("checkSC")),
90  same_(inputTag1_.encode() == inputTag2_.encode()) // same collections to be compared?
91 {}

◆ HLTDoubletDZ() [4/6]

Definition at line 94 of file HLTDoubletDZ.cc.

95  : HLTFilter(iConfig),
96  originTag1_(iConfig.template getParameter<std::vector<edm::InputTag>>("originTag1")),
97  originTag2_(iConfig.template getParameter<std::vector<edm::InputTag>>("originTag2")),
98  inputTag1_(iConfig.template getParameter<edm::InputTag>("inputTag1")),
99  inputTag2_(iConfig.template getParameter<edm::InputTag>("inputTag2")),
100  inputToken1_(consumes<trigger::TriggerFilterObjectWithRefs>(inputTag1_)),
101  inputToken2_(consumes<trigger::TriggerFilterObjectWithRefs>(inputTag2_)),
102  electronToken_(consumes<reco::ElectronCollection>(iConfig.template getParameter<edm::InputTag>("electronTag"))),
103  triggerType1_(iConfig.template getParameter<int>("triggerType1")),
104  triggerType2_(iConfig.template getParameter<int>("triggerType2")),
105  minDR_(iConfig.template getParameter<double>("MinDR")),
106  maxDZ_(iConfig.template getParameter<double>("MaxDZ")),
107  minPixHitsForDZ_(iConfig.template getParameter<int>("MinPixHitsForDZ")),
108  min_N_(iConfig.template getParameter<int>("MinN")),
109  checkSC_(iConfig.template getParameter<bool>("checkSC")),
110  same_(inputTag1_.encode() == inputTag2_.encode()) // same collections to be compared?
111 {}

◆ HLTDoubletDZ() [5/6]

Definition at line 114 of file HLTDoubletDZ.cc.

115  : HLTFilter(iConfig),
116  originTag1_(iConfig.template getParameter<std::vector<edm::InputTag>>("originTag1")),
117  originTag2_(iConfig.template getParameter<std::vector<edm::InputTag>>("originTag2")),
118  inputTag1_(iConfig.template getParameter<edm::InputTag>("inputTag1")),
119  inputTag2_(iConfig.template getParameter<edm::InputTag>("inputTag2")),
120  inputToken1_(consumes<trigger::TriggerFilterObjectWithRefs>(inputTag1_)),
121  inputToken2_(consumes<trigger::TriggerFilterObjectWithRefs>(inputTag2_)),
122  //electronToken_ (consumes<reco::ElectronCollection>(iConfig.template getParameter<edm::InputTag>("electronTag"))),
123  triggerType1_(iConfig.template getParameter<int>("triggerType1")),
124  triggerType2_(iConfig.template getParameter<int>("triggerType2")),
125  minDR_(iConfig.template getParameter<double>("MinDR")),
126  maxDZ_(iConfig.template getParameter<double>("MaxDZ")),
127  minPixHitsForDZ_(iConfig.template getParameter<int>("MinPixHitsForDZ")),
128  min_N_(iConfig.template getParameter<int>("MinN")),
129  checkSC_(iConfig.template getParameter<bool>("checkSC")),
130  same_(inputTag1_.encode() == inputTag2_.encode()) // same collections to be compared?
131 {}

◆ HLTDoubletDZ() [6/6]

template<>
HLTDoubletDZ< l1t::TkMuon, l1t::TkMuon >::HLTDoubletDZ ( const edm::ParameterSet iConfig)

Definition at line 134 of file HLTDoubletDZ.cc.

135  : HLTFilter(iConfig),
136  originTag1_(iConfig.template getParameter<std::vector<edm::InputTag>>("originTag1")),
137  originTag2_(iConfig.template getParameter<std::vector<edm::InputTag>>("originTag2")),
138  inputTag1_(iConfig.template getParameter<edm::InputTag>("inputTag1")),
139  inputTag2_(iConfig.template getParameter<edm::InputTag>("inputTag2")),
140  inputToken1_(consumes<trigger::TriggerFilterObjectWithRefs>(inputTag1_)),
141  inputToken2_(consumes<trigger::TriggerFilterObjectWithRefs>(inputTag2_)),
142  triggerType1_(iConfig.template getParameter<int>("triggerType1")),
143  triggerType2_(iConfig.template getParameter<int>("triggerType2")),
144  minDR_(iConfig.template getParameter<double>("MinDR")),
145  maxDZ_(iConfig.template getParameter<double>("MaxDZ")),
146  minPixHitsForDZ_(iConfig.template getParameter<int>("MinPixHitsForDZ")),
147  min_N_(iConfig.template getParameter<int>("MinN")),
148  checkSC_(iConfig.template getParameter<bool>("checkSC")),
149  same_(inputTag1_.encode() == inputTag2_.encode()) // same collections to be compared?
150 {}

Member Function Documentation

◆ computeDZ() [1/7]

template<>
bool HLTDoubletDZ< l1t::HPSPFTau, l1t::HPSPFTau >::computeDZ ( edm::Event iEvent,
l1t::HPSPFTauRef r1,
l1t::HPSPFTauRef r2 
) const

Definition at line 449 of file HLTDoubletDZ.cc.

451  {
452  const l1t::HPSPFTau& candidate1(*r1);
453  const l1t::HPSPFTau& candidate2(*r2);
454  if (reco::deltaR(candidate1, candidate2) < minDR_)
455  return false;
456 
457  // We don't care about minPixHitsForDZ_ with the L1HPSPFTaus,
458  // especially because the pixel does not participate in the L1T
459  if (std::abs(candidate1.leadChargedPFCand()->pfTrack()->vertex().z() -
460  candidate2.leadChargedPFCand()->pfTrack()->vertex().z()) > maxDZ_)
461  return false;
462 
463  return true;
464 }

References funct::abs(), reco::deltaR(), l1t::HPSPFTau::leadChargedPFCand(), diffTwoXMLs::r1, and diffTwoXMLs::r2.

◆ computeDZ() [2/7]

template<>
bool HLTDoubletDZ< l1t::TkMuon, l1t::TkMuon >::computeDZ ( edm::Event iEvent,
l1t::TkMuonRef r1,
l1t::TkMuonRef r2 
) const

Definition at line 432 of file HLTDoubletDZ.cc.

434  {
435  const l1t::TkMuon& candidate1(*r1);
436  const l1t::TkMuon& candidate2(*r2);
437  if (reco::deltaR(candidate1, candidate2) < minDR_)
438  return false;
439 
440  // We don't care about minPixHitsForDZ_ with the L1TkMuons,
441  // especially because the pixel does not participate in the L1T
442  if (std::abs(candidate1.trkzVtx() - candidate2.trkzVtx()) > maxDZ_)
443  return false;
444 
445  return true;
446 }

References funct::abs(), reco::deltaR(), diffTwoXMLs::r1, diffTwoXMLs::r2, and l1t::TkMuon::trkzVtx().

◆ computeDZ() [3/7]

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

Definition at line 317 of file HLTDoubletDZ.cc.

317  {
318  const reco::Candidate& candidate1(*r1);
319  const reco::Candidate& candidate2(*r2);
320  if (reco::deltaR(candidate1, candidate2) < minDR_)
321  return false;
322  if (std::abs(candidate1.vz() - candidate2.vz()) > maxDZ_)
323  return false;
324 
325  return true;
326 }

References funct::abs(), reco::deltaR(), diffTwoXMLs::r1, diffTwoXMLs::r2, and reco::Candidate::vz().

◆ computeDZ() [4/7]

template<>
bool HLTDoubletDZ< reco::RecoEcalCandidate, reco::RecoChargedCandidate >::computeDZ ( edm::Event iEvent,
T1Ref r1,
T2Ref r2 
) const

Definition at line 329 of file HLTDoubletDZ.cc.

331  {
333  iEvent.getByToken(electronToken_, electronHandle_);
334  if (!electronHandle_.isValid())
335  edm::LogError("HLTDoubletDZ") << "HLTDoubletDZ: Electron Handle not valid.";
336 
337  if (reco::deltaR(*r1, *r2) < minDR_)
338  return false;
340  for (auto const& eleIt : *electronHandle_) {
341  if (eleIt.superCluster() == r1->superCluster())
342  e1 = eleIt;
343  }
344 
345  const reco::RecoChargedCandidate& candidate2(*r2);
346  bool skipDZ = false;
347  if (minPixHitsForDZ_ > 0 && (e1.gsfTrack()->hitPattern().numberOfValidPixelHits() < minPixHitsForDZ_ ||
348  candidate2.track()->hitPattern().numberOfValidPixelHits() < minPixHitsForDZ_))
349  skipDZ = true;
350  if (!skipDZ && std::abs(e1.vz() - candidate2.vz()) > maxDZ_)
351  return false;
352 
353  return true;
354 }

References funct::abs(), reco::deltaR(), StorageManager_cfg::e1, iEvent, edm::HandleBase::isValid(), diffTwoXMLs::r1, diffTwoXMLs::r2, reco::RecoChargedCandidate::track(), and reco::LeafCandidate::vz().

◆ computeDZ() [5/7]

template<>
bool HLTDoubletDZ< reco::RecoChargedCandidate, reco::RecoEcalCandidate >::computeDZ ( edm::Event iEvent,
T1Ref r1,
T2Ref r2 
) const

Definition at line 357 of file HLTDoubletDZ.cc.

359  {
361  iEvent.getByToken(electronToken_, electronHandle_);
362  if (!electronHandle_.isValid())
363  edm::LogError("HLTDoubletDZ") << "HLTDoubletDZ: Electron Handle not valid.";
364 
365  if (reco::deltaR(*r1, *r2) < minDR_)
366  return false;
367  reco::Electron e2;
368  for (auto const& eleIt : *electronHandle_) {
369  if (eleIt.superCluster() == r2->superCluster())
370  e2 = eleIt;
371  }
372 
373  const reco::RecoChargedCandidate& candidate1(*r1);
374  bool skipDZ = false;
375  if (minPixHitsForDZ_ > 0 && (candidate1.track()->hitPattern().numberOfValidPixelHits() < minPixHitsForDZ_ ||
376  e2.gsfTrack()->hitPattern().numberOfValidPixelHits() < minPixHitsForDZ_))
377  skipDZ = true;
378  if (!skipDZ && std::abs(e2.vz() - candidate1.vz()) > maxDZ_)
379  return false;
380 
381  return true;
382 }

References funct::abs(), reco::deltaR(), reco::Electron::gsfTrack(), iEvent, edm::HandleBase::isValid(), diffTwoXMLs::r1, diffTwoXMLs::r2, reco::RecoChargedCandidate::track(), and reco::LeafCandidate::vz().

◆ computeDZ() [6/7]

template<>
bool HLTDoubletDZ< reco::RecoEcalCandidate, reco::RecoEcalCandidate >::computeDZ ( edm::Event iEvent,
T1Ref r1,
T2Ref r2 
) const

Definition at line 385 of file HLTDoubletDZ.cc.

387  {
389  iEvent.getByToken(electronToken_, electronHandle_);
390  if (!electronHandle_.isValid())
391  edm::LogError("HLTDoubletDZ") << "HLTDoubletDZ: Electron Handle not valid.";
392 
393  if (reco::deltaR(*r1, *r2) < minDR_)
394  return false;
395  reco::Electron e1, e2;
396  for (auto const& eleIt : *electronHandle_) {
397  if (eleIt.superCluster() == r2->superCluster())
398  e2 = eleIt;
399  if (eleIt.superCluster() == r1->superCluster())
400  e1 = eleIt;
401  }
402 
403  bool skipDZ = false;
404  if (minPixHitsForDZ_ > 0 && (e1.gsfTrack()->hitPattern().numberOfValidPixelHits() < minPixHitsForDZ_ ||
405  e2.gsfTrack()->hitPattern().numberOfValidPixelHits() < minPixHitsForDZ_))
406  skipDZ = true;
407  if (!skipDZ && std::abs(e2.vz() - e1.vz()) > maxDZ_)
408  return false;
409 
410  return true;
411 }

References funct::abs(), reco::deltaR(), StorageManager_cfg::e1, reco::Electron::gsfTrack(), iEvent, edm::HandleBase::isValid(), diffTwoXMLs::r1, diffTwoXMLs::r2, and reco::LeafCandidate::vz().

◆ computeDZ() [7/7]

template<>
bool HLTDoubletDZ< reco::RecoChargedCandidate, reco::RecoChargedCandidate >::computeDZ ( edm::Event iEvent,
T1Ref r1,
T2Ref r2 
) const

Definition at line 414 of file HLTDoubletDZ.cc.

416  {
417  const reco::RecoChargedCandidate& candidate1(*r1);
418  const reco::RecoChargedCandidate& candidate2(*r2);
419  if (reco::deltaR(candidate1, candidate2) < minDR_)
420  return false;
421  bool skipDZ = false;
422  if (minPixHitsForDZ_ > 0 && (candidate1.track()->hitPattern().numberOfValidPixelHits() < minPixHitsForDZ_ ||
423  candidate2.track()->hitPattern().numberOfValidPixelHits() < minPixHitsForDZ_))
424  skipDZ = true;
425  if (!skipDZ && std::abs(candidate1.vz() - candidate2.vz()) > maxDZ_)
426  return false;
427 
428  return true;
429 }

References funct::abs(), reco::deltaR(), diffTwoXMLs::r1, diffTwoXMLs::r2, reco::RecoChargedCandidate::track(), and reco::LeafCandidate::vz().

◆ fillDescriptions() [1/5]

template<typename T1 , typename T2 >
void HLTDoubletDZ< T1, T2 >::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 156 of file HLTDoubletDZ.cc.

156  {
159  std::vector<edm::InputTag> originTag1(1, edm::InputTag("hltOriginal1"));
160  std::vector<edm::InputTag> originTag2(1, edm::InputTag("hltOriginal2"));
161  desc.add<std::vector<edm::InputTag>>("originTag1", originTag1);
162  desc.add<std::vector<edm::InputTag>>("originTag2", originTag2);
163  desc.add<edm::InputTag>("inputTag1", edm::InputTag("hltFiltered1"));
164  desc.add<edm::InputTag>("inputTag2", edm::InputTag("hltFiltered2"));
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);
172  descriptions.add(defaultModuleLabel<HLTDoubletDZ<T1, T2>>(), desc);
173 }

References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::add(), defaultModuleLabel(), HLT_2018_cff::InputTag, HLT_2018_cff::originTag1, and HLT_2018_cff::originTag2.

◆ fillDescriptions() [2/5]

template<>
void HLTDoubletDZ< reco::RecoEcalCandidate, reco::RecoEcalCandidate >::fillDescriptions ( edm::ConfigurationDescriptions descriptions)

Definition at line 176 of file HLTDoubletDZ.cc.

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 }

References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::add(), defaultModuleLabel(), HLT_2018_cff::InputTag, HLT_2018_cff::originTag1, and HLT_2018_cff::originTag2.

◆ fillDescriptions() [3/5]

template<>
void HLTDoubletDZ< reco::RecoChargedCandidate, reco::RecoEcalCandidate >::fillDescriptions ( edm::ConfigurationDescriptions descriptions)

Definition at line 198 of file HLTDoubletDZ.cc.

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 }

References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::add(), defaultModuleLabel(), HLT_2018_cff::InputTag, HLT_2018_cff::originTag1, and HLT_2018_cff::originTag2.

◆ fillDescriptions() [4/5]

template<>
void HLTDoubletDZ< reco::RecoEcalCandidate, reco::RecoChargedCandidate >::fillDescriptions ( edm::ConfigurationDescriptions descriptions)

Definition at line 220 of file HLTDoubletDZ.cc.

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<edm::InputTag>("electronTag", edm::InputTag("electronTag"));
231  desc.add<int>("triggerType1", 0);
232  desc.add<int>("triggerType2", 0);
233  desc.add<double>("MinDR", -1.0);
234  desc.add<double>("MaxDZ", 0.2);
235  desc.add<int>("MinPixHitsForDZ", 0);
236  desc.add<bool>("checkSC", false);
237  desc.add<int>("MinN", 1);
239 }

References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::add(), defaultModuleLabel(), HLT_2018_cff::InputTag, HLT_2018_cff::originTag1, and HLT_2018_cff::originTag2.

◆ fillDescriptions() [5/5]

template<>
void HLTDoubletDZ< reco::RecoChargedCandidate, reco::RecoChargedCandidate >::fillDescriptions ( edm::ConfigurationDescriptions descriptions)

Definition at line 242 of file HLTDoubletDZ.cc.

243  {
246  std::vector<edm::InputTag> originTag1(1, edm::InputTag("hltOriginal1"));
247  std::vector<edm::InputTag> originTag2(1, edm::InputTag("hltOriginal2"));
248  desc.add<std::vector<edm::InputTag>>("originTag1", originTag1);
249  desc.add<std::vector<edm::InputTag>>("originTag2", originTag2);
250  desc.add<edm::InputTag>("inputTag1", edm::InputTag("hltFiltered1"));
251  desc.add<edm::InputTag>("inputTag2", edm::InputTag("hltFiltered2"));
252  desc.add<int>("triggerType1", 0);
253  desc.add<int>("triggerType2", 0);
254  desc.add<double>("MinDR", -1.0);
255  desc.add<double>("MaxDZ", 0.2);
256  desc.add<int>("MinPixHitsForDZ", 0);
257  desc.add<bool>("checkSC", false);
258  desc.add<int>("MinN", 1);
260 }

References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::add(), defaultModuleLabel(), HLT_2018_cff::InputTag, HLT_2018_cff::originTag1, and HLT_2018_cff::originTag2.

◆ getCollections()

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 265 of file HLTDoubletDZ.cc.

268  {
270  if (iEvent.getByToken(inputToken1_, handle1) and iEvent.getByToken(inputToken2_, handle2)) {
271  // get hold of pre-filtered object collections
272  handle1->getObjects(triggerType1_, coll1);
273  handle2->getObjects(triggerType2_, coll2);
274  const trigger::size_type n1(coll1.size());
275  const trigger::size_type n2(coll2.size());
276 
277  if (saveTags()) {
278  edm::InputTag tagOld;
279  for (unsigned int i = 0; i < originTag1_.size(); ++i) {
280  filterproduct.addCollectionTag(originTag1_[i]);
281  }
282  tagOld = edm::InputTag();
283  for (trigger::size_type i1 = 0; i1 != n1; ++i1) {
284  const edm::ProductID pid(coll1[i1].id());
285  const std::string& label(iEvent.getProvenance(pid).moduleLabel());
286  const std::string& instance(iEvent.getProvenance(pid).productInstanceName());
287  const std::string& process(iEvent.getProvenance(pid).processName());
289  if (tagOld.encode() != tagNew.encode()) {
290  filterproduct.addCollectionTag(tagNew);
291  tagOld = tagNew;
292  }
293  }
294  for (unsigned int i = 0; i < originTag2_.size(); ++i) {
295  filterproduct.addCollectionTag(originTag2_[i]);
296  }
297  tagOld = edm::InputTag();
298  for (trigger::size_type i2 = 0; i2 != n2; ++i2) {
299  const edm::ProductID pid(coll2[i2].id());
300  const std::string& label(iEvent.getProvenance(pid).moduleLabel());
301  const std::string& instance(iEvent.getProvenance(pid).productInstanceName());
302  const std::string& process(iEvent.getProvenance(pid).processName());
304  if (tagOld.encode() != tagNew.encode()) {
305  filterproduct.addCollectionTag(tagNew);
306  tagOld = tagNew;
307  }
308  }
309  }
310 
311  return true;
312  } else
313  return false;
314 }

References trigger::TriggerFilterObjectWithRefs::addCollectionTag(), edm::InputTag::encode(), trigger::TriggerRefsCollections::getObjects(), mps_fire::i, testProducerWithPsetDescEmpty_cfi::i1, testProducerWithPsetDescEmpty_cfi::i2, iEvent, HLT_2018_cff::InputTag, instance, label, LaserDQM_cfg::process, BeamBkgSkim_cff::saveTags, and AlCaHLTBitMon_QueryRunRegistry::string.

◆ hltFilter() [1/4]

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 468 of file HLTDoubletDZ.cc.

470  {
471  // All HLT filters must create and fill an HLT filter object,
472  // recording any reconstructed physics objects satisfying (or not)
473  // this HLT filter, and place it in the Event.
474  bool accept(false);
475 
476  std::vector<T1Ref> coll1;
477  std::vector<T2Ref> coll2;
478 
479  if (getCollections(iEvent, coll1, coll2, filterproduct)) {
480  int n(0);
481  T1Ref r1;
482  T2Ref r2;
483 
484  for (unsigned int i1 = 0; i1 != coll1.size(); i1++) {
485  r1 = coll1[i1];
486  //const reco::Candidate& candidate1(*r1);
487  unsigned int I(0);
488  if (same_) {
489  I = i1 + 1;
490  }
491  for (unsigned int i2 = I; i2 != coll2.size(); i2++) {
492  r2 = coll2[i2];
493  if (checkSC_) {
494  if (r1->superCluster().isNonnull() && r2->superCluster().isNonnull()) {
495  if (r1->superCluster() == r2->superCluster())
496  continue;
497  }
498  }
499 
500  if (!computeDZ(iEvent, r1, r2))
501  continue;
502 
503  n++;
504  filterproduct.addObject(triggerType1_, r1);
505  filterproduct.addObject(triggerType2_, r2);
506  }
507  }
508 
509  accept = accept || (n >= min_N_);
510  }
511 
512  return accept;
513 }

References accept(), trigger::TriggerRefsCollections::addObject(), Exhume::I, testProducerWithPsetDescEmpty_cfi::i1, testProducerWithPsetDescEmpty_cfi::i2, iEvent, dqmiodumpmetadata::n, diffTwoXMLs::r1, and diffTwoXMLs::r2.

◆ hltFilter() [2/4]

template<>
bool HLTDoubletDZ< l1t::TkMuon, l1t::TkMuon >::hltFilter ( edm::Event iEvent,
const edm::EventSetup iSetup,
trigger::TriggerFilterObjectWithRefs filterproduct 
) const
virtual

Special instantiation for L1TkMuon L1TkMuon are not RecoCandidates, therefore they don't implement superCluster() They are LeafCandidates instead

Implements HLTFilter.

Definition at line 519 of file HLTDoubletDZ.cc.

521  {
522  // All HLT filters must create and fill an HLT filter object,
523  // recording any reconstructed physics objects satisfying (or not)
524  // this HLT filter, and place it in the Event.
525  bool accept(false);
526 
527  std::vector<l1t::TkMuonRef> coll1;
528  std::vector<l1t::TkMuonRef> coll2;
529 
530  if (getCollections(iEvent, coll1, coll2, filterproduct)) {
531  int n(0);
534 
535  for (unsigned int i1 = 0; i1 != coll1.size(); i1++) {
536  r1 = coll1[i1];
537  unsigned int I(0);
538  if (same_) {
539  I = i1 + 1;
540  }
541  for (unsigned int i2 = I; i2 != coll2.size(); i2++) {
542  r2 = coll2[i2];
543 
544  if (!computeDZ(iEvent, r1, r2))
545  continue;
546 
547  n++;
548  filterproduct.addObject(triggerType1_, r1);
549  filterproduct.addObject(triggerType2_, r2);
550  }
551  }
552 
553  accept = accept || (n >= min_N_);
554  }
555 
556  return accept;
557 }

References accept(), trigger::TriggerRefsCollections::addObject(), Exhume::I, testProducerWithPsetDescEmpty_cfi::i1, testProducerWithPsetDescEmpty_cfi::i2, iEvent, dqmiodumpmetadata::n, diffTwoXMLs::r1, and diffTwoXMLs::r2.

◆ hltFilter() [3/4]

template<>
bool HLTDoubletDZ< l1t::PFTau, l1t::PFTau >::hltFilter ( edm::Event iEvent,
const edm::EventSetup iSetup,
trigger::TriggerFilterObjectWithRefs filterproduct 
) const
virtual

Special instantiation for L1PFTau L1PFTau are not RecoCandidates, therefore they don't implement superCluster() They are LeafCandidates instead

Implements HLTFilter.

Definition at line 563 of file HLTDoubletDZ.cc.

565  {
566  // All HLT filters must create and fill an HLT filter object,
567  // recording any reconstructed physics objects satisfying (or not)
568  // this HLT filter, and place it in the Event.
569  bool accept(false);
570 
571  std::vector<l1t::PFTauRef> coll1;
572  std::vector<l1t::PFTauRef> coll2;
573 
574  if (getCollections(iEvent, coll1, coll2, filterproduct)) {
575  int n(0);
578 
579  for (unsigned int i1 = 0; i1 != coll1.size(); i1++) {
580  r1 = coll1[i1];
581  unsigned int I(0);
582  if (same_) {
583  I = i1 + 1;
584  }
585  for (unsigned int i2 = I; i2 != coll2.size(); i2++) {
586  r2 = coll2[i2];
587 
588  if (!computeDZ(iEvent, r1, r2))
589  continue;
590 
591  n++;
592  filterproduct.addObject(triggerType1_, r1);
593  filterproduct.addObject(triggerType2_, r2);
594  }
595  }
596 
597  accept = accept || (n >= min_N_);
598  }
599 
600  return accept;
601 }

References accept(), trigger::TriggerRefsCollections::addObject(), Exhume::I, testProducerWithPsetDescEmpty_cfi::i1, testProducerWithPsetDescEmpty_cfi::i2, iEvent, dqmiodumpmetadata::n, diffTwoXMLs::r1, and diffTwoXMLs::r2.

◆ hltFilter() [4/4]

template<>
bool HLTDoubletDZ< l1t::HPSPFTau, l1t::HPSPFTau >::hltFilter ( edm::Event iEvent,
const edm::EventSetup iSetup,
trigger::TriggerFilterObjectWithRefs filterproduct 
) const
virtual

Special instantiation for L1HPSPFTau L1HPSPFTau are not RecoCandidates, therefore they don't implement superCluster() They are LeafCandidates instead

Implements HLTFilter.

Definition at line 607 of file HLTDoubletDZ.cc.

609  {
610  // All HLT filters must create and fill an HLT filter object,
611  // recording any reconstructed physics objects satisfying (or not)
612  // this HLT filter, and place it in the Event.
613  bool accept(false);
614 
615  std::vector<l1t::HPSPFTauRef> coll1;
616  std::vector<l1t::HPSPFTauRef> coll2;
617 
618  if (getCollections(iEvent, coll1, coll2, filterproduct)) {
619  int n(0);
622 
623  for (unsigned int i1 = 0; i1 != coll1.size(); i1++) {
624  r1 = coll1[i1];
625  unsigned int I(0);
626  if (same_) {
627  I = i1 + 1;
628  }
629  for (unsigned int i2 = I; i2 != coll2.size(); i2++) {
630  r2 = coll2[i2];
631 
632  if (!computeDZ(iEvent, r1, r2))
633  continue;
634 
635  n++;
636  filterproduct.addObject(triggerType1_, r1);
637  filterproduct.addObject(triggerType2_, r2);
638  }
639  }
640 
641  accept = accept || (n >= min_N_);
642  }
643 
644  return accept;
645 }

References accept(), trigger::TriggerRefsCollections::addObject(), Exhume::I, testProducerWithPsetDescEmpty_cfi::i1, testProducerWithPsetDescEmpty_cfi::i2, iEvent, dqmiodumpmetadata::n, diffTwoXMLs::r1, and diffTwoXMLs::r2.

Member Data Documentation

◆ checkSC_

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

Definition at line 61 of file HLTDoubletDZ.h.

◆ electronToken_

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

Definition at line 54 of file HLTDoubletDZ.h.

◆ inputTag1_

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

Definition at line 50 of file HLTDoubletDZ.h.

◆ inputTag2_

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

Definition at line 51 of file HLTDoubletDZ.h.

◆ inputToken1_

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

Definition at line 52 of file HLTDoubletDZ.h.

◆ inputToken2_

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

Definition at line 53 of file HLTDoubletDZ.h.

◆ maxDZ_

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

Definition at line 58 of file HLTDoubletDZ.h.

◆ min_N_

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

Definition at line 60 of file HLTDoubletDZ.h.

◆ minDR_

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

Definition at line 57 of file HLTDoubletDZ.h.

◆ minPixHitsForDZ_

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

Definition at line 59 of file HLTDoubletDZ.h.

◆ originTag1_

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

Definition at line 48 of file HLTDoubletDZ.h.

◆ originTag2_

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

Definition at line 49 of file HLTDoubletDZ.h.

◆ same_

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

Definition at line 62 of file HLTDoubletDZ.h.

◆ triggerType1_

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

Definition at line 55 of file HLTDoubletDZ.h.

◆ triggerType2_

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

Definition at line 56 of file HLTDoubletDZ.h.

trigger::TriggerRefsCollections::addObject
void addObject(int id, const reco::RecoEcalCandidateRef &ref)
setters for L3 collections: (id=physics type, and Ref<C>)
Definition: TriggerRefsCollections.h:302
HLTDoubletDZ::same_
const bool same_
Definition: HLTDoubletDZ.h:62
testProducerWithPsetDescEmpty_cfi.i2
i2
Definition: testProducerWithPsetDescEmpty_cfi.py:46
mps_fire.i
i
Definition: mps_fire.py:355
edm::ParameterSetDescription::add
ParameterDescriptionBase * add(U const &iLabel, T const &value)
Definition: ParameterSetDescription.h:95
reco::Electron::gsfTrack
reco::GsfTrackRef gsfTrack() const override
reference to a GsfTrack
dqmiodumpmetadata.n
n
Definition: dqmiodumpmetadata.py:28
testProducerWithPsetDescEmpty_cfi.i1
i1
Definition: testProducerWithPsetDescEmpty_cfi.py:45
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
trigger::TriggerFilterObjectWithRefs::addCollectionTag
void addCollectionTag(const edm::InputTag &collectionTag)
collectionTags
Definition: TriggerFilterObjectWithRefs.h:55
reco::LeafCandidate::vz
double vz() const override
z coordinate of vertex position
Definition: LeafCandidate.h:171
HLTDoubletDZ::getCollections
bool getCollections(edm::Event &iEvent, std::vector< T1Ref > &coll1, std::vector< T2Ref > &coll2, trigger::TriggerFilterObjectWithRefs &filterproduct) const
Definition: HLTDoubletDZ.cc:265
HLTDoubletDZ::triggerType1_
const int triggerType1_
Definition: HLTDoubletDZ.h:55
HLT_2018_cff.originTag2
originTag2
Definition: HLT_2018_cff.py:18107
HLTDoubletDZ::inputToken1_
const edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > inputToken1_
Definition: HLTDoubletDZ.h:52
HLTDoubletDZ
Definition: HLTDoubletDZ.h:27
reco::Electron
Definition: Electron.h:16
edm::Handle
Definition: AssociativeIterator.h:50
HLTFilter::HLTFilter
HLTFilter(const edm::ParameterSet &config)
Definition: HLTFilter.cc:20
HLTDoubletDZ::originTag1_
const std::vector< edm::InputTag > originTag1_
Definition: HLTDoubletDZ.h:48
trigger::TriggerRefsCollections::getObjects
void getObjects(Vids &ids, VRphoton &refs) const
various physics-level getters:
Definition: TriggerRefsCollections.h:593
edm::Ref
Definition: AssociativeIterator.h:58
accept
bool accept(const edm::Event &event, const edm::TriggerResults &triggerTable, const std::string &triggerPath)
Definition: TopDQMHelpers.h:30
HLTDoubletDZ::inputTag2_
const edm::InputTag inputTag2_
Definition: HLTDoubletDZ.h:51
trigger::size_type
uint16_t size_type
Definition: TriggerTypeDefs.h:18
Exhume::I
const std::complex< double > I
Definition: I.h:8
edm::ConfigurationDescriptions::add
void add(std::string const &label, ParameterSetDescription const &psetDescription)
Definition: ConfigurationDescriptions.cc:57
HLTDoubletDZ::minDR_
const double minDR_
Definition: HLTDoubletDZ.h:57
HLTDoubletDZ::maxDZ_
const double maxDZ_
Definition: HLTDoubletDZ.h:58
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
HLT_2018_cff.InputTag
InputTag
Definition: HLT_2018_cff.py:79016
edm::LogError
Definition: MessageLogger.h:183
HLTFilter::saveTags
bool saveTags() const
Definition: HLTFilter.h:46
defaultModuleLabel
std::string defaultModuleLabel()
Definition: defaultModuleLabel.h:16
HLTDoubletDZ::T2Ref
edm::Ref< T2Collection > T2Ref
Definition: HLTDoubletDZ.h:31
HLTDoubletDZ::inputTag1_
const edm::InputTag inputTag1_
Definition: HLTDoubletDZ.h:50
LaserDQM_cfg.process
process
Definition: LaserDQM_cfg.py:3
StorageManager_cfg.e1
e1
Definition: StorageManager_cfg.py:16
diffTwoXMLs.r2
r2
Definition: diffTwoXMLs.py:73
l1t::HPSPFTau
Definition: HPSPFTau.h:14
iEvent
int iEvent
Definition: GenABIO.cc:224
edm::InputTag::encode
std::string encode() const
Definition: InputTag.cc:159
reco::RecoChargedCandidate
Definition: RecoChargedCandidate.h:15
l1t::TkMuon
Definition: TkMuon.h:13
instance
static PFTauRenderPlugin instance
Definition: PFTauRenderPlugin.cc:70
reco::Candidate
Definition: Candidate.h:27
HLTDoubletDZ::min_N_
const int min_N_
Definition: HLTDoubletDZ.h:60
diffTwoXMLs.r1
r1
Definition: diffTwoXMLs.py:53
HLTDoubletDZ::minPixHitsForDZ_
const int minPixHitsForDZ_
Definition: HLTDoubletDZ.h:59
reco::deltaR
constexpr auto deltaR(const T1 &t1, const T2 &t2) -> decltype(t1.eta())
Definition: deltaR.h:30
HLTDoubletDZ::electronToken_
edm::EDGetTokenT< reco::ElectronCollection > electronToken_
Definition: HLTDoubletDZ.h:54
HLTFilter::makeHLTFilterDescription
static void makeHLTFilterDescription(edm::ParameterSetDescription &desc)
Definition: HLTFilter.cc:25
HLTDoubletDZ::checkSC_
const bool checkSC_
Definition: HLTDoubletDZ.h:61
HLTDoubletDZ::triggerType2_
const int triggerType2_
Definition: HLTDoubletDZ.h:56
HLTDoubletDZ::computeDZ
bool computeDZ(edm::Event &iEvent, T1Ref &c1, T2Ref &c2) const
Definition: HLTDoubletDZ.cc:317
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
edm::HandleBase::isValid
bool isValid() const
Definition: HandleBase.h:70
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
label
const char * label
Definition: PFTauDecayModeTools.cc:11
HLTDoubletDZ::inputToken2_
const edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > inputToken2_
Definition: HLTDoubletDZ.h:53
edm::ProductID
Definition: ProductID.h:27
HLT_2018_cff.originTag1
originTag1
Definition: HLT_2018_cff.py:18110