1 #ifndef DPGAnalysis_SiStripTools_MultiplicityAlgorithms_H 2 #define DPGAnalysis_SiStripTools_MultiplicityAlgorithms_H 66 : m_modthr(iConfig.getUntrackedParameter<
int>(
"moduleThreshold")),
67 m_useQuality(iConfig.getUntrackedParameter<
bool>(
"useQuality",
false)),
68 m_qualityToken(m_useQuality
71 : decltype(m_qualityToken){}),
72 m_collection(iC.consumes<
T>(iConfig.getParameter<
edm::InputTag>(
"collectionName"))) {}
75 : m_modthr(iConfig.getUntrackedParameter<
int>(
"moduleThreshold")),
76 m_useQuality(iConfig.getUntrackedParameter<
bool>(
"useQuality",
false)),
77 m_qualityToken(m_useQuality
80 : decltype(m_qualityToken){}),
81 m_collection(iC.consumes<
T>(iConfig.getParameter<
edm::InputTag>(
"collectionName"))) {}
94 iEvent.getByToken(m_collection, digis);
96 for (
typename T::const_iterator
it = digis->begin();
it != digis->end();
it++) {
97 if (!m_useQuality || !
quality->IsModuleBad(
it->detId())) {
98 if (m_modthr < 0 ||
int(
it->size()) < m_modthr) {
107 template <
class T1,
class T2>
122 template <
class T1,
class T2>
125 template <
class T1,
class T2>
127 : m_multiplicity1(iConfig.getParameter<
edm::
ParameterSet>(
"firstMultiplicityConfig"), iC),
128 m_multiplicity2(iConfig.getParameter<
edm::
ParameterSet>(
"secondMultiplicityConfig"), iC) {}
129 template <
class T1,
class T2>
131 : m_multiplicity1(iConfig.getParameter<
edm::
ParameterSet>(
"firstMultiplicityConfig"), iC),
132 m_multiplicity2(iConfig.getParameter<
edm::
ParameterSet>(
"secondMultiplicityConfig"), iC) {}
134 template <
class T1,
class T2>
137 auto m1 = m_multiplicity1.getEvent(
iEvent, iSetup);
138 auto m2 = m_multiplicity2.getEvent(
iEvent, iSetup);
152 #endif // DPGAnalysis_SiStripTools_Multiplicities_H
T const & getData(const ESGetToken< T, R > &iToken) const noexcept(false)
T getUntrackedParameter(std::string const &, T const &) const