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 final
 
bool wantsGlobalRuns () const final
 
bool wantsInputProcessBlocks () const final
 
bool wantsProcessBlocks () 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 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< std::vector< l1t::P2GTAlgoBlock > > algoBlockToken_
 
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<std::vector<l1t::P2GTAlgoBlock>>(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
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
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< std::vector< l1t::P2GTAlgoBlock > > algoBlockToken_
Definition: HLTDoubletDZ.h:60
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 571 of file HLTDoubletDZ.cc.

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

571  {
572  return ((std::abs(c1.vz() - c2.vz()) <= maxDZ_) and passCutMinDeltaR(c1, c2));
573 }
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 576 of file HLTDoubletDZ.cc.

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

578  {
579  if (maxDZ_ > 0 && std::abs(c1.vz() - c2.vz()) > maxDZ_) {
580  return false;
581  }
582 
583  if (not passCutMinDeltaR(c1, c2)) {
584  return false;
585  }
586 
587  return true;
588 }
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 591 of file HLTDoubletDZ.cc.

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

592  {
593  if (not passCutMinDeltaR(c1, c2))
594  return false;
595 
596  bool hasValidVZ2 = false;
597  auto const vz2 = getCandidateVZ(c2, hasValidVZ2, minPixHitsForDZ_);
598  if (not hasValidVZ2)
599  return true;
600 
601  bool hasValidVZ1 = false;
602  auto const& electrons = iEvent.get(electronToken_);
603  auto const vz1 = getCandidateVZ(c1, hasValidVZ1, minPixHitsForDZ_, electrons);
604  if (not hasValidVZ1)
605  return true;
606 
607  return (std::abs(vz1 - vz2) <= maxDZ_);
608 }
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 611 of file HLTDoubletDZ.cc.

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

612  {
613  if (not passCutMinDeltaR(c1, c2))
614  return false;
615 
616  bool hasValidVZ1 = false;
617  auto const vz1 = getCandidateVZ(c1, hasValidVZ1, minPixHitsForDZ_);
618  if (not hasValidVZ1)
619  return true;
620 
621  bool hasValidVZ2 = false;
622  auto const& electrons = iEvent.get(electronToken_);
623  auto const vz2 = getCandidateVZ(c2, hasValidVZ2, minPixHitsForDZ_, electrons);
624  if (not hasValidVZ2)
625  return true;
626 
627  return (std::abs(vz1 - vz2) <= maxDZ_);
628 }
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 631 of file HLTDoubletDZ.cc.

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

632  {
633  if (not passCutMinDeltaR(c1, c2))
634  return false;
635 
636  auto const& electrons = iEvent.get(electronToken_);
637 
638  bool hasValidVZ1 = false;
639  auto const vz1 = getCandidateVZ(c1, hasValidVZ1, minPixHitsForDZ_, electrons);
640  if (not hasValidVZ1)
641  return true;
642 
643  bool hasValidVZ2 = false;
644  auto const vz2 = getCandidateVZ(c2, hasValidVZ2, minPixHitsForDZ_, electrons);
645  if (not hasValidVZ2)
646  return true;
647 
648  return (std::abs(vz1 - vz2) <= maxDZ_);
649 }
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 652 of file HLTDoubletDZ.cc.

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

653  {
654  if (not passCutMinDeltaR(c1, c2))
655  return false;
656 
657  bool hasValidVZ1 = false;
658  auto const vz1 = getCandidateVZ(c1, hasValidVZ1, minPixHitsForDZ_);
659  if (not hasValidVZ1)
660  return true;
661 
662  bool hasValidVZ2 = false;
663  auto const vz2 = getCandidateVZ(c2, hasValidVZ2, minPixHitsForDZ_);
664  if (not hasValidVZ2)
665  return true;
666 
667  return (std::abs(vz1 - vz2) <= maxDZ_);
668 }
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 671 of file HLTDoubletDZ.cc.

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

673  {
674  return ((std::abs(c1.phZ0() - c2.phZ0()) <= maxDZ_) and passCutMinDeltaR(c1, c2));
675 }
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 678 of file HLTDoubletDZ.cc.

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

680  {
681  if (not passCutMinDeltaR(c1, c2))
682  return false;
683 
684  bool hasValidVZ1 = false;
685  auto const vz1 = getCandidateVZ(c1, hasValidVZ1);
686  if (not hasValidVZ1)
687  return false;
688 
689  bool hasValidVZ2 = false;
690  auto const vz2 = getCandidateVZ(c2, hasValidVZ2);
691  if (not hasValidVZ2)
692  return false;
693 
694  return (std::abs(vz1 - vz2) <= maxDZ_);
695 }
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  {
397  const std::vector<l1t::P2GTAlgoBlock>& algos = iEvent.get(algoBlockToken_);
398 
399  if (!algos.empty()) {
400  for (const l1t::P2GTAlgoBlock& algo : algos) {
401  if (algo.algoName() == l1GTAlgoName1_ && algo.decisionBeforeBxMaskAndPrescale()) {
402  const l1t::P2GTCandidateVectorRef& objects = algo.trigObjects();
403  for (const l1t::P2GTCandidateRef& obj : objects) {
407  coll1.push_back(obj);
408  }
409  }
410  }
411  if (algo.algoName() == l1GTAlgoName2_ && algo.decisionBeforeBxMaskAndPrescale()) {
412  const l1t::P2GTCandidateVectorRef& objects = algo.trigObjects();
413  for (const l1t::P2GTCandidateRef& obj : objects) {
417  coll2.push_back(obj);
418  }
419  }
420  }
421  }
422  }
423 
424  if (!coll1.empty() && !coll2.empty()) {
425  const trigger::size_type n1(coll1.size());
426  const trigger::size_type n2(coll2.size());
427 
428  if (saveTags()) {
429  edm::InputTag tagOld;
430  for (unsigned int i = 0; i < originTag1_.size(); ++i) {
431  filterproduct.addCollectionTag(originTag1_[i]);
432  }
433  tagOld = edm::InputTag();
434  for (trigger::size_type i1 = 0; i1 != n1; ++i1) {
435  const edm::ProductID pid(coll1[i1].id());
436  const auto& prov = iEvent.getStableProvenance(pid);
437  const std::string& label(prov.moduleLabel());
438  const std::string& instance(prov.productInstanceName());
439  const std::string& process(prov.processName());
441  if (tagOld.encode() != tagNew.encode()) {
442  filterproduct.addCollectionTag(tagNew);
443  tagOld = tagNew;
444  }
445  }
446  for (unsigned int i = 0; i < originTag2_.size(); ++i) {
447  filterproduct.addCollectionTag(originTag2_[i]);
448  }
449  tagOld = edm::InputTag();
450  for (trigger::size_type i2 = 0; i2 != n2; ++i2) {
451  const edm::ProductID pid(coll2[i2].id());
452  const auto& prov = iEvent.getStableProvenance(pid);
453  const std::string& label(prov.moduleLabel());
454  const std::string& instance(prov.productInstanceName());
455  const std::string& process(prov.processName());
457  if (tagOld.encode() != tagNew.encode()) {
458  filterproduct.addCollectionTag(tagNew);
459  tagOld = tagNew;
460  }
461  }
462  }
463 
464  return true;
465  } else
466  return false;
467 }
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
uint16_t size_type
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
const edm::EDGetTokenT< std::vector< l1t::P2GTAlgoBlock > > algoBlockToken_
Definition: HLTDoubletDZ.h:60

◆ haveSameSuperCluster() [1/4]

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

Definition at line 470 of file HLTDoubletDZ.cc.

References alignmentValidation::c1.

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

◆ haveSameSuperCluster() [2/4]

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

Definition at line 475 of file HLTDoubletDZ.cc.

476  {
477  return false;
478 }

◆ haveSameSuperCluster() [3/4]

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

Definition at line 481 of file HLTDoubletDZ.cc.

481  {
482  return false;
483 }

◆ haveSameSuperCluster() [4/4]

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

Definition at line 486 of file HLTDoubletDZ.cc.

487  {
488  return false;
489 }

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

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

700  {
701  // All HLT filters must create and fill an HLT filter object,
702  // recording any reconstructed physics objects satisfying (or not)
703  // this HLT filter, and place it in the Event.
704  std::vector<T1Ref> coll1;
705  std::vector<T2Ref> coll2;
706 
707  if (getCollections(iEvent, coll1, coll2, filterproduct)) {
708  int n(0);
709  T1Ref r1;
710  T2Ref r2;
711 
712  for (unsigned int i1 = 0; i1 < coll1.size(); ++i1) {
713  r1 = coll1[i1];
714  unsigned int const I = same_ ? i1 + 1 : 0;
715  for (unsigned int i2 = I; i2 < coll2.size(); ++i2) {
716  r2 = coll2[i2];
717 
718  if (checkSC_ and haveSameSuperCluster(*r1, *r2)) {
719  continue;
720  }
721 
722  if (not computeDZ(iEvent, *r1, *r2)) {
723  continue;
724  }
725 
726  n++;
727  filterproduct.addObject(triggerType1_, r1);
728  filterproduct.addObject(triggerType2_, r2);
729  }
730  }
731 
732  return (n >= min_N_);
733  }
734 
735  return false;
736 }
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 739 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.

740  {
741  // All HLT filters must create and fill an HLT filter object,
742  // recording any reconstructed physics objects satisfying (or not)
743  // this HLT filter, and place it in the Event.
744  bool accept(false);
745 
746  std::vector<l1t::P2GTCandidateRef> coll1;
747  std::vector<l1t::P2GTCandidateRef> coll2;
748 
749  if (getCollections(iEvent, coll1, coll2, filterproduct)) {
750  int n(0);
753 
754  for (unsigned int i1 = 0; i1 != coll1.size(); i1++) {
755  r1 = coll1[i1];
756  unsigned int I(0);
757  if (same_) {
758  I = i1 + 1;
759  }
760  for (unsigned int i2 = I; i2 != coll2.size(); i2++) {
761  r2 = coll2[i2];
762 
763  if (!computeDZ(iEvent, *r1, *r2))
764  continue;
765 
766  n++;
767  filterproduct.addObject(triggerType1_, r1);
768  filterproduct.addObject(triggerType2_, r2);
769  }
770  }
771 
772  accept = accept || (n >= min_N_);
773  }
774  return accept;
775 }
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 492 of file HLTDoubletDZ.cc.

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

492  {
493  return (minDR_ < 0 or reco::deltaR2(c1, c2) >= minDR2_);
494 }
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 497 of file HLTDoubletDZ.cc.

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

498  {
499  return (minDR_ < 0 or reco::deltaR2(c1, c2) > minDR2_);
500 }
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 503 of file HLTDoubletDZ.cc.

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

504  {
505  return (minDR_ < 0 or reco::deltaR2(m1.phEta(), m1.phPhi(), m2.phEta(), m2.phPhi()) >= minDR2_);
506 }
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<std::vector<l1t::P2GTAlgoBlock> > 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.