CMS 3D CMS Logo

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

#include <PixelTrackCleanerWrapper.h>

Public Member Functions

pixeltrackfitting::TracksWithTTRHs clean (const pixeltrackfitting::TracksWithTTRHs &initialT_TTRHs) const
 
 PixelTrackCleanerWrapper (const PixelTrackCleaner *tc)
 

Private Attributes

const PixelTrackCleanertheCleaner
 

Detailed Description

Definition at line 11 of file PixelTrackCleanerWrapper.h.

Constructor & Destructor Documentation

◆ PixelTrackCleanerWrapper()

PixelTrackCleanerWrapper::PixelTrackCleanerWrapper ( const PixelTrackCleaner tc)
inline

Definition at line 13 of file PixelTrackCleanerWrapper.h.

13 : theCleaner(tc) {}
const PixelTrackCleaner * theCleaner

Member Function Documentation

◆ clean()

pixeltrackfitting::TracksWithTTRHs PixelTrackCleanerWrapper::clean ( const pixeltrackfitting::TracksWithTTRHs initialT_TTRHs) const
inline

Definition at line 14 of file PixelTrackCleanerWrapper.h.

References cms::cuda::assert(), PixelTrackCleaner::cleanTracks(), mps_fire::i, dqmiodumpmetadata::n, SeedingHitSet::nullPtr(), SeedingHitSet::size(), and theCleaner.

Referenced by PixelTrackReconstruction::run().

14  {
16  std::map<const TrackingRecHit *, SeedingHitSet::ConstRecHitPointer> hitMap;
17 
18  for (pixeltrackfitting::TracksWithTTRHs::const_iterator it = initialT_TTRHs.begin(), iend = initialT_TTRHs.end();
19  it < iend;
20  ++it) {
21  SeedingHitSet ttrhs = it->second;
22  std::vector<const TrackingRecHit *> trhs;
23  for (unsigned int i = 0, n = ttrhs.size(); i < n; ++i) {
24  const TrackingRecHit *trh = ttrhs[i]->hit();
25  trhs.push_back(trh);
26  hitMap[trh] = ttrhs[i];
27  }
28  initialT_TRHs.push_back(pixeltrackfitting::TrackWithRecHits(it->first, trhs));
29  }
30 
31  pixeltrackfitting::TracksWithRecHits finalT_TRHs = theCleaner->cleanTracks(initialT_TRHs);
33 
34  for (pixeltrackfitting::TracksWithRecHits::const_iterator it = finalT_TRHs.begin(), iend = finalT_TRHs.end();
35  it < iend;
36  ++it) {
37  const std::vector<const TrackingRecHit *> &trhs = it->second;
38  assert(!(trhs.size() < 2));
39  if (trhs.size() < 2)
40  continue;
41  SeedingHitSet ttrhs(hitMap[trhs[0]],
42  hitMap[trhs[1]],
43  trhs.size() > 2 ? hitMap[trhs[2]] : SeedingHitSet::nullPtr(),
44  trhs.size() > 3 ? hitMap[trhs[3]] : SeedingHitSet::nullPtr());
45 
46  finalT_TTRHs.push_back(pixeltrackfitting::TrackWithTTRHs(it->first, ttrhs));
47  }
48  return finalT_TTRHs;
49  }
std::pair< reco::Track *, std::vector< const TrackingRecHit * > > TrackWithRecHits
virtual TracksWithRecHits cleanTracks(const TracksWithRecHits &tracksWithRecHits) const
assert(be >=bs)
std::vector< TrackWithTTRHs > TracksWithTTRHs
const PixelTrackCleaner * theCleaner
static ConstRecHitPointer nullPtr()
Definition: SeedingHitSet.h:16
unsigned int size() const
Definition: SeedingHitSet.h:52
std::vector< TrackWithRecHits > TracksWithRecHits
std::pair< reco::Track *, SeedingHitSet > TrackWithTTRHs

Member Data Documentation

◆ theCleaner

const PixelTrackCleaner* PixelTrackCleanerWrapper::theCleaner
private

Definition at line 52 of file PixelTrackCleanerWrapper.h.

Referenced by clean().