CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | 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<>
void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
template<>
void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
template<>
void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
template<>
void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
template<>
void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
template<>
void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
template<>
void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
 HLTDoubletDZ (edm::ParameterSet const &)
 
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)
 
template<>
 HLTDoubletDZ (const edm::ParameterSet &iConfig)
 
template<>
 HLTDoubletDZ (const edm::ParameterSet &iConfig)
 
bool hltFilter (edm::Event &iEvent, edm::EventSetup const &iSetup, trigger::TriggerFilterObjectWithRefs &filterproduct) const override
 
template<>
bool hltFilter (edm::Event &iEvent, const edm::EventSetup &iSetup, trigger::TriggerFilterObjectWithRefs &filterproduct) const
 
 ~HLTDoubletDZ () override=default
 
- 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
 
 EDFilter (const EDFilter &)=delete
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
const EDFilteroperator= (const EDFilter &)=delete
 
bool wantsGlobalLuminosityBlocks () const noexcept final
 
bool wantsGlobalRuns () const noexcept final
 
bool wantsInputProcessBlocks () const noexcept final
 
bool wantsProcessBlocks () const noexcept final
 
bool wantsStreamLuminosityBlocks () const noexcept final
 
bool wantsStreamRuns () const noexcept 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 const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ESResolverIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESResolverIndex > const & esGetTokenIndicesVector (edm::Transition iTrans) const
 
std::vector< ESRecordIndex > const & esGetTokenRecordIndicesVector (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::array< std::vector< ModuleDescription const *> *, NumBranchTypes > &modulesAll, std::vector< ModuleProcessName > &modulesInPreviousProcesses, 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
 
void selectInputProcessBlocks (ProductRegistry const &productRegistry, ProcessBlockHelperBase const &processBlockHelperBase)
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProductResolverIndices 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

using T1Ref = edm::Ref< std::vector< T1 > >
 
using T2Ref = edm::Ref< std::vector< T2 > >
 

Private Member Functions

bool computeDZ (edm::Event const &iEvent, T1 const &c1, T2 const &c2) const
 
template<>
bool computeDZ (edm::Event const &iEvent, l1t::P2GTCandidate const &c1, l1t::P2GTCandidate const &c2) const
 
template<>
bool computeDZ (edm::Event const &iEvent, reco::RecoEcalCandidate const &c1, reco::RecoChargedCandidate const &c2) const
 
template<>
bool computeDZ (edm::Event const &iEvent, reco::RecoChargedCandidate const &c1, reco::RecoEcalCandidate const &c2) const
 
template<>
bool computeDZ (edm::Event const &iEvent, reco::RecoEcalCandidate const &c1, reco::RecoEcalCandidate const &c2) const
 
template<>
bool computeDZ (edm::Event const &iEvent, reco::RecoChargedCandidate const &c1, reco::RecoChargedCandidate const &c2) const
 
template<>
bool computeDZ (edm::Event const &iEvent, l1t::TrackerMuon const &c1, l1t::TrackerMuon const &c2) const
 
template<>
bool computeDZ (edm::Event const &iEvent, l1t::HPSPFTau const &c1, l1t::HPSPFTau const &c2) const
 
bool getCollections (edm::Event const &iEvent, std::vector< T1Ref > &coll1, std::vector< T2Ref > &coll2, trigger::TriggerFilterObjectWithRefs &filterproduct) const
 
template<>
bool getCollections (edm::Event const &iEvent, std::vector< l1t::P2GTCandidateRef > &coll1, std::vector< l1t::P2GTCandidateRef > &coll2, trigger::TriggerFilterObjectWithRefs &filterproduct) const
 
bool haveSameSuperCluster (T1 const &c1, T2 const &c2) const
 
template<>
bool haveSameSuperCluster (l1t::TrackerMuon const &, l1t::TrackerMuon const &) const
 
template<>
bool haveSameSuperCluster (l1t::PFTau const &, l1t::PFTau const &) const
 
template<>
bool haveSameSuperCluster (l1t::HPSPFTau const &, l1t::HPSPFTau const &) const
 
bool passCutMinDeltaR (T1 const &c1, T2 const &c2) const
 
template<>
bool passCutMinDeltaR (l1t::P2GTCandidate const &c1, l1t::P2GTCandidate const &c2) const
 
template<>
bool passCutMinDeltaR (l1t::TrackerMuon const &m1, l1t::TrackerMuon const &m2) const
 

Private Attributes

const edm::EDGetTokenT< l1t::P2GTAlgoBlockMapalgoBlockToken_
 
const bool checkSC_
 
const edm::EDGetTokenT< reco::ElectronCollectionelectronToken_
 
const edm::InputTag inputTag1_
 
const edm::InputTag inputTag2_
 
const edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefsinputToken1_
 
const edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefsinputToken2_
 
const edm::InputTag l1GTAlgoBlockTag_
 
const std::string l1GTAlgoName1_
 
const std::string l1GTAlgoName2_
 
const double maxDZ_
 
const int min_N_
 
const double minDR2_
 
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
template<typename T >
using BranchAliasSetterT = ProductRegistryHelper::BranchAliasSetterT< T >
 
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<Transition Tr = Transition::Event>
auto produces (std::string instanceName) noexcept
 declare what type of product will make and with which optional label More...
 
template<Transition B>
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)
 
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 ()
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces ()
 
template<class ProductType >
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces ()
 
template<Transition Tr = Transition::Event>
auto produces () noexcept
 
ProducesCollector producesCollector ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B = InEvent>
EDConsumerBaseAdaptor< Bconsumes (edm::InputTag tag) noexcept
 
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 ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<Transition Tr = Transition::Event>
constexpr auto esConsumes ()
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag)
 
template<Transition Tr = Transition::Event>
ESGetTokenGeneric esConsumes (eventsetup::EventSetupRecordKey const &iRecord, eventsetup::DataKey const &iKey)
 Used with EventSetupRecord::doGet. More...
 
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)
 
void resetItemsToGetFrom (BranchType iType)
 

Detailed Description

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

Definition at line 25 of file HLTDoubletDZ.h.

Member Typedef Documentation

◆ T1Ref

template<typename T1 , typename T2 >
using HLTDoubletDZ< T1, T2 >::T1Ref = edm::Ref<std::vector<T1> >
private

Definition at line 37 of file HLTDoubletDZ.h.

◆ T2Ref

template<typename T1 , typename T2 >
using HLTDoubletDZ< T1, T2 >::T2Ref = edm::Ref<std::vector<T2> >
private

Definition at line 38 of file HLTDoubletDZ.h.

Constructor & Destructor Documentation

◆ HLTDoubletDZ() [1/8]

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

Definition at line 23 of file HLTDoubletDZ.cc.

24  : HLTFilter(iConfig),
25  originTag1_(iConfig.getParameter<std::vector<edm::InputTag>>("originTag1")),
26  originTag2_(iConfig.getParameter<std::vector<edm::InputTag>>("originTag2")),
27  inputTag1_(iConfig.getParameter<edm::InputTag>("inputTag1")),
28  inputTag2_(iConfig.getParameter<edm::InputTag>("inputTag2")),
32  triggerType1_(iConfig.getParameter<int>("triggerType1")),
33  triggerType2_(iConfig.getParameter<int>("triggerType2")),
34  minDR_(iConfig.getParameter<double>("MinDR")),
36  maxDZ_(iConfig.getParameter<double>("MaxDZ")),
37  min_N_(iConfig.getParameter<int>("MinN")),
38  minPixHitsForDZ_(iConfig.getParameter<int>("MinPixHitsForDZ")),
39  checkSC_(iConfig.getParameter<bool>("checkSC")),
40  same_(inputTag1_.encode() == inputTag2_.encode()) // same collections to be compared?
41 {}
const int triggerType1_
Definition: HLTDoubletDZ.h:63
const edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > inputToken1_
Definition: HLTDoubletDZ.h:56
const int triggerType2_
Definition: HLTDoubletDZ.h:64
const std::vector< edm::InputTag > originTag1_
Definition: HLTDoubletDZ.h:52
const edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > inputToken2_
Definition: HLTDoubletDZ.h:57
const std::vector< edm::InputTag > originTag2_
Definition: HLTDoubletDZ.h:53
std::string encode() const
Definition: InputTag.cc:159
const bool same_
Definition: HLTDoubletDZ.h:71
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
const edm::InputTag inputTag1_
Definition: HLTDoubletDZ.h:54
const edm::InputTag inputTag2_
Definition: HLTDoubletDZ.h:55
const int min_N_
Definition: HLTDoubletDZ.h:68
const int minPixHitsForDZ_
Definition: HLTDoubletDZ.h:69
const double maxDZ_
Definition: HLTDoubletDZ.h:67
const double minDR_
Definition: HLTDoubletDZ.h:65
const double minDR2_
Definition: HLTDoubletDZ.h:66
HLTFilter(const edm::ParameterSet &config)
Definition: HLTFilter.cc:20
const edm::EDGetTokenT< reco::ElectronCollection > electronToken_
Definition: HLTDoubletDZ.h:58
const bool checkSC_
Definition: HLTDoubletDZ.h:70

◆ ~HLTDoubletDZ()

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

◆ HLTDoubletDZ() [2/8]

Definition at line 44 of file HLTDoubletDZ.cc.

45  : HLTFilter(iConfig),
46  originTag1_(iConfig.getParameter<std::vector<edm::InputTag>>("originTag1")),
47  originTag2_(iConfig.getParameter<std::vector<edm::InputTag>>("originTag2")),
49  l1GTAlgoBlockTag_(iConfig.template getParameter<edm::InputTag>("l1GTAlgoBlockTag")),
50  algoBlockToken_(consumes<l1t::P2GTAlgoBlockMap>(l1GTAlgoBlockTag_)),
51  l1GTAlgoName1_(iConfig.template getParameter<std::string>("l1GTAlgoName1")),
52  l1GTAlgoName2_(iConfig.template getParameter<std::string>("l1GTAlgoName2")),
53  triggerType1_(iConfig.getParameter<int>("triggerType1")),
54  triggerType2_(iConfig.getParameter<int>("triggerType2")),
55  minDR_(iConfig.getParameter<double>("MinDR")),
57  maxDZ_(iConfig.getParameter<double>("MaxDZ")),
58  min_N_(iConfig.getParameter<int>("MinN")),
59  minPixHitsForDZ_(iConfig.getParameter<int>("MinPixHitsForDZ")),
60  checkSC_(iConfig.getParameter<bool>("checkSC")),
61  same_(l1GTAlgoName1_ == l1GTAlgoName2_) // same collections to be compared?
62 {}
const int triggerType1_
Definition: HLTDoubletDZ.h:63
T getParameter(std::string const &) const
Definition: ParameterSet.h:307
const int triggerType2_
Definition: HLTDoubletDZ.h:64
const std::vector< edm::InputTag > originTag1_
Definition: HLTDoubletDZ.h:52
const std::vector< edm::InputTag > originTag2_
Definition: HLTDoubletDZ.h:53
const bool same_
Definition: HLTDoubletDZ.h:71
const edm::InputTag l1GTAlgoBlockTag_
Definition: HLTDoubletDZ.h:59
const edm::EDGetTokenT< l1t::P2GTAlgoBlockMap > algoBlockToken_
Definition: HLTDoubletDZ.h:60
const std::string l1GTAlgoName1_
Definition: HLTDoubletDZ.h:61
const std::string l1GTAlgoName2_
Definition: HLTDoubletDZ.h:62
const int min_N_
Definition: HLTDoubletDZ.h:68
const int minPixHitsForDZ_
Definition: HLTDoubletDZ.h:69
const double maxDZ_
Definition: HLTDoubletDZ.h:67
const double minDR_
Definition: HLTDoubletDZ.h:65
const double minDR2_
Definition: HLTDoubletDZ.h:66
HLTFilter(const edm::ParameterSet &config)
Definition: HLTFilter.cc:20
const edm::EDGetTokenT< reco::ElectronCollection > electronToken_
Definition: HLTDoubletDZ.h:58
const bool checkSC_
Definition: HLTDoubletDZ.h:70

◆ HLTDoubletDZ() [3/8]

Definition at line 65 of file HLTDoubletDZ.cc.

66  : HLTFilter(iConfig),
67  originTag1_(iConfig.getParameter<std::vector<edm::InputTag>>("originTag1")),
68  originTag2_(iConfig.getParameter<std::vector<edm::InputTag>>("originTag2")),
69  inputTag1_(iConfig.getParameter<edm::InputTag>("inputTag1")),
70  inputTag2_(iConfig.getParameter<edm::InputTag>("inputTag2")),
73  electronToken_(consumes(iConfig.getParameter<edm::InputTag>("electronTag"))),
74  triggerType1_(iConfig.getParameter<int>("triggerType1")),
75  triggerType2_(iConfig.getParameter<int>("triggerType2")),
76  minDR_(iConfig.getParameter<double>("MinDR")),
78  maxDZ_(iConfig.getParameter<double>("MaxDZ")),
79  min_N_(iConfig.getParameter<int>("MinN")),
80  minPixHitsForDZ_(iConfig.getParameter<int>("MinPixHitsForDZ")),
81  checkSC_(iConfig.getParameter<bool>("checkSC")),
82  same_(inputTag1_.encode() == inputTag2_.encode()) // same collections to be compared?
83 {}
const int triggerType1_
Definition: HLTDoubletDZ.h:63
T getParameter(std::string const &) const
Definition: ParameterSet.h:307
const edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > inputToken1_
Definition: HLTDoubletDZ.h:56
const int triggerType2_
Definition: HLTDoubletDZ.h:64
const std::vector< edm::InputTag > originTag1_
Definition: HLTDoubletDZ.h:52
const edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > inputToken2_
Definition: HLTDoubletDZ.h:57
const std::vector< edm::InputTag > originTag2_
Definition: HLTDoubletDZ.h:53
std::string encode() const
Definition: InputTag.cc:159
const bool same_
Definition: HLTDoubletDZ.h:71
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
const edm::InputTag inputTag1_
Definition: HLTDoubletDZ.h:54
const edm::InputTag inputTag2_
Definition: HLTDoubletDZ.h:55
const int min_N_
Definition: HLTDoubletDZ.h:68
const int minPixHitsForDZ_
Definition: HLTDoubletDZ.h:69
const double maxDZ_
Definition: HLTDoubletDZ.h:67
const double minDR_
Definition: HLTDoubletDZ.h:65
const double minDR2_
Definition: HLTDoubletDZ.h:66
HLTFilter(const edm::ParameterSet &config)
Definition: HLTFilter.cc:20
const edm::EDGetTokenT< reco::ElectronCollection > electronToken_
Definition: HLTDoubletDZ.h:58
const bool checkSC_
Definition: HLTDoubletDZ.h:70

◆ HLTDoubletDZ() [4/8]

Definition at line 86 of file HLTDoubletDZ.cc.

87  : HLTFilter(iConfig),
88  originTag1_(iConfig.getParameter<std::vector<edm::InputTag>>("originTag1")),
89  originTag2_(iConfig.getParameter<std::vector<edm::InputTag>>("originTag2")),
90  inputTag1_(iConfig.getParameter<edm::InputTag>("inputTag1")),
91  inputTag2_(iConfig.getParameter<edm::InputTag>("inputTag2")),
94  electronToken_(consumes(iConfig.getParameter<edm::InputTag>("electronTag"))),
95  triggerType1_(iConfig.getParameter<int>("triggerType1")),
96  triggerType2_(iConfig.getParameter<int>("triggerType2")),
97  minDR_(iConfig.getParameter<double>("MinDR")),
99  maxDZ_(iConfig.getParameter<double>("MaxDZ")),
100  min_N_(iConfig.getParameter<int>("MinN")),
101  minPixHitsForDZ_(iConfig.getParameter<int>("MinPixHitsForDZ")),
102  checkSC_(iConfig.getParameter<bool>("checkSC")),
103  same_(inputTag1_.encode() == inputTag2_.encode()) // same collections to be compared?
104 {}
const int triggerType1_
Definition: HLTDoubletDZ.h:63
T getParameter(std::string const &) const
Definition: ParameterSet.h:307
const edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > inputToken1_
Definition: HLTDoubletDZ.h:56
const int triggerType2_
Definition: HLTDoubletDZ.h:64
const std::vector< edm::InputTag > originTag1_
Definition: HLTDoubletDZ.h:52
const edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > inputToken2_
Definition: HLTDoubletDZ.h:57
const std::vector< edm::InputTag > originTag2_
Definition: HLTDoubletDZ.h:53
std::string encode() const
Definition: InputTag.cc:159
const bool same_
Definition: HLTDoubletDZ.h:71
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
const edm::InputTag inputTag1_
Definition: HLTDoubletDZ.h:54
const edm::InputTag inputTag2_
Definition: HLTDoubletDZ.h:55
const int min_N_
Definition: HLTDoubletDZ.h:68
const int minPixHitsForDZ_
Definition: HLTDoubletDZ.h:69
const double maxDZ_
Definition: HLTDoubletDZ.h:67
const double minDR_
Definition: HLTDoubletDZ.h:65
const double minDR2_
Definition: HLTDoubletDZ.h:66
HLTFilter(const edm::ParameterSet &config)
Definition: HLTFilter.cc:20
const edm::EDGetTokenT< reco::ElectronCollection > electronToken_
Definition: HLTDoubletDZ.h:58
const bool checkSC_
Definition: HLTDoubletDZ.h:70

◆ HLTDoubletDZ() [5/8]

Definition at line 107 of file HLTDoubletDZ.cc.

108  : HLTFilter(iConfig),
109  originTag1_(iConfig.getParameter<std::vector<edm::InputTag>>("originTag1")),
110  originTag2_(iConfig.getParameter<std::vector<edm::InputTag>>("originTag2")),
111  inputTag1_(iConfig.getParameter<edm::InputTag>("inputTag1")),
112  inputTag2_(iConfig.getParameter<edm::InputTag>("inputTag2")),
115  electronToken_(consumes(iConfig.getParameter<edm::InputTag>("electronTag"))),
116  triggerType1_(iConfig.getParameter<int>("triggerType1")),
117  triggerType2_(iConfig.getParameter<int>("triggerType2")),
118  minDR_(iConfig.getParameter<double>("MinDR")),
119  minDR2_(minDR_ * minDR_),
120  maxDZ_(iConfig.getParameter<double>("MaxDZ")),
121  min_N_(iConfig.getParameter<int>("MinN")),
122  minPixHitsForDZ_(iConfig.getParameter<int>("MinPixHitsForDZ")),
123  checkSC_(iConfig.getParameter<bool>("checkSC")),
124  same_(inputTag1_.encode() == inputTag2_.encode()) // same collections to be compared?
125 {}
const int triggerType1_
Definition: HLTDoubletDZ.h:63
T getParameter(std::string const &) const
Definition: ParameterSet.h:307
const edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > inputToken1_
Definition: HLTDoubletDZ.h:56
const int triggerType2_
Definition: HLTDoubletDZ.h:64
const std::vector< edm::InputTag > originTag1_
Definition: HLTDoubletDZ.h:52
const edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > inputToken2_
Definition: HLTDoubletDZ.h:57
const std::vector< edm::InputTag > originTag2_
Definition: HLTDoubletDZ.h:53
std::string encode() const
Definition: InputTag.cc:159
const bool same_
Definition: HLTDoubletDZ.h:71
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
const edm::InputTag inputTag1_
Definition: HLTDoubletDZ.h:54
const edm::InputTag inputTag2_
Definition: HLTDoubletDZ.h:55
const int min_N_
Definition: HLTDoubletDZ.h:68
const int minPixHitsForDZ_
Definition: HLTDoubletDZ.h:69
const double maxDZ_
Definition: HLTDoubletDZ.h:67
const double minDR_
Definition: HLTDoubletDZ.h:65
const double minDR2_
Definition: HLTDoubletDZ.h:66
HLTFilter(const edm::ParameterSet &config)
Definition: HLTFilter.cc:20
const edm::EDGetTokenT< reco::ElectronCollection > electronToken_
Definition: HLTDoubletDZ.h:58
const bool checkSC_
Definition: HLTDoubletDZ.h:70

◆ HLTDoubletDZ() [6/8]

Definition at line 128 of file HLTDoubletDZ.cc.

129  : HLTFilter(iConfig),
130  originTag1_(iConfig.getParameter<std::vector<edm::InputTag>>("originTag1")),
131  originTag2_(iConfig.getParameter<std::vector<edm::InputTag>>("originTag2")),
132  inputTag1_(iConfig.getParameter<edm::InputTag>("inputTag1")),
133  inputTag2_(iConfig.getParameter<edm::InputTag>("inputTag2")),
137  triggerType1_(iConfig.getParameter<int>("triggerType1")),
138  triggerType2_(iConfig.getParameter<int>("triggerType2")),
139  minDR_(iConfig.getParameter<double>("MinDR")),
140  minDR2_(minDR_ * minDR_),
141  maxDZ_(iConfig.getParameter<double>("MaxDZ")),
142  min_N_(iConfig.getParameter<int>("MinN")),
143  minPixHitsForDZ_(0),
144  checkSC_(false),
145  same_(inputTag1_.encode() == inputTag2_.encode()) // same collections to be compared?
146 {}
const int triggerType1_
Definition: HLTDoubletDZ.h:63
T getParameter(std::string const &) const
Definition: ParameterSet.h:307
const edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > inputToken1_
Definition: HLTDoubletDZ.h:56
const int triggerType2_
Definition: HLTDoubletDZ.h:64
const std::vector< edm::InputTag > originTag1_
Definition: HLTDoubletDZ.h:52
const edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > inputToken2_
Definition: HLTDoubletDZ.h:57
const std::vector< edm::InputTag > originTag2_
Definition: HLTDoubletDZ.h:53
std::string encode() const
Definition: InputTag.cc:159
const bool same_
Definition: HLTDoubletDZ.h:71
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
const edm::InputTag inputTag1_
Definition: HLTDoubletDZ.h:54
const edm::InputTag inputTag2_
Definition: HLTDoubletDZ.h:55
const int min_N_
Definition: HLTDoubletDZ.h:68
const int minPixHitsForDZ_
Definition: HLTDoubletDZ.h:69
const double maxDZ_
Definition: HLTDoubletDZ.h:67
const double minDR_
Definition: HLTDoubletDZ.h:65
const double minDR2_
Definition: HLTDoubletDZ.h:66
HLTFilter(const edm::ParameterSet &config)
Definition: HLTFilter.cc:20
const edm::EDGetTokenT< reco::ElectronCollection > electronToken_
Definition: HLTDoubletDZ.h:58
const bool checkSC_
Definition: HLTDoubletDZ.h:70

◆ HLTDoubletDZ() [7/8]

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

Definition at line 149 of file HLTDoubletDZ.cc.

150  : HLTFilter(iConfig),
151  originTag1_(iConfig.getParameter<std::vector<edm::InputTag>>("originTag1")),
152  originTag2_(iConfig.getParameter<std::vector<edm::InputTag>>("originTag2")),
153  inputTag1_(iConfig.getParameter<edm::InputTag>("inputTag1")),
154  inputTag2_(iConfig.getParameter<edm::InputTag>("inputTag2")),
158  triggerType1_(iConfig.getParameter<int>("triggerType1")),
159  triggerType2_(iConfig.getParameter<int>("triggerType2")),
160  minDR_(iConfig.getParameter<double>("MinDR")),
161  minDR2_(minDR_ * minDR_),
162  maxDZ_(iConfig.getParameter<double>("MaxDZ")),
163  min_N_(iConfig.getParameter<int>("MinN")),
164  minPixHitsForDZ_(0),
165  checkSC_(false),
166  same_(inputTag1_.encode() == inputTag2_.encode()) // same collections to be compared?
167 {}
const int triggerType1_
Definition: HLTDoubletDZ.h:63
T getParameter(std::string const &) const
Definition: ParameterSet.h:307
const edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > inputToken1_
Definition: HLTDoubletDZ.h:56
const int triggerType2_
Definition: HLTDoubletDZ.h:64
const std::vector< edm::InputTag > originTag1_
Definition: HLTDoubletDZ.h:52
const edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > inputToken2_
Definition: HLTDoubletDZ.h:57
const std::vector< edm::InputTag > originTag2_
Definition: HLTDoubletDZ.h:53
std::string encode() const
Definition: InputTag.cc:159
const bool same_
Definition: HLTDoubletDZ.h:71
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
const edm::InputTag inputTag1_
Definition: HLTDoubletDZ.h:54
const edm::InputTag inputTag2_
Definition: HLTDoubletDZ.h:55
const int min_N_
Definition: HLTDoubletDZ.h:68
const int minPixHitsForDZ_
Definition: HLTDoubletDZ.h:69
const double maxDZ_
Definition: HLTDoubletDZ.h:67
const double minDR_
Definition: HLTDoubletDZ.h:65
const double minDR2_
Definition: HLTDoubletDZ.h:66
HLTFilter(const edm::ParameterSet &config)
Definition: HLTFilter.cc:20
const edm::EDGetTokenT< reco::ElectronCollection > electronToken_
Definition: HLTDoubletDZ.h:58
const bool checkSC_
Definition: HLTDoubletDZ.h:70

◆ HLTDoubletDZ() [8/8]

Definition at line 170 of file HLTDoubletDZ.cc.

171  : HLTFilter(iConfig),
172  originTag1_(iConfig.getParameter<std::vector<edm::InputTag>>("originTag1")),
173  originTag2_(iConfig.getParameter<std::vector<edm::InputTag>>("originTag2")),
174  inputTag1_(iConfig.getParameter<edm::InputTag>("inputTag1")),
175  inputTag2_(iConfig.getParameter<edm::InputTag>("inputTag2")),
179  triggerType1_(iConfig.getParameter<int>("triggerType1")),
180  triggerType2_(iConfig.getParameter<int>("triggerType2")),
181  minDR_(iConfig.getParameter<double>("MinDR")),
182  minDR2_(minDR_ * minDR_),
183  maxDZ_(iConfig.getParameter<double>("MaxDZ")),
184  min_N_(iConfig.getParameter<int>("MinN")),
185  minPixHitsForDZ_(0),
186  checkSC_(false),
187  same_(inputTag1_.encode() == inputTag2_.encode()) // same collections to be compared?
188 {}
const int triggerType1_
Definition: HLTDoubletDZ.h:63
T getParameter(std::string const &) const
Definition: ParameterSet.h:307
const edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > inputToken1_
Definition: HLTDoubletDZ.h:56
const int triggerType2_
Definition: HLTDoubletDZ.h:64
const std::vector< edm::InputTag > originTag1_
Definition: HLTDoubletDZ.h:52
const edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > inputToken2_
Definition: HLTDoubletDZ.h:57
const std::vector< edm::InputTag > originTag2_
Definition: HLTDoubletDZ.h:53
std::string encode() const
Definition: InputTag.cc:159
const bool same_
Definition: HLTDoubletDZ.h:71
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
const edm::InputTag inputTag1_
Definition: HLTDoubletDZ.h:54
const edm::InputTag inputTag2_
Definition: HLTDoubletDZ.h:55
const int min_N_
Definition: HLTDoubletDZ.h:68
const int minPixHitsForDZ_
Definition: HLTDoubletDZ.h:69
const double maxDZ_
Definition: HLTDoubletDZ.h:67
const double minDR_
Definition: HLTDoubletDZ.h:65
const double minDR2_
Definition: HLTDoubletDZ.h:66
HLTFilter(const edm::ParameterSet &config)
Definition: HLTFilter.cc:20
const edm::EDGetTokenT< reco::ElectronCollection > electronToken_
Definition: HLTDoubletDZ.h:58
const bool checkSC_
Definition: HLTDoubletDZ.h:70

Member Function Documentation

◆ computeDZ() [1/8]

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

Definition at line 570 of file HLTDoubletDZ.cc.

References funct::abs(), and alignmentValidation::c1.

570  {
571  return ((std::abs(c1.vz() - c2.vz()) <= maxDZ_) and passCutMinDeltaR(c1, c2));
572 }
bool passCutMinDeltaR(T1 const &c1, T2 const &c2) const
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
const double maxDZ_
Definition: HLTDoubletDZ.h:67

◆ computeDZ() [2/8]

template<>
bool HLTDoubletDZ< l1t::P2GTCandidate, l1t::P2GTCandidate >::computeDZ ( edm::Event const &  iEvent,
l1t::P2GTCandidate const &  c1,
l1t::P2GTCandidate const &  c2 
) const
private

Definition at line 575 of file HLTDoubletDZ.cc.

References funct::abs(), alignmentValidation::c1, and reco::LeafCandidate::vz().

577  {
578  if (maxDZ_ > 0 && std::abs(c1.vz() - c2.vz()) > maxDZ_) {
579  return false;
580  }
581 
582  if (not passCutMinDeltaR(c1, c2)) {
583  return false;
584  }
585 
586  return true;
587 }
bool passCutMinDeltaR(T1 const &c1, T2 const &c2) const
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
const double maxDZ_
Definition: HLTDoubletDZ.h:67

◆ computeDZ() [3/8]

template<>
bool HLTDoubletDZ< reco::RecoEcalCandidate, reco::RecoChargedCandidate >::computeDZ ( edm::Event const &  iEvent,
reco::RecoEcalCandidate const &  c1,
reco::RecoChargedCandidate const &  c2 
) const
private

Definition at line 590 of file HLTDoubletDZ.cc.

References funct::abs(), alignmentValidation::c1, pwdgSkimBPark_cfi::electrons, and iEvent.

591  {
592  if (not passCutMinDeltaR(c1, c2))
593  return false;
594 
595  bool hasValidVZ2 = false;
596  auto const vz2 = getCandidateVZ(c2, hasValidVZ2, minPixHitsForDZ_);
597  if (not hasValidVZ2)
598  return true;
599 
600  bool hasValidVZ1 = false;
601  auto const& electrons = iEvent.get(electronToken_);
602  auto const vz1 = getCandidateVZ(c1, hasValidVZ1, minPixHitsForDZ_, electrons);
603  if (not hasValidVZ1)
604  return true;
605 
606  return (std::abs(vz1 - vz2) <= maxDZ_);
607 }
bool passCutMinDeltaR(T1 const &c1, T2 const &c2) const
int iEvent
Definition: GenABIO.cc:224
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
const int minPixHitsForDZ_
Definition: HLTDoubletDZ.h:69
const double maxDZ_
Definition: HLTDoubletDZ.h:67
const edm::EDGetTokenT< reco::ElectronCollection > electronToken_
Definition: HLTDoubletDZ.h:58

◆ computeDZ() [4/8]

template<>
bool HLTDoubletDZ< reco::RecoChargedCandidate, reco::RecoEcalCandidate >::computeDZ ( edm::Event const &  iEvent,
reco::RecoChargedCandidate const &  c1,
reco::RecoEcalCandidate const &  c2 
) const
private

Definition at line 610 of file HLTDoubletDZ.cc.

References funct::abs(), alignmentValidation::c1, pwdgSkimBPark_cfi::electrons, and iEvent.

611  {
612  if (not passCutMinDeltaR(c1, c2))
613  return false;
614 
615  bool hasValidVZ1 = false;
616  auto const vz1 = getCandidateVZ(c1, hasValidVZ1, minPixHitsForDZ_);
617  if (not hasValidVZ1)
618  return true;
619 
620  bool hasValidVZ2 = false;
621  auto const& electrons = iEvent.get(electronToken_);
622  auto const vz2 = getCandidateVZ(c2, hasValidVZ2, minPixHitsForDZ_, electrons);
623  if (not hasValidVZ2)
624  return true;
625 
626  return (std::abs(vz1 - vz2) <= maxDZ_);
627 }
bool passCutMinDeltaR(T1 const &c1, T2 const &c2) const
int iEvent
Definition: GenABIO.cc:224
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
const int minPixHitsForDZ_
Definition: HLTDoubletDZ.h:69
const double maxDZ_
Definition: HLTDoubletDZ.h:67
const edm::EDGetTokenT< reco::ElectronCollection > electronToken_
Definition: HLTDoubletDZ.h:58

◆ computeDZ() [5/8]

template<>
bool HLTDoubletDZ< reco::RecoEcalCandidate, reco::RecoEcalCandidate >::computeDZ ( edm::Event const &  iEvent,
reco::RecoEcalCandidate const &  c1,
reco::RecoEcalCandidate const &  c2 
) const
private

Definition at line 630 of file HLTDoubletDZ.cc.

References funct::abs(), alignmentValidation::c1, pwdgSkimBPark_cfi::electrons, and iEvent.

631  {
632  if (not passCutMinDeltaR(c1, c2))
633  return false;
634 
635  auto const& electrons = iEvent.get(electronToken_);
636 
637  bool hasValidVZ1 = false;
638  auto const vz1 = getCandidateVZ(c1, hasValidVZ1, minPixHitsForDZ_, electrons);
639  if (not hasValidVZ1)
640  return true;
641 
642  bool hasValidVZ2 = false;
643  auto const vz2 = getCandidateVZ(c2, hasValidVZ2, minPixHitsForDZ_, electrons);
644  if (not hasValidVZ2)
645  return true;
646 
647  return (std::abs(vz1 - vz2) <= maxDZ_);
648 }
bool passCutMinDeltaR(T1 const &c1, T2 const &c2) const
int iEvent
Definition: GenABIO.cc:224
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
const int minPixHitsForDZ_
Definition: HLTDoubletDZ.h:69
const double maxDZ_
Definition: HLTDoubletDZ.h:67
const edm::EDGetTokenT< reco::ElectronCollection > electronToken_
Definition: HLTDoubletDZ.h:58

◆ computeDZ() [6/8]

template<>
bool HLTDoubletDZ< reco::RecoChargedCandidate, reco::RecoChargedCandidate >::computeDZ ( edm::Event const &  iEvent,
reco::RecoChargedCandidate const &  c1,
reco::RecoChargedCandidate const &  c2 
) const
private

Definition at line 651 of file HLTDoubletDZ.cc.

References funct::abs(), and alignmentValidation::c1.

652  {
653  if (not passCutMinDeltaR(c1, c2))
654  return false;
655 
656  bool hasValidVZ1 = false;
657  auto const vz1 = getCandidateVZ(c1, hasValidVZ1, minPixHitsForDZ_);
658  if (not hasValidVZ1)
659  return true;
660 
661  bool hasValidVZ2 = false;
662  auto const vz2 = getCandidateVZ(c2, hasValidVZ2, minPixHitsForDZ_);
663  if (not hasValidVZ2)
664  return true;
665 
666  return (std::abs(vz1 - vz2) <= maxDZ_);
667 }
bool passCutMinDeltaR(T1 const &c1, T2 const &c2) const
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
const int minPixHitsForDZ_
Definition: HLTDoubletDZ.h:69
const double maxDZ_
Definition: HLTDoubletDZ.h:67

◆ computeDZ() [7/8]

template<>
bool HLTDoubletDZ< l1t::TrackerMuon, l1t::TrackerMuon >::computeDZ ( edm::Event const &  iEvent,
l1t::TrackerMuon const &  c1,
l1t::TrackerMuon const &  c2 
) const
private

Definition at line 670 of file HLTDoubletDZ.cc.

References funct::abs(), alignmentValidation::c1, and l1t::TrackerMuon::phZ0().

672  {
673  return ((std::abs(c1.phZ0() - c2.phZ0()) <= maxDZ_) and passCutMinDeltaR(c1, c2));
674 }
bool passCutMinDeltaR(T1 const &c1, T2 const &c2) const
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
const double maxDZ_
Definition: HLTDoubletDZ.h:67

◆ computeDZ() [8/8]

template<>
bool HLTDoubletDZ< l1t::HPSPFTau, l1t::HPSPFTau >::computeDZ ( edm::Event const &  iEvent,
l1t::HPSPFTau const &  c1,
l1t::HPSPFTau const &  c2 
) const
private

Definition at line 677 of file HLTDoubletDZ.cc.

References funct::abs(), and alignmentValidation::c1.

679  {
680  if (not passCutMinDeltaR(c1, c2))
681  return false;
682 
683  bool hasValidVZ1 = false;
684  auto const vz1 = getCandidateVZ(c1, hasValidVZ1);
685  if (not hasValidVZ1)
686  return false;
687 
688  bool hasValidVZ2 = false;
689  auto const vz2 = getCandidateVZ(c2, hasValidVZ2);
690  if (not hasValidVZ2)
691  return false;
692 
693  return (std::abs(vz1 - vz2) <= maxDZ_);
694 }
bool passCutMinDeltaR(T1 const &c1, T2 const &c2) const
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
const double maxDZ_
Definition: HLTDoubletDZ.h:67

◆ fillDescriptions() [1/8]

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

Definition at line 211 of file HLTDoubletDZ.cc.

References edm::ConfigurationDescriptions::addWithDefaultLabel(), submitPVResolutionJobs::desc, and ProducerED_cfi::InputTag.

211  {
214  desc.add<std::vector<edm::InputTag>>("originTag1", {edm::InputTag("hltOriginal1")});
215  desc.add<std::vector<edm::InputTag>>("originTag2", {edm::InputTag("hltOriginal2")});
216  desc.add<edm::InputTag>("inputTag1", edm::InputTag("hltFiltered1"));
217  desc.add<edm::InputTag>("inputTag2", edm::InputTag("hltFiltered2"));
218  desc.add<int>("triggerType1", 0);
219  desc.add<int>("triggerType2", 0);
220  desc.add<double>("MinDR", -1.0);
221  desc.add<double>("MaxDZ", 0.2);
222  desc.add<int>("MinN", 1);
223  desc.add<int>("MinPixHitsForDZ", 0);
224  desc.add<bool>("checkSC", false);
225  descriptions.addWithDefaultLabel(desc);
226 }
void addWithDefaultLabel(ParameterSetDescription const &psetDescription)
static void makeHLTFilterDescription(edm::ParameterSetDescription &desc)
Definition: HLTFilter.cc:25

◆ fillDescriptions() [2/8]

template<>
void HLTDoubletDZ< l1t::P2GTCandidate, l1t::P2GTCandidate >::fillDescriptions ( edm::ConfigurationDescriptions descriptions)

Definition at line 191 of file HLTDoubletDZ.cc.

References edm::ConfigurationDescriptions::addWithDefaultLabel(), submitPVResolutionJobs::desc, ProducerED_cfi::InputTag, and AlCaHLTBitMon_QueryRunRegistry::string.

192  {
195  desc.add<std::vector<edm::InputTag>>("originTag1", {edm::InputTag("hltOriginal1")});
196  desc.add<std::vector<edm::InputTag>>("originTag2", {edm::InputTag("hltOriginal2")});
197  desc.add<edm::InputTag>("l1GTAlgoBlockTag", edm::InputTag("l1tGTAlgoBlockProducer"));
198  desc.add<std::string>("l1GTAlgoName1", "");
199  desc.add<std::string>("l1GTAlgoName2", "");
200  desc.add<int>("triggerType1", 0);
201  desc.add<int>("triggerType2", 0);
202  desc.add<double>("MinDR", -1.0);
203  desc.add<double>("MaxDZ", 0.2);
204  desc.add<int>("MinPixHitsForDZ", 0);
205  desc.add<bool>("checkSC", false);
206  desc.add<int>("MinN", 1);
207  descriptions.addWithDefaultLabel(desc);
208 }
void addWithDefaultLabel(ParameterSetDescription const &psetDescription)
static void makeHLTFilterDescription(edm::ParameterSetDescription &desc)
Definition: HLTFilter.cc:25

◆ fillDescriptions() [3/8]

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

Definition at line 229 of file HLTDoubletDZ.cc.

References edm::ConfigurationDescriptions::addWithDefaultLabel(), submitPVResolutionJobs::desc, and ProducerED_cfi::InputTag.

230  {
233  desc.add<std::vector<edm::InputTag>>("originTag1", {edm::InputTag("hltOriginal1")});
234  desc.add<std::vector<edm::InputTag>>("originTag2", {edm::InputTag("hltOriginal2")});
235  desc.add<edm::InputTag>("inputTag1", edm::InputTag("hltFiltered1"));
236  desc.add<edm::InputTag>("inputTag2", edm::InputTag("hltFiltered2"));
237  desc.add<edm::InputTag>("electronTag", edm::InputTag("electronTag"));
238  desc.add<int>("triggerType1", 0);
239  desc.add<int>("triggerType2", 0);
240  desc.add<double>("MinDR", -1.0);
241  desc.add<double>("MaxDZ", 0.2);
242  desc.add<int>("MinN", 1);
243  desc.add<int>("MinPixHitsForDZ", 0);
244  desc.add<bool>("checkSC", false);
245  descriptions.addWithDefaultLabel(desc);
246 }
void addWithDefaultLabel(ParameterSetDescription const &psetDescription)
static void makeHLTFilterDescription(edm::ParameterSetDescription &desc)
Definition: HLTFilter.cc:25

◆ fillDescriptions() [4/8]

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

Definition at line 249 of file HLTDoubletDZ.cc.

References edm::ConfigurationDescriptions::addWithDefaultLabel(), submitPVResolutionJobs::desc, and ProducerED_cfi::InputTag.

250  {
253  desc.add<std::vector<edm::InputTag>>("originTag1", {edm::InputTag("hltOriginal1")});
254  desc.add<std::vector<edm::InputTag>>("originTag2", {edm::InputTag("hltOriginal2")});
255  desc.add<edm::InputTag>("inputTag1", edm::InputTag("hltFiltered1"));
256  desc.add<edm::InputTag>("inputTag2", edm::InputTag("hltFiltered2"));
257  desc.add<edm::InputTag>("electronTag", edm::InputTag("electronTag"));
258  desc.add<int>("triggerType1", 0);
259  desc.add<int>("triggerType2", 0);
260  desc.add<double>("MinDR", -1.0);
261  desc.add<double>("MaxDZ", 0.2);
262  desc.add<int>("MinN", 1);
263  desc.add<int>("MinPixHitsForDZ", 0);
264  desc.add<bool>("checkSC", false);
265  descriptions.addWithDefaultLabel(desc);
266 }
void addWithDefaultLabel(ParameterSetDescription const &psetDescription)
static void makeHLTFilterDescription(edm::ParameterSetDescription &desc)
Definition: HLTFilter.cc:25

◆ fillDescriptions() [5/8]

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

Definition at line 269 of file HLTDoubletDZ.cc.

References edm::ConfigurationDescriptions::addWithDefaultLabel(), submitPVResolutionJobs::desc, and ProducerED_cfi::InputTag.

270  {
273  desc.add<std::vector<edm::InputTag>>("originTag1", {edm::InputTag("hltOriginal1")});
274  desc.add<std::vector<edm::InputTag>>("originTag2", {edm::InputTag("hltOriginal2")});
275  desc.add<edm::InputTag>("inputTag1", edm::InputTag("hltFiltered1"));
276  desc.add<edm::InputTag>("inputTag2", edm::InputTag("hltFiltered2"));
277  desc.add<edm::InputTag>("electronTag", edm::InputTag("electronTag"));
278  desc.add<int>("triggerType1", 0);
279  desc.add<int>("triggerType2", 0);
280  desc.add<double>("MinDR", -1.0);
281  desc.add<double>("MaxDZ", 0.2);
282  desc.add<int>("MinN", 1);
283  desc.add<int>("MinPixHitsForDZ", 0);
284  desc.add<bool>("checkSC", false);
285  descriptions.addWithDefaultLabel(desc);
286 }
void addWithDefaultLabel(ParameterSetDescription const &psetDescription)
static void makeHLTFilterDescription(edm::ParameterSetDescription &desc)
Definition: HLTFilter.cc:25

◆ fillDescriptions() [6/8]

template<>
void HLTDoubletDZ< l1t::TrackerMuon, l1t::TrackerMuon >::fillDescriptions ( edm::ConfigurationDescriptions descriptions)

Definition at line 289 of file HLTDoubletDZ.cc.

References edm::ConfigurationDescriptions::addWithDefaultLabel(), submitPVResolutionJobs::desc, and ProducerED_cfi::InputTag.

289  {
292  desc.add<std::vector<edm::InputTag>>("originTag1", {edm::InputTag("hltOriginal1")});
293  desc.add<std::vector<edm::InputTag>>("originTag2", {edm::InputTag("hltOriginal2")});
294  desc.add<edm::InputTag>("inputTag1", edm::InputTag("hltFiltered1"));
295  desc.add<edm::InputTag>("inputTag2", edm::InputTag("hltFiltered2"));
296  desc.add<int>("triggerType1", 0);
297  desc.add<int>("triggerType2", 0);
298  desc.add<double>("MinDR", -1.0);
299  desc.add<double>("MaxDZ", 0.2);
300  desc.add<int>("MinN", 1);
301  descriptions.addWithDefaultLabel(desc);
302 }
void addWithDefaultLabel(ParameterSetDescription const &psetDescription)
static void makeHLTFilterDescription(edm::ParameterSetDescription &desc)
Definition: HLTFilter.cc:25

◆ fillDescriptions() [7/8]

template<>
void HLTDoubletDZ< l1t::PFTau, l1t::PFTau >::fillDescriptions ( edm::ConfigurationDescriptions descriptions)

Definition at line 305 of file HLTDoubletDZ.cc.

References edm::ConfigurationDescriptions::addWithDefaultLabel(), submitPVResolutionJobs::desc, and ProducerED_cfi::InputTag.

305  {
308  desc.add<std::vector<edm::InputTag>>("originTag1", {edm::InputTag("hltOriginal1")});
309  desc.add<std::vector<edm::InputTag>>("originTag2", {edm::InputTag("hltOriginal2")});
310  desc.add<edm::InputTag>("inputTag1", edm::InputTag("hltFiltered1"));
311  desc.add<edm::InputTag>("inputTag2", edm::InputTag("hltFiltered2"));
312  desc.add<int>("triggerType1", 0);
313  desc.add<int>("triggerType2", 0);
314  desc.add<double>("MinDR", -1.0);
315  desc.add<double>("MaxDZ", 0.2);
316  desc.add<int>("MinN", 1);
317  descriptions.addWithDefaultLabel(desc);
318 }
void addWithDefaultLabel(ParameterSetDescription const &psetDescription)
static void makeHLTFilterDescription(edm::ParameterSetDescription &desc)
Definition: HLTFilter.cc:25

◆ fillDescriptions() [8/8]

template<>
void HLTDoubletDZ< l1t::HPSPFTau, l1t::HPSPFTau >::fillDescriptions ( edm::ConfigurationDescriptions descriptions)

Definition at line 321 of file HLTDoubletDZ.cc.

References edm::ConfigurationDescriptions::addWithDefaultLabel(), submitPVResolutionJobs::desc, and ProducerED_cfi::InputTag.

321  {
324  desc.add<std::vector<edm::InputTag>>("originTag1", {edm::InputTag("hltOriginal1")});
325  desc.add<std::vector<edm::InputTag>>("originTag2", {edm::InputTag("hltOriginal2")});
326  desc.add<edm::InputTag>("inputTag1", edm::InputTag("hltFiltered1"));
327  desc.add<edm::InputTag>("inputTag2", edm::InputTag("hltFiltered2"));
328  desc.add<int>("triggerType1", 0);
329  desc.add<int>("triggerType2", 0);
330  desc.add<double>("MinDR", -1.0);
331  desc.add<double>("MaxDZ", 0.2);
332  desc.add<int>("MinN", 1);
333  descriptions.addWithDefaultLabel(desc);
334 }
void addWithDefaultLabel(ParameterSetDescription const &psetDescription)
static void makeHLTFilterDescription(edm::ParameterSetDescription &desc)
Definition: HLTFilter.cc:25

◆ getCollections() [1/2]

template<typename T1 , typename T2 >
bool HLTDoubletDZ< T1, T2 >::getCollections ( edm::Event const &  iEvent,
std::vector< T1Ref > &  coll1,
std::vector< T2Ref > &  coll2,
trigger::TriggerFilterObjectWithRefs filterproduct 
) const
private

Definition at line 337 of file HLTDoubletDZ.cc.

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

340  {
342  if (iEvent.getByToken(inputToken1_, handle1) and iEvent.getByToken(inputToken2_, handle2)) {
343  // get hold of pre-filtered object collections
344  handle1->getObjects(triggerType1_, coll1);
345  handle2->getObjects(triggerType2_, coll2);
346  const trigger::size_type n1(coll1.size());
347  const trigger::size_type n2(coll2.size());
348 
349  if (saveTags()) {
350  edm::InputTag tagOld;
351  for (unsigned int i = 0; i < originTag1_.size(); ++i) {
352  filterproduct.addCollectionTag(originTag1_[i]);
353  }
354  tagOld = edm::InputTag();
355  for (trigger::size_type i1 = 0; i1 != n1; ++i1) {
356  const edm::ProductID pid(coll1[i1].id());
357  const auto& prov = iEvent.getStableProvenance(pid);
358  const std::string& label(prov.moduleLabel());
359  const std::string& instance(prov.productInstanceName());
360  const std::string& process(prov.processName());
362  if (tagOld.encode() != tagNew.encode()) {
363  filterproduct.addCollectionTag(tagNew);
364  tagOld = tagNew;
365  }
366  }
367  for (unsigned int i = 0; i < originTag2_.size(); ++i) {
368  filterproduct.addCollectionTag(originTag2_[i]);
369  }
370  tagOld = edm::InputTag();
371  for (trigger::size_type i2 = 0; i2 != n2; ++i2) {
372  const edm::ProductID pid(coll2[i2].id());
373  const auto& prov = iEvent.getStableProvenance(pid);
374  const std::string& label(prov.moduleLabel());
375  const std::string& instance(prov.productInstanceName());
376  const std::string& process(prov.processName());
378  if (tagOld.encode() != tagNew.encode()) {
379  filterproduct.addCollectionTag(tagNew);
380  tagOld = tagNew;
381  }
382  }
383  }
384 
385  return true;
386  }
387 
388  return false;
389 }
void getObjects(Vids &ids, VRphoton &refs) const
various physics-level getters:
const int triggerType1_
Definition: HLTDoubletDZ.h:63
const edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > inputToken1_
Definition: HLTDoubletDZ.h:56
const int triggerType2_
Definition: HLTDoubletDZ.h:64
const std::vector< edm::InputTag > originTag1_
Definition: HLTDoubletDZ.h:52
const edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > inputToken2_
Definition: HLTDoubletDZ.h:57
const std::vector< edm::InputTag > originTag2_
Definition: HLTDoubletDZ.h:53
static PFTauRenderPlugin instance
std::string encode() const
Definition: InputTag.cc:159
uint16_t size_type
char const * label
int iEvent
Definition: GenABIO.cc:224
bool saveTags() const
Definition: HLTFilter.h:46
void addCollectionTag(const edm::InputTag &collectionTag)
collectionTags

◆ getCollections() [2/2]

template<>
bool HLTDoubletDZ< l1t::P2GTCandidate, l1t::P2GTCandidate >::getCollections ( edm::Event const &  iEvent,
std::vector< l1t::P2GTCandidateRef > &  coll1,
std::vector< l1t::P2GTCandidateRef > &  coll2,
trigger::TriggerFilterObjectWithRefs filterproduct 
) const
private

Definition at line 392 of file HLTDoubletDZ.cc.

References trigger::TriggerFilterObjectWithRefs::addCollectionTag(), hltPFPuppi_cfi::algos, edm::InputTag::encode(), mps_fire::i, testProducerWithPsetDescEmpty_cfi::i1, testProducerWithPsetDescEmpty_cfi::i2, iEvent, ProducerED_cfi::InputTag, instance, label, getGTfromDQMFile::obj, LaserDQM_cfg::process, PDWG_EXODelayedJetMET_cff::saveTags, AlCaHLTBitMon_QueryRunRegistry::string, trigger::TriggerL1TkEle, trigger::TriggerL1TkEm, and trigger::TriggerL1TkMu.

396  {
398 
399  if (!algos.empty()) {
400  if (algos.count(l1GTAlgoName1_) > 0 && algos.at(l1GTAlgoName1_).decisionBeforeBxMaskAndPrescale()) {
401  const l1t::P2GTCandidateVectorRef& objects = algos.at(l1GTAlgoName1_).trigObjects();
402  for (const l1t::P2GTCandidateRef& obj : objects) {
406  coll1.push_back(obj);
407  }
408  }
409  }
410 
411  if (algos.count(l1GTAlgoName2_) > 0 && algos.at(l1GTAlgoName2_).decisionBeforeBxMaskAndPrescale()) {
412  const l1t::P2GTCandidateVectorRef& objects = algos.at(l1GTAlgoName2_).trigObjects();
413  for (const l1t::P2GTCandidateRef& obj : objects) {
417  coll2.push_back(obj);
418  }
419  }
420  }
421  }
422 
423  if (!coll1.empty() && !coll2.empty()) {
424  const trigger::size_type n1(coll1.size());
425  const trigger::size_type n2(coll2.size());
426 
427  if (saveTags()) {
428  edm::InputTag tagOld;
429  for (unsigned int i = 0; i < originTag1_.size(); ++i) {
430  filterproduct.addCollectionTag(originTag1_[i]);
431  }
432  tagOld = edm::InputTag();
433  for (trigger::size_type i1 = 0; i1 != n1; ++i1) {
434  const edm::ProductID pid(coll1[i1].id());
435  const auto& prov = iEvent.getStableProvenance(pid);
436  const std::string& label(prov.moduleLabel());
437  const std::string& instance(prov.productInstanceName());
438  const std::string& process(prov.processName());
440  if (tagOld.encode() != tagNew.encode()) {
441  filterproduct.addCollectionTag(tagNew);
442  tagOld = tagNew;
443  }
444  }
445  for (unsigned int i = 0; i < originTag2_.size(); ++i) {
446  filterproduct.addCollectionTag(originTag2_[i]);
447  }
448  tagOld = edm::InputTag();
449  for (trigger::size_type i2 = 0; i2 != n2; ++i2) {
450  const edm::ProductID pid(coll2[i2].id());
451  const auto& prov = iEvent.getStableProvenance(pid);
452  const std::string& label(prov.moduleLabel());
453  const std::string& instance(prov.productInstanceName());
454  const std::string& process(prov.processName());
456  if (tagOld.encode() != tagNew.encode()) {
457  filterproduct.addCollectionTag(tagNew);
458  tagOld = tagNew;
459  }
460  }
461  }
462 
463  return true;
464  } else
465  return false;
466 }
const int triggerType1_
Definition: HLTDoubletDZ.h:63
const int triggerType2_
Definition: HLTDoubletDZ.h:64
const std::vector< edm::InputTag > originTag1_
Definition: HLTDoubletDZ.h:52
const std::vector< edm::InputTag > originTag2_
Definition: HLTDoubletDZ.h:53
static PFTauRenderPlugin instance
std::string encode() const
Definition: InputTag.cc:159
std::map< std::string, P2GTAlgoBlock > P2GTAlgoBlockMap
Definition: P2GTAlgoBlock.h:11
uint16_t size_type
const edm::EDGetTokenT< l1t::P2GTAlgoBlockMap > algoBlockToken_
Definition: HLTDoubletDZ.h:60
char const * label
int iEvent
Definition: GenABIO.cc:224
const std::string l1GTAlgoName1_
Definition: HLTDoubletDZ.h:61
const std::string l1GTAlgoName2_
Definition: HLTDoubletDZ.h:62
bool saveTags() const
Definition: HLTFilter.h:46
void addCollectionTag(const edm::InputTag &collectionTag)
collectionTags
std::vector< P2GTCandidateRef > P2GTCandidateVectorRef
Definition: P2GTCandidate.h:20

◆ haveSameSuperCluster() [1/4]

template<typename T1 , typename T2 >
bool HLTDoubletDZ< T1, T2 >::haveSameSuperCluster ( T1 const &  c1,
T2 const &  c2 
) const
private

Definition at line 469 of file HLTDoubletDZ.cc.

References alignmentValidation::c1.

469  {
470  return (c1.superCluster().isNonnull() and c2.superCluster().isNonnull() and (c1.superCluster() == c2.superCluster()));
471 }

◆ haveSameSuperCluster() [2/4]

template<>
bool HLTDoubletDZ< l1t::TrackerMuon, l1t::TrackerMuon >::haveSameSuperCluster ( l1t::TrackerMuon const &  ,
l1t::TrackerMuon const &   
) const
private

Definition at line 474 of file HLTDoubletDZ.cc.

475  {
476  return false;
477 }

◆ haveSameSuperCluster() [3/4]

template<>
bool HLTDoubletDZ< l1t::PFTau, l1t::PFTau >::haveSameSuperCluster ( l1t::PFTau const &  ,
l1t::PFTau const &   
) const
private

Definition at line 480 of file HLTDoubletDZ.cc.

480  {
481  return false;
482 }

◆ haveSameSuperCluster() [4/4]

template<>
bool HLTDoubletDZ< l1t::HPSPFTau, l1t::HPSPFTau >::haveSameSuperCluster ( l1t::HPSPFTau const &  ,
l1t::HPSPFTau const &   
) const
private

Definition at line 485 of file HLTDoubletDZ.cc.

486  {
487  return false;
488 }

◆ hltFilter() [1/2]

template<typename T1 , typename T2 >
bool HLTDoubletDZ< T1, T2 >::hltFilter ( edm::Event iEvent,
edm::EventSetup const &  iSetup,
trigger::TriggerFilterObjectWithRefs filterproduct 
) const
overridevirtual

Implements HLTFilter.

Definition at line 697 of file HLTDoubletDZ.cc.

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

699  {
700  // All HLT filters must create and fill an HLT filter object,
701  // recording any reconstructed physics objects satisfying (or not)
702  // this HLT filter, and place it in the Event.
703  std::vector<T1Ref> coll1;
704  std::vector<T2Ref> coll2;
705 
706  if (getCollections(iEvent, coll1, coll2, filterproduct)) {
707  int n(0);
708  T1Ref r1;
709  T2Ref r2;
710 
711  for (unsigned int i1 = 0; i1 < coll1.size(); ++i1) {
712  r1 = coll1[i1];
713  unsigned int const I = same_ ? i1 + 1 : 0;
714  for (unsigned int i2 = I; i2 < coll2.size(); ++i2) {
715  r2 = coll2[i2];
716 
717  if (checkSC_ and haveSameSuperCluster(*r1, *r2)) {
718  continue;
719  }
720 
721  if (not computeDZ(iEvent, *r1, *r2)) {
722  continue;
723  }
724 
725  n++;
726  filterproduct.addObject(triggerType1_, r1);
727  filterproduct.addObject(triggerType2_, r2);
728  }
729  }
730 
731  return (n >= min_N_);
732  }
733 
734  return false;
735 }
edm::Ref< std::vector< T2 > > T2Ref
Definition: HLTDoubletDZ.h:38
const int triggerType1_
Definition: HLTDoubletDZ.h:63
const int triggerType2_
Definition: HLTDoubletDZ.h:64
bool computeDZ(edm::Event const &iEvent, T1 const &c1, T2 const &c2) const
const bool same_
Definition: HLTDoubletDZ.h:71
void addObject(int id, const reco::RecoEcalCandidateRef &ref)
setters for L3 collections: (id=physics type, and Ref<C>)
int iEvent
Definition: GenABIO.cc:224
bool getCollections(edm::Event const &iEvent, std::vector< T1Ref > &coll1, std::vector< T2Ref > &coll2, trigger::TriggerFilterObjectWithRefs &filterproduct) const
const std::complex< double > I
Definition: I.h:8
const int min_N_
Definition: HLTDoubletDZ.h:68
bool haveSameSuperCluster(T1 const &c1, T2 const &c2) const
edm::Ref< std::vector< T1 > > T1Ref
Definition: HLTDoubletDZ.h:37
const bool checkSC_
Definition: HLTDoubletDZ.h:70

◆ hltFilter() [2/2]

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

Implements HLTFilter.

Definition at line 738 of file HLTDoubletDZ.cc.

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

739  {
740  // All HLT filters must create and fill an HLT filter object,
741  // recording any reconstructed physics objects satisfying (or not)
742  // this HLT filter, and place it in the Event.
743  bool accept(false);
744 
745  std::vector<l1t::P2GTCandidateRef> coll1;
746  std::vector<l1t::P2GTCandidateRef> coll2;
747 
748  if (getCollections(iEvent, coll1, coll2, filterproduct)) {
749  int n(0);
752 
753  for (unsigned int i1 = 0; i1 != coll1.size(); i1++) {
754  r1 = coll1[i1];
755  unsigned int I(0);
756  if (same_) {
757  I = i1 + 1;
758  }
759  for (unsigned int i2 = I; i2 != coll2.size(); i2++) {
760  r2 = coll2[i2];
761 
762  if (!computeDZ(iEvent, *r1, *r2))
763  continue;
764 
765  n++;
766  filterproduct.addObject(triggerType1_, r1);
767  filterproduct.addObject(triggerType2_, r2);
768  }
769  }
770 
771  accept = accept || (n >= min_N_);
772  }
773  return accept;
774 }
const int triggerType1_
Definition: HLTDoubletDZ.h:63
const int triggerType2_
Definition: HLTDoubletDZ.h:64
bool computeDZ(edm::Event const &iEvent, T1 const &c1, T2 const &c2) const
const bool same_
Definition: HLTDoubletDZ.h:71
bool accept(const edm::Event &event, const edm::TriggerResults &triggerTable, const std::string &triggerPath)
Definition: TopDQMHelpers.h:31
void addObject(int id, const reco::RecoEcalCandidateRef &ref)
setters for L3 collections: (id=physics type, and Ref<C>)
int iEvent
Definition: GenABIO.cc:224
bool getCollections(edm::Event const &iEvent, std::vector< T1Ref > &coll1, std::vector< T2Ref > &coll2, trigger::TriggerFilterObjectWithRefs &filterproduct) const
const std::complex< double > I
Definition: I.h:8
const int min_N_
Definition: HLTDoubletDZ.h:68

◆ passCutMinDeltaR() [1/3]

template<typename T1 , typename T2 >
bool HLTDoubletDZ< C1, C2 >::passCutMinDeltaR ( T1 const &  c1,
T2 const &  c2 
) const
private

Definition at line 491 of file HLTDoubletDZ.cc.

References alignmentValidation::c1, reco::deltaR2(), and or.

491  {
492  return (minDR_ < 0 or reco::deltaR2(c1, c2) >= minDR2_);
493 }
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e< void, edm::EventID const &, edm::Timestamp const & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
Definition: Activities.doc:12
const double minDR_
Definition: HLTDoubletDZ.h:65
const double minDR2_
Definition: HLTDoubletDZ.h:66
constexpr auto deltaR2(const T1 &t1, const T2 &t2) -> decltype(t1.eta())
Definition: deltaR.h:16

◆ passCutMinDeltaR() [2/3]

template<>
bool HLTDoubletDZ< l1t::P2GTCandidate, l1t::P2GTCandidate >::passCutMinDeltaR ( l1t::P2GTCandidate const &  c1,
l1t::P2GTCandidate const &  c2 
) const
private

Definition at line 496 of file HLTDoubletDZ.cc.

References alignmentValidation::c1, reco::deltaR2(), and or.

497  {
498  return (minDR_ < 0 or reco::deltaR2(c1, c2) > minDR2_);
499 }
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e< void, edm::EventID const &, edm::Timestamp const & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
Definition: Activities.doc:12
const double minDR_
Definition: HLTDoubletDZ.h:65
const double minDR2_
Definition: HLTDoubletDZ.h:66
constexpr auto deltaR2(const T1 &t1, const T2 &t2) -> decltype(t1.eta())
Definition: deltaR.h:16

◆ passCutMinDeltaR() [3/3]

template<>
bool HLTDoubletDZ< l1t::TrackerMuon, l1t::TrackerMuon >::passCutMinDeltaR ( l1t::TrackerMuon const &  m1,
l1t::TrackerMuon const &  m2 
) const
private

Definition at line 502 of file HLTDoubletDZ.cc.

References reco::deltaR2(), callgraph::m2, and or.

503  {
504  return (minDR_ < 0 or reco::deltaR2(m1.phEta(), m1.phPhi(), m2.phEta(), m2.phPhi()) >= minDR2_);
505 }
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e< void, edm::EventID const &, edm::Timestamp const & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
Definition: Activities.doc:12
const double minDR_
Definition: HLTDoubletDZ.h:65
const double minDR2_
Definition: HLTDoubletDZ.h:66
constexpr auto deltaR2(const T1 &t1, const T2 &t2) -> decltype(t1.eta())
Definition: deltaR.h:16

Member Data Documentation

◆ algoBlockToken_

template<typename T1 , typename T2 >
const edm::EDGetTokenT<l1t::P2GTAlgoBlockMap> HLTDoubletDZ< T1, T2 >::algoBlockToken_
private

Definition at line 60 of file HLTDoubletDZ.h.

◆ checkSC_

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

Definition at line 70 of file HLTDoubletDZ.h.

◆ electronToken_

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

Definition at line 58 of file HLTDoubletDZ.h.

◆ inputTag1_

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

Definition at line 54 of file HLTDoubletDZ.h.

◆ inputTag2_

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

Definition at line 55 of file HLTDoubletDZ.h.

◆ inputToken1_

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

Definition at line 56 of file HLTDoubletDZ.h.

◆ inputToken2_

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

Definition at line 57 of file HLTDoubletDZ.h.

◆ l1GTAlgoBlockTag_

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

Definition at line 59 of file HLTDoubletDZ.h.

◆ l1GTAlgoName1_

template<typename T1 , typename T2 >
const std::string HLTDoubletDZ< T1, T2 >::l1GTAlgoName1_
private

Definition at line 61 of file HLTDoubletDZ.h.

◆ l1GTAlgoName2_

template<typename T1 , typename T2 >
const std::string HLTDoubletDZ< T1, T2 >::l1GTAlgoName2_
private

Definition at line 62 of file HLTDoubletDZ.h.

◆ maxDZ_

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

Definition at line 67 of file HLTDoubletDZ.h.

◆ min_N_

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

Definition at line 68 of file HLTDoubletDZ.h.

◆ minDR2_

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

Definition at line 66 of file HLTDoubletDZ.h.

◆ minDR_

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

Definition at line 65 of file HLTDoubletDZ.h.

◆ minPixHitsForDZ_

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

Definition at line 69 of file HLTDoubletDZ.h.

◆ originTag1_

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

Definition at line 52 of file HLTDoubletDZ.h.

◆ originTag2_

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

Definition at line 53 of file HLTDoubletDZ.h.

◆ same_

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

Definition at line 71 of file HLTDoubletDZ.h.

◆ triggerType1_

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

Definition at line 63 of file HLTDoubletDZ.h.

◆ triggerType2_

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

Definition at line 64 of file HLTDoubletDZ.h.