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 #include <memory>
16 
17 namespace edm {
18  class ConsumesCollector;
19  class ParameterSet;
21  class EventSetup;
22 } // namespace edm
24 class TkStripCPERecord;
25 class SiStripQualityRcd;
26 
28 public:
29  struct products {
30  std::unique_ptr<SiStripMatchedRecHit2DCollection> matched;
31  std::unique_ptr<SiStripRecHit2DCollection> rphi, stereo, rphiUnmatched, stereoUnmatched;
38 
39  void shrink_to_fit() {
40  matched->shrink_to_fit();
41  rphi->shrink_to_fit();
42  stereo->shrink_to_fit();
43  rphiUnmatched->shrink_to_fit();
44  stereoUnmatched->shrink_to_fit();
45  }
46  };
47 
49  void initialize(const edm::EventSetup&);
52 
54 
55 private:
56  void match(products& output, LocalVector trackdirection) const;
57  void fillBad128StripBlocks(const uint32_t detid, bool bad128StripBlocks[6]) const;
58  bool isMasked(const SiStripCluster& cluster, bool bad128StripBlocks[6]) const;
59  bool useModule(const uint32_t id) const;
60 
66  const TrackerGeometry* tracker = nullptr;
68  const SiStripRecHitMatcher* matcher = nullptr;
69  const SiStripQuality* quality = nullptr;
70 
72 };
73 
74 #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:50
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.
Definition: output.py:1
std::unique_ptr< SiStripRecHit2DCollection > rphiUnmatched
static void fillPSetDescription(edm::ParameterSetDescription &desc)
edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > trackerToken