CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
SingleMultiplicity< T > Class Template Reference

#include <Multiplicities.h>

Public Member Functions

void getEvent (const edm::Event &iEvent, const edm::EventSetup &iSetup)
 
int mult () const
 
 SingleMultiplicity ()
 
 SingleMultiplicity (const edm::ParameterSet &iConfig, edm::ConsumesCollector &&iC)
 
 SingleMultiplicity (const edm::ParameterSet &iConfig, edm::ConsumesCollector &iC)
 

Private Attributes

edm::EDGetTokenT< Tm_collection
 
int m_modthr
 
int m_mult
 
std::string m_qualityLabel
 
bool m_useQuality
 

Detailed Description

template<class T>
class SingleMultiplicity< T >

Definition at line 58 of file Multiplicities.h.

Constructor & Destructor Documentation

template<class T >
SingleMultiplicity< T >::SingleMultiplicity ( )

Definition at line 83 of file Multiplicities.h.

83  :
84  m_modthr(-1), m_useQuality(false), m_qualityLabel(),
85  m_mult(0)
86 #ifndef __ROOTCLING__
87  ,m_collection()
88 #endif
89 { }
std::string m_qualityLabel
edm::EDGetTokenT< T > m_collection
template<class T >
SingleMultiplicity< T >::SingleMultiplicity ( const edm::ParameterSet iConfig,
edm::ConsumesCollector &&  iC 
)

Definition at line 93 of file Multiplicities.h.

93  :
94  m_modthr(iConfig.getUntrackedParameter<int>("moduleThreshold")),
95  m_useQuality(iConfig.getUntrackedParameter<bool>("useQuality",false)),
96  m_qualityLabel(iConfig.getUntrackedParameter<std::string>("qualityLabel","")),
97  m_mult(0),
98  m_collection(iC.consumes<T>(iConfig.getParameter<edm::InputTag>("collectionName")))
99 { }
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
std::string m_qualityLabel
edm::EDGetTokenT< T > m_collection
long double T
template<class T >
SingleMultiplicity< T >::SingleMultiplicity ( const edm::ParameterSet iConfig,
edm::ConsumesCollector iC 
)

Definition at line 101 of file Multiplicities.h.

101  :
102  m_modthr(iConfig.getUntrackedParameter<int>("moduleThreshold")),
103  m_useQuality(iConfig.getUntrackedParameter<bool>("useQuality",false)),
104  m_qualityLabel(iConfig.getUntrackedParameter<std::string>("qualityLabel","")),
105  m_mult(0),
106  m_collection(iC.consumes<T>(iConfig.getParameter<edm::InputTag>("collectionName")))
107 { }
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
std::string m_qualityLabel
edm::EDGetTokenT< T > m_collection
long double T

Member Function Documentation

template<class T >
void SingleMultiplicity< T >::getEvent ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)

Definition at line 113 of file Multiplicities.h.

References edm::EventSetup::get(), edm::Event::getByToken(), SiStripQuality::IsModuleBad(), SingleMultiplicity< T >::m_collection, SingleMultiplicity< T >::m_modthr, SingleMultiplicity< T >::m_mult, SingleMultiplicity< T >::m_qualityLabel, and SingleMultiplicity< T >::m_useQuality.

113  {
114 
115  m_mult = 0;
116 
117  edm::ESHandle<SiStripQuality> qualityHandle;
118  if( m_useQuality) {
119  iSetup.get<SiStripQualityRcd>().get(m_qualityLabel,qualityHandle);
120  }
121 
122  edm::Handle<T> digis;
123  iEvent.getByToken(m_collection,digis);
124 
125 
126  for(typename T::const_iterator it = digis->begin();it!=digis->end();it++) {
127 
128  if(!m_useQuality || !qualityHandle->IsModuleBad(it->detId()) ) {
129  if(m_modthr < 0 || int(it->size()) < m_modthr ) {
130  m_mult += it->size();
131  // mult += it->size();
132  }
133  }
134  }
135 }
std::string m_qualityLabel
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:519
edm::EDGetTokenT< T > m_collection
bool IsModuleBad(const uint32_t &detid) const
const T & get() const
Definition: EventSetup.h:59
template<class T >
int SingleMultiplicity< T >::mult ( ) const

Definition at line 140 of file Multiplicities.h.

References SingleMultiplicity< T >::m_mult.

140 { return m_mult; }

Member Data Documentation

template<class T>
edm::EDGetTokenT<T> SingleMultiplicity< T >::m_collection
private

Definition at line 78 of file Multiplicities.h.

Referenced by SingleMultiplicity< T >::getEvent().

template<class T>
int SingleMultiplicity< T >::m_modthr
private

Definition at line 73 of file Multiplicities.h.

Referenced by SingleMultiplicity< T >::getEvent().

template<class T>
int SingleMultiplicity< T >::m_mult
private
template<class T>
std::string SingleMultiplicity< T >::m_qualityLabel
private

Definition at line 75 of file Multiplicities.h.

Referenced by SingleMultiplicity< T >::getEvent().

template<class T>
bool SingleMultiplicity< T >::m_useQuality
private

Definition at line 74 of file Multiplicities.h.

Referenced by SingleMultiplicity< T >::getEvent().