CMS 3D CMS Logo

SiStripRawProcessingAlgorithms.h
Go to the documentation of this file.
1 #ifndef RecoLocalTracker_SiStripZeroSuppression_SiStripRawProcessingAlgorithms_h
2 #define RecoLocalTracker_SiStripZeroSuppression_SiStripRawProcessingAlgorithms_h
3 
8 
11 
14 
16 {
18 
19 public:
21 
22  void initialize(const edm::EventSetup&);
23  void initialize(const edm::EventSetup&, const edm::Event&);
24 
25  uint16_t suppressHybridData(const edm::DetSet<SiStripDigi>& inDigis, edm::DetSet<SiStripDigi>& suppressedDigis, digivector_t& rawDigis);
26  uint16_t suppressHybridData(uint32_t detId, uint16_t firstAPV, digivector_t& processedRawDigis, edm::DetSet<SiStripDigi>& suppressedDigis);
27 
28  uint16_t suppressVirginRawData(uint32_t detId, uint16_t firstAPV, digivector_t& procRawDigis, edm::DetSet<SiStripDigi>& output);
30 
31  uint16_t suppressProcessedRawData(uint32_t detId, uint16_t firstAPV, digivector_t& procRawDigis, edm::DetSet<SiStripDigi>& output);
33 
34 
35  uint16_t convertVirginRawToHybrid(uint32_t detId, uint16_t firstAPV, digivector_t& inDigis, edm::DetSet<SiStripDigi>& rawDigis);
36  uint16_t convertVirginRawToHybrid(const edm::DetSet<SiStripRawDigi>& rawDigis, edm::DetSet<SiStripDigi>& suppressedDigis);
37 
39 
40  inline const std::vector<bool>& getAPVFlags() const { return restorer->getAPVFlags(); }
41  inline const SiStripAPVRestorer::baselinemap_t& getBaselineMap() const { return restorer->getBaselineMap(); }
42  inline const std::map<uint16_t, SiStripAPVRestorer::digimap_t>& getSmoothedPoints() const { return restorer->getSmoothedPoints(); }
43  inline const SiStripAPVRestorer::medians_t& getAPVsCM() const { return subtractorCMN->getAPVsCM(); }
44 
45  const std::unique_ptr<SiStripPedestalsSubtractor> subtractorPed;
46  const std::unique_ptr<SiStripCommonModeNoiseSubtractor> subtractorCMN;
47  const std::unique_ptr<SiStripFedZeroSuppression> suppressor;
48  const std::unique_ptr<SiStripAPVRestorer> restorer;
49 
50  private:
51  const bool doAPVRestore;
52  const bool useCMMeanMap;
53 
55 
56  SiStripRawProcessingAlgorithms(std::unique_ptr<SiStripPedestalsSubtractor> ped,
57  std::unique_ptr<SiStripCommonModeNoiseSubtractor> cmn,
58  std::unique_ptr<SiStripFedZeroSuppression> zs,
59  std::unique_ptr<SiStripAPVRestorer> res,
60  bool doAPVRest,
61  bool useCMMap);
62 };
63 #endif
uint16_t suppressVirginRawData(uint32_t detId, uint16_t firstAPV, digivector_t &procRawDigis, edm::DetSet< SiStripDigi > &output)
const std::unique_ptr< SiStripPedestalsSubtractor > subtractorPed
uint16_t suppressProcessedRawData(uint32_t detId, uint16_t firstAPV, digivector_t &procRawDigis, edm::DetSet< SiStripDigi > &output)
SiStripAPVRestorer::digivector_t digivector_t
uint16_t convertVirginRawToHybrid(uint32_t detId, uint16_t firstAPV, digivector_t &inDigis, edm::DetSet< SiStripDigi > &rawDigis)
SiStripRawProcessingAlgorithms(std::unique_ptr< SiStripPedestalsSubtractor > ped, std::unique_ptr< SiStripCommonModeNoiseSubtractor > cmn, std::unique_ptr< SiStripFedZeroSuppression > zs, std::unique_ptr< SiStripAPVRestorer > res, bool doAPVRest, bool useCMMap)
void convertHybridDigiToRawDigiVector(const edm::DetSet< SiStripDigi > &inDigis, digivector_t &rawDigis)
const std::unique_ptr< SiStripAPVRestorer > restorer
Definition: Electron.h:6
const std::unique_ptr< SiStripCommonModeNoiseSubtractor > subtractorCMN
std::map< uint16_t, digivector_t > baselinemap_t
std::vector< std::pair< short, float >> medians_t
const std::map< uint16_t, SiStripAPVRestorer::digimap_t > & getSmoothedPoints() const
const std::unique_ptr< SiStripFedZeroSuppression > suppressor
const std::vector< bool > & getAPVFlags() const
std::vector< digi_t > digivector_t
uint16_t suppressHybridData(const edm::DetSet< SiStripDigi > &inDigis, edm::DetSet< SiStripDigi > &suppressedDigis, digivector_t &rawDigis)
void initialize(const edm::EventSetup &)
const SiStripAPVRestorer::medians_t & getAPVsCM() const
const SiStripAPVRestorer::baselinemap_t & getBaselineMap() const