CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
PSimHitMap Class Reference

#include <PSimHitMap.h>

Public Member Functions

std::vector< int > detsWithHits () const
 
void fill (const edm::Event &e)
 
const edm::PSimHitContainerhits (int detId) const
 
 PSimHitMap (const edm::InputTag &iT, edm::ConsumesCollector &&iC)
 

Private Attributes

edm::EDGetTokenT< CrossingFrame< PSimHit > > sh_token
 
edm::PSimHitContainer theEmptyContainer
 
std::map< int, edm::PSimHitContainertheMap
 

Detailed Description

Definition at line 11 of file PSimHitMap.h.

Constructor & Destructor Documentation

◆ PSimHitMap()

PSimHitMap::PSimHitMap ( const edm::InputTag iT,
edm::ConsumesCollector &&  iC 
)
inline

Definition at line 13 of file PSimHitMap.h.

13  : theMap(), theEmptyContainer() {
15  }

References sh_token.

Member Function Documentation

◆ detsWithHits()

std::vector< int > PSimHitMap::detsWithHits ( ) const

Definition at line 29 of file PSimHitMap.cc.

29  {
30  std::vector<int> result;
31  result.reserve(theMap.size());
32  for (std::map<int, edm::PSimHitContainer>::const_iterator mapItr = theMap.begin(), mapEnd = theMap.end();
33  mapItr != mapEnd;
34  ++mapItr) {
35  result.push_back(mapItr->first);
36  }
37  return result;
38 }

References mps_fire::result, and theMap.

Referenced by CSCRecHit2DValidation::analyze(), and CSCSegmentValidation::fillLayerHitsPerChamber().

◆ fill()

void PSimHitMap::fill ( const edm::Event e)

Definition at line 5 of file PSimHitMap.cc.

5  {
6  theMap.clear();
8  LogTrace("PSimHitMap") << "getting CrossingFrame<PSimHit> collection ";
9  e.getByToken(sh_token, cf);
10 
12  LogTrace("PSimHitMap") << "... size = " << simHits.size();
13 
14  // arrange the hits by detUnit
15  for (MixCollection<PSimHit>::MixItr hitItr = simHits.begin(); hitItr != simHits.end(); ++hitItr) {
16  theMap[hitItr->detUnitId()].push_back(*hitItr);
17  }
18 }

References MillePedeFileConverter_cfg::e, LogTrace, edm::Handle< T >::product(), sh_token, FastTrackerRecHitCombiner_cfi::simHits, and theMap.

Referenced by CSCRecHitValidation::analyze(), and CSCDigiValidation::analyze().

◆ hits()

const edm::PSimHitContainer & PSimHitMap::hits ( int  detId) const

Definition at line 20 of file PSimHitMap.cc.

20  {
21  std::map<int, edm::PSimHitContainer>::const_iterator mapItr = theMap.find(detId);
22  if (mapItr != theMap.end()) {
23  return mapItr->second;
24  } else {
25  return theEmptyContainer;
26  }
27 }

References theEmptyContainer, and theMap.

Referenced by CSCRecHit2DValidation::analyze(), CSCWireDigiValidation::analyze(), CSCStripDigiValidation::analyze(), CSCSegmentValidation::fillLayerHitsPerChamber(), and CSCSegmentValidation::keyHit().

Member Data Documentation

◆ sh_token

edm::EDGetTokenT<CrossingFrame<PSimHit> > PSimHitMap::sh_token
private

Definition at line 27 of file PSimHitMap.h.

Referenced by fill(), and PSimHitMap().

◆ theEmptyContainer

edm::PSimHitContainer PSimHitMap::theEmptyContainer
private

Definition at line 25 of file PSimHitMap.h.

Referenced by hits().

◆ theMap

std::map<int, edm::PSimHitContainer> PSimHitMap::theMap
private

Definition at line 24 of file PSimHitMap.h.

Referenced by detsWithHits(), fill(), and hits().

edm::Handle::product
T const * product() const
Definition: Handle.h:70
FastTrackerRecHitCombiner_cfi.simHits
simHits
Definition: FastTrackerRecHitCombiner_cfi.py:5
edm::Handle
Definition: AssociativeIterator.h:50
MixCollection::MixItr
Definition: MixCollection.h:61
PSimHitMap::sh_token
edm::EDGetTokenT< CrossingFrame< PSimHit > > sh_token
Definition: PSimHitMap.h:27
PSimHitMap::theMap
std::map< int, edm::PSimHitContainer > theMap
Definition: PSimHitMap.h:24
CrossingFrame
Definition: CrossingFrame.h:37
MixCollection
Definition: MixCollection.h:10
PSimHitMap::theEmptyContainer
edm::PSimHitContainer theEmptyContainer
Definition: PSimHitMap.h:25
edm::ConsumesCollector::consumes
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
Definition: ConsumesCollector.h:55
mps_fire.result
result
Definition: mps_fire.py:311
LogTrace
#define LogTrace(id)
Definition: MessageLogger.h:234
MillePedeFileConverter_cfg.e
e
Definition: MillePedeFileConverter_cfg.py:37