CMS 3D CMS Logo

PixelClusterCounts.h
Go to the documentation of this file.
1 #ifndef DataFormats_Luminosity_PixelClusterCounts_h
2 #define DataFormats_Luminosity_PixelClusterCounts_h
3 
11 #include <algorithm>
12 #include <string>
13 #include <sstream>
14 #include <iostream>
15 #include <vector>
16 
18 
20 
21 namespace reco {
23  public:
25 
26  void increment(int mD, unsigned int bxID, int count) {
27  size_t modIndex = std::distance(m_ModID.begin(), std::find(m_ModID.begin(), m_ModID.end(), mD));
28  if (modIndex == m_ModID.size()) {
29  m_ModID.push_back(mD);
30  m_counts.resize(m_counts.size() + LumiConstants::numBX, 0);
31  }
32  m_counts.at(LumiConstants::numBX * modIndex + bxID - 1) += count;
33  }
34 
35  void eventCounter(unsigned int bxID) { m_events.at(bxID - 1)++; }
36 
37  std::vector<int> const& readCounts() const { return (m_counts); }
38  std::vector<int> const& readEvents() const { return (m_events); }
39  std::vector<int> const& readModID() const { return (m_ModID); }
40 
41  private:
42  std::vector<int> m_counts;
43  std::vector<int> m_events;
44  std::vector<int> m_ModID;
45  };
46 
47 } // namespace reco
48 #endif
static const unsigned int numBX
Definition: LumiConstants.h:8
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:19
std::vector< int > m_events
std::vector< int > const & readCounts() const
std::vector< int > const & readModID() const
void increment(int mD, unsigned int bxID, int count)
fixed size matrix
std::vector< int > m_counts
void eventCounter(unsigned int bxID)
std::vector< int > m_ModID
std::vector< int > const & readEvents() const