CMS 3D CMS Logo

SiStripRecHitConverterAlgorithm.h
Go to the documentation of this file.
1 #ifndef SiStripRecHitConverterAlgorithm_h
2 #define SiStripRecHitConverterAlgorithm_h
3 
9 
14 
15 namespace edm {
16  class ConsumesCollector;
17  class ParameterSet;
19  class EventSetup;
20 } // namespace edm
22 class TkStripCPERecord;
23 class SiStripQualityRcd;
24 
26 public:
27  struct products {
28  std::unique_ptr<SiStripMatchedRecHit2DCollection> matched;
29  std::unique_ptr<SiStripRecHit2DCollection> rphi, stereo, rphiUnmatched, stereoUnmatched;
36 
37  void shrink_to_fit() {
38  matched->shrink_to_fit();
39  rphi->shrink_to_fit();
40  stereo->shrink_to_fit();
41  rphiUnmatched->shrink_to_fit();
42  stereoUnmatched->shrink_to_fit();
43  }
44  };
45 
47  void initialize(const edm::EventSetup&);
50 
52 
53 private:
54  void match(products& output, LocalVector trackdirection) const;
55  void fillBad128StripBlocks(const uint32_t detid, bool bad128StripBlocks[6]) const;
56  bool isMasked(const SiStripCluster& cluster, bool bad128StripBlocks[6]) const;
57  bool useModule(const uint32_t id) const;
58 
64  const TrackerGeometry* tracker = nullptr;
66  const SiStripRecHitMatcher* matcher = nullptr;
67  const SiStripQuality* quality = nullptr;
68 
70 };
71 
72 #endif
edm::ESGetToken< SiStripRecHitMatcher, TkStripCPERecord > matcherToken
std::unique_ptr< SiStripMatchedRecHit2DCollection > matched
ESProducts< std::remove_reference_t< TArgs >... > products(TArgs &&... args)
Definition: ESProducts.h:128
void run(edm::Handle< edmNew::DetSetVector< SiStripCluster > > input, products &output)
edm::ESGetToken< StripClusterParameterEstimator, TkStripCPERecord > cpeToken
SiStripRecHitConverterAlgorithm(const edm::ParameterSet &, edm::ConsumesCollector)
std::unique_ptr< SiStripRecHit2DCollection > rphi
bool isMasked(const SiStripCluster &cluster, bool bad128StripBlocks[6]) const
static std::string const input
Definition: EdmProvDump.cc:47
std::unique_ptr< SiStripRecHit2DCollection > stereo
const StripClusterParameterEstimator * parameterestimator
edm::ESGetToken< SiStripQuality, SiStripQualityRcd > qualityToken
void fillBad128StripBlocks(const uint32_t detid, bool bad128StripBlocks[6]) const
void match(products &output, LocalVector trackdirection) const
std::unique_ptr< SiStripRecHit2DCollection > stereoUnmatched
SiStripRecHit2DCollection::FastFiller Collector
HLT enums.
std::unique_ptr< SiStripRecHit2DCollection > rphiUnmatched
static void fillPSetDescription(edm::ParameterSetDescription &desc)
edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > trackerToken