CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Static Public Member Functions | Private Attributes | Static Private Attributes
HLT2L1TkMuonL1TkMuonMuRefDR Class Reference

#include <HLT2L1TkMuonL1TkMuonMuRefDR.h>

Inheritance diagram for HLT2L1TkMuonL1TkMuonMuRefDR:
HLTFilter edm::global::EDFilter<> edm::global::EDFilterBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

bool computeDR (edm::Event &iEvent, l1t::TkMuonRef &c1, l1t::TkMuonRef &c2) const
 
std::pair< float, float > convertEtaPhi (l1t::TkMuonRef &tkmu) const
 
bool getCollections (edm::Event &iEvent, std::vector< l1t::TkMuonRef > &coll1, std::vector< l1t::TkMuonRef > &coll2, trigger::TriggerFilterObjectWithRefs &filterproduct) const
 
 HLT2L1TkMuonL1TkMuonMuRefDR (const edm::ParameterSet &)
 
bool hltFilter (edm::Event &, const edm::EventSetup &, trigger::TriggerFilterObjectWithRefs &filterproduct) const override
 
 ~HLT2L1TkMuonL1TkMuonMuRefDR () override
 
- Public Member Functions inherited from HLTFilter
 HLTFilter (const edm::ParameterSet &config)
 
int module (edm::Event const &) const
 
const std::string * moduleLabel () const
 
int path (edm::Event const &) const
 
const std::string * pathName (edm::Event const &) const
 
std::pair< int, int > pmid (edm::Event const &) const
 
bool saveTags () const
 
 ~HLTFilter () override
 
- Public Member Functions inherited from edm::global::EDFilter<>
 EDFilter ()=default
 
 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
 
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)
 
 ~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
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
std::vector< ESProxyIndex > 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
 
bool registeredToConsumeMany (TypeID const &, 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::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Static Public Member Functions

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

Private Attributes

const edm::InputTag inputTag1_
 
const edm::InputTag inputTag2_
 
const edm::EDGetTokenT
< trigger::TriggerFilterObjectWithRefs
inputToken1_
 
const edm::EDGetTokenT
< trigger::TriggerFilterObjectWithRefs
inputToken2_
 
const int min_N_
 
const double minDR_
 
const std::vector< edm::InputTagoriginTag1_
 
const std::vector< edm::InputTagoriginTag2_
 
const bool same_
 

Static Private Attributes

static constexpr unsigned int emtfRegion_ {3}
 
static constexpr float etaScale_ {0.010875}
 
static constexpr float phiScale_ {2. * M_PI / 576.}
 

Additional Inherited Members

- Public Types inherited from edm::global::EDFilterBase
typedef EDFilterBase ModuleType
 
- Public Types inherited from edm::ProducerBase
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex >>
 
typedef
ProductRegistryHelper::TypeLabelList 
TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Protected Member Functions inherited from edm::ProducerBase
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< B > consumes (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 ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
template<Transition Tr = Transition::Event>
constexpr auto esConsumes () noexcept
 
template<Transition Tr = Transition::Event>
auto esConsumes (ESInputTag tag) noexcept
 
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

Definition at line 23 of file HLT2L1TkMuonL1TkMuonMuRefDR.h.

Constructor & Destructor Documentation

HLT2L1TkMuonL1TkMuonMuRefDR::HLT2L1TkMuonL1TkMuonMuRefDR ( const edm::ParameterSet iConfig)
explicit

Definition at line 20 of file HLT2L1TkMuonL1TkMuonMuRefDR.cc.

21  : HLTFilter(iConfig),
22  originTag1_(iConfig.getParameter<std::vector<edm::InputTag>>("originTag1")),
23  originTag2_(iConfig.getParameter<std::vector<edm::InputTag>>("originTag2")),
24  inputTag1_(iConfig.getParameter<edm::InputTag>("inputTag1")),
25  inputTag2_(iConfig.getParameter<edm::InputTag>("inputTag2")),
26  inputToken1_(consumes<trigger::TriggerFilterObjectWithRefs>(inputTag1_)),
27  inputToken2_(consumes<trigger::TriggerFilterObjectWithRefs>(inputTag2_)),
28  minDR_(iConfig.getParameter<double>("MinDR")),
29  min_N_(iConfig.getParameter<int>("MinN")),
30  same_(inputTag1_.encode() == inputTag2_.encode()) {} // same collections to be compared?
const edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > inputToken1_
const std::vector< edm::InputTag > originTag1_
std::string encode() const
Definition: InputTag.cc:159
const std::vector< edm::InputTag > originTag2_
HLTFilter(const edm::ParameterSet &config)
Definition: HLTFilter.cc:20
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
const edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > inputToken2_
HLT2L1TkMuonL1TkMuonMuRefDR::~HLT2L1TkMuonL1TkMuonMuRefDR ( )
override

Definition at line 32 of file HLT2L1TkMuonL1TkMuonMuRefDR.cc.

32 {}

Member Function Documentation

bool HLT2L1TkMuonL1TkMuonMuRefDR::computeDR ( edm::Event iEvent,
l1t::TkMuonRef c1,
l1t::TkMuonRef c2 
) const

Definition at line 124 of file HLT2L1TkMuonL1TkMuonMuRefDR.cc.

References convertEtaPhi(), reco::deltaR2(), HLT_FULL_cff::eta1, HLT_FULL_cff::eta2, and minDR_.

Referenced by hltFilter().

124  {
125  if (minDR_ < 0.)
126  return true;
127 
128  auto [eta1, phi1] = convertEtaPhi(r1);
129  auto [eta2, phi2] = convertEtaPhi(r2);
130  return (reco::deltaR2(eta1, phi1, eta2, phi2) > minDR_ * minDR_);
131 }
std::pair< float, float > convertEtaPhi(l1t::TkMuonRef &tkmu) const
constexpr auto deltaR2(const T1 &t1, const T2 &t2) -> decltype(t1.eta())
Definition: deltaR.h:16
std::pair< float, float > HLT2L1TkMuonL1TkMuonMuRefDR::convertEtaPhi ( l1t::TkMuonRef tkmu) const

Definition at line 100 of file HLT2L1TkMuonL1TkMuonMuRefDR.cc.

References l1t::MicroGMTConfiguration::calcGlobalPhi(), angle_units::operators::convertDegToRad(), emtfRegion_, etaScale_, edm::Ref< C, T, F >::isNull(), phiScale_, and reco::reduceRange().

Referenced by computeDR().

100  {
101  float muRefEta = 0.;
102  float muRefPhi = 0.;
103 
104  if (tkmu->muonDetector() != emtfRegion_) {
105  if (tkmu->muRef().isNull())
106  return std::make_pair(muRefEta, muRefPhi);
107 
108  muRefEta = tkmu->muRef()->hwEta() * etaScale_;
109  muRefPhi = static_cast<float>(l1t::MicroGMTConfiguration::calcGlobalPhi(
110  tkmu->muRef()->hwPhi(), tkmu->muRef()->trackFinderType(), tkmu->muRef()->processor()));
111  muRefPhi = muRefPhi * phiScale_;
112  } else {
113  if (tkmu->emtfTrk().isNull())
114  return std::make_pair(muRefEta, muRefPhi);
115 
116  muRefEta = tkmu->emtfTrk()->Eta();
117  muRefPhi = angle_units::operators::convertDegToRad(tkmu->emtfTrk()->Phi_glob());
118  }
119  muRefPhi = reco::reduceRange(muRefPhi);
120 
121  return std::make_pair(muRefEta, muRefPhi);
122 }
constexpr double convertDegToRad(NumType degrees)
Definition: angle_units.h:27
constexpr T reduceRange(T x)
Definition: deltaPhi.h:18
bool isNull() const
Checks for null.
Definition: Ref.h:235
static constexpr unsigned int emtfRegion_
static int calcGlobalPhi(int locPhi, tftype t, int proc)
void HLT2L1TkMuonL1TkMuonMuRefDR::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 34 of file HLT2L1TkMuonL1TkMuonMuRefDR.cc.

References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::add(), submitPVResolutionJobs::desc, HLT_FULL_cff::InputTag, HLTFilter::makeHLTFilterDescription(), HLT_FULL_cff::originTag1, and HLT_FULL_cff::originTag2.

34  {
37  std::vector<edm::InputTag> originTag1(1, edm::InputTag("hltOriginal1"));
38  std::vector<edm::InputTag> originTag2(1, edm::InputTag("hltOriginal2"));
39  desc.add<std::vector<edm::InputTag>>("originTag1", originTag1);
40  desc.add<std::vector<edm::InputTag>>("originTag2", originTag2);
41  desc.add<edm::InputTag>("inputTag1", edm::InputTag("hltFiltered1"));
42  desc.add<edm::InputTag>("inputTag2", edm::InputTag("hltFiltered2"));
43  desc.add<double>("MinDR", -1.0);
44  desc.add<int>("MinN", 1);
45 
46  descriptions.add("hlt2L1TkMuonL1TkMuonMuRefDR", desc);
47 }
ParameterDescriptionBase * add(U const &iLabel, T const &value)
static void makeHLTFilterDescription(edm::ParameterSetDescription &desc)
Definition: HLTFilter.cc:25
void add(std::string const &label, ParameterSetDescription const &psetDescription)
bool HLT2L1TkMuonL1TkMuonMuRefDR::getCollections ( edm::Event iEvent,
std::vector< l1t::TkMuonRef > &  coll1,
std::vector< l1t::TkMuonRef > &  coll2,
trigger::TriggerFilterObjectWithRefs filterproduct 
) const

Definition at line 49 of file HLT2L1TkMuonL1TkMuonMuRefDR.cc.

References trigger::TriggerFilterObjectWithRefs::addCollectionTag(), edm::InputTag::encode(), edm::Event::getByToken(), edm::Event::getProvenance(), mps_fire::i, HLT_FULL_cff::InputTag, inputToken1_, inputToken2_, instance, label, edm::Provenance::moduleLabel(), originTag1_, originTag2_, LaserDQM_cfg::process, edm::Provenance::processName(), edm::Provenance::productInstanceName(), HLTFilter::saveTags(), AlCaHLTBitMon_QueryRunRegistry::string, and trigger::TriggerL1TkMu.

Referenced by hltFilter().

52  {
54  if (iEvent.getByToken(inputToken1_, handle1) and iEvent.getByToken(inputToken2_, handle2)) {
55  // get hold of pre-filtered object collections
56  handle1->getObjects(trigger::TriggerObjectType::TriggerL1TkMu, coll1);
57  handle2->getObjects(trigger::TriggerObjectType::TriggerL1TkMu, coll2);
58  const trigger::size_type n1(coll1.size());
59  const trigger::size_type n2(coll2.size());
60 
61  if (saveTags()) {
62  edm::InputTag tagOld;
63  for (unsigned int i = 0; i < originTag1_.size(); ++i) {
64  filterproduct.addCollectionTag(originTag1_[i]);
65  }
66  tagOld = edm::InputTag();
67  for (trigger::size_type i1 = 0; i1 != n1; ++i1) {
68  const edm::ProductID pid(coll1[i1].id());
69  const std::string& label(iEvent.getProvenance(pid).moduleLabel());
71  const std::string& process(iEvent.getProvenance(pid).processName());
73  if (tagOld.encode() != tagNew.encode()) {
74  filterproduct.addCollectionTag(tagNew);
75  tagOld = tagNew;
76  }
77  }
78  for (unsigned int i = 0; i < originTag2_.size(); ++i) {
79  filterproduct.addCollectionTag(originTag2_[i]);
80  }
81  tagOld = edm::InputTag();
82  for (trigger::size_type i2 = 0; i2 != n2; ++i2) {
83  const edm::ProductID pid(coll2[i2].id());
84  const std::string& label(iEvent.getProvenance(pid).moduleLabel());
86  const std::string& process(iEvent.getProvenance(pid).processName());
88  if (tagOld.encode() != tagNew.encode()) {
89  filterproduct.addCollectionTag(tagNew);
90  tagOld = tagNew;
91  }
92  }
93  }
94 
95  return true;
96  } else
97  return false;
98 }
static PFTauRenderPlugin instance
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:539
const edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > inputToken1_
This has all to be decided for Phase-2. Here is Thiago&#39;s proposal.
const std::vector< edm::InputTag > originTag1_
std::string const & processName() const
Definition: Provenance.h:57
uint16_t size_type
std::string encode() const
Definition: InputTag.cc:159
char const * label
const std::vector< edm::InputTag > originTag2_
void addCollectionTag(const edm::InputTag &collectionTag)
collectionTags
std::string const & moduleLabel() const
Definition: Provenance.h:55
bool saveTags() const
Definition: HLTFilter.h:46
const edm::EDGetTokenT< trigger::TriggerFilterObjectWithRefs > inputToken2_
std::string const & productInstanceName() const
Definition: Provenance.h:58
tuple process
Definition: LaserDQM_cfg.py:3
Provenance const & getProvenance(BranchID const &theID) const
Definition: Event.cc:118
bool HLT2L1TkMuonL1TkMuonMuRefDR::hltFilter ( edm::Event iEvent,
const edm::EventSetup iSetup,
trigger::TriggerFilterObjectWithRefs filterproduct 
) const
overridevirtual

Implements HLTFilter.

Definition at line 134 of file HLT2L1TkMuonL1TkMuonMuRefDR.cc.

References accept(), trigger::TriggerRefsCollections::addObject(), computeDR(), getCollections(), Exhume::I, min_N_, dqmiodumpmetadata::n, diffTwoXMLs::r1, diffTwoXMLs::r2, same_, and trigger::TriggerL1TkMu.

136  {
137  // All HLT filters must create and fill an HLT filter object,
138  // recording any reconstructed physics objects satisfying (or not)
139  // this HLT filter, and place it in the Event.
140  bool accept(false);
141 
142  std::vector<l1t::TkMuonRef> coll1;
143  std::vector<l1t::TkMuonRef> coll2;
144 
145  if (getCollections(iEvent, coll1, coll2, filterproduct)) {
146  int n(0);
149 
150  for (unsigned int i1 = 0; i1 != coll1.size(); i1++) {
151  r1 = coll1[i1];
152  unsigned int I(0);
153  if (same_) {
154  I = i1 + 1;
155  }
156  for (unsigned int i2 = I; i2 != coll2.size(); i2++) {
157  r2 = coll2[i2];
158 
159  if (!computeDR(iEvent, r1, r2))
160  continue;
161 
162  n++;
165  }
166  }
167 
168  accept = accept || (n >= min_N_);
169  }
170 
171  return accept;
172 }
This has all to be decided for Phase-2. Here is Thiago&#39;s proposal.
bool computeDR(edm::Event &iEvent, l1t::TkMuonRef &c1, l1t::TkMuonRef &c2) const
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&lt;C&gt;)
const std::complex< double > I
Definition: I.h:8
bool getCollections(edm::Event &iEvent, std::vector< l1t::TkMuonRef > &coll1, std::vector< l1t::TkMuonRef > &coll2, trigger::TriggerFilterObjectWithRefs &filterproduct) const

Member Data Documentation

constexpr unsigned int HLT2L1TkMuonL1TkMuonMuRefDR::emtfRegion_ {3}
staticprivate

Definition at line 51 of file HLT2L1TkMuonL1TkMuonMuRefDR.h.

Referenced by convertEtaPhi().

constexpr float HLT2L1TkMuonL1TkMuonMuRefDR::etaScale_ {0.010875}
staticprivate

Definition at line 52 of file HLT2L1TkMuonL1TkMuonMuRefDR.h.

Referenced by convertEtaPhi().

const edm::InputTag HLT2L1TkMuonL1TkMuonMuRefDR::inputTag1_
private

Definition at line 42 of file HLT2L1TkMuonL1TkMuonMuRefDR.h.

const edm::InputTag HLT2L1TkMuonL1TkMuonMuRefDR::inputTag2_
private

Definition at line 43 of file HLT2L1TkMuonL1TkMuonMuRefDR.h.

const edm::EDGetTokenT<trigger::TriggerFilterObjectWithRefs> HLT2L1TkMuonL1TkMuonMuRefDR::inputToken1_
private

Definition at line 44 of file HLT2L1TkMuonL1TkMuonMuRefDR.h.

Referenced by getCollections().

const edm::EDGetTokenT<trigger::TriggerFilterObjectWithRefs> HLT2L1TkMuonL1TkMuonMuRefDR::inputToken2_
private

Definition at line 45 of file HLT2L1TkMuonL1TkMuonMuRefDR.h.

Referenced by getCollections().

const int HLT2L1TkMuonL1TkMuonMuRefDR::min_N_
private

Definition at line 47 of file HLT2L1TkMuonL1TkMuonMuRefDR.h.

Referenced by hltFilter().

const double HLT2L1TkMuonL1TkMuonMuRefDR::minDR_
private

Definition at line 46 of file HLT2L1TkMuonL1TkMuonMuRefDR.h.

Referenced by computeDR().

const std::vector<edm::InputTag> HLT2L1TkMuonL1TkMuonMuRefDR::originTag1_
private

Definition at line 40 of file HLT2L1TkMuonL1TkMuonMuRefDR.h.

Referenced by getCollections().

const std::vector<edm::InputTag> HLT2L1TkMuonL1TkMuonMuRefDR::originTag2_
private

Definition at line 41 of file HLT2L1TkMuonL1TkMuonMuRefDR.h.

Referenced by getCollections().

constexpr float HLT2L1TkMuonL1TkMuonMuRefDR::phiScale_ {2. * M_PI / 576.}
staticprivate

Definition at line 53 of file HLT2L1TkMuonL1TkMuonMuRefDR.h.

Referenced by convertEtaPhi().

const bool HLT2L1TkMuonL1TkMuonMuRefDR::same_
private

Definition at line 48 of file HLT2L1TkMuonL1TkMuonMuRefDR.h.

Referenced by hltFilter().