#include <SiStripRawProcessingAlgorithms.h>
Public Types | |
using | digivector_t = SiStripAPVRestorer::digivector_t |
Public Attributes | |
const std::unique_ptr < SiStripAPVRestorer > | restorer |
const std::unique_ptr < SiStripCommonModeNoiseSubtractor > | subtractorCMN |
const std::unique_ptr < SiStripPedestalsSubtractor > | subtractorPed |
const std::unique_ptr < SiStripFedZeroSuppression > | suppressor |
Private Member Functions | |
SiStripRawProcessingAlgorithms (edm::ConsumesCollector iC, std::unique_ptr< SiStripPedestalsSubtractor > ped, std::unique_ptr< SiStripCommonModeNoiseSubtractor > cmn, std::unique_ptr< SiStripFedZeroSuppression > zs, std::unique_ptr< SiStripAPVRestorer > res, bool doAPVRest, bool useCMMap) | |
Private Attributes | |
const bool | doAPVRestore |
edm::ESGetToken < TrackerGeometry, TrackerDigiGeometryRecord > | tkGeomToken_ |
const TrackerGeometry * | trGeo |
const bool | useCMMeanMap |
Friends | |
class | SiStripRawProcessingFactory |
Definition at line 15 of file SiStripRawProcessingAlgorithms.h.
Definition at line 19 of file SiStripRawProcessingAlgorithms.h.
|
private |
Definition at line 14 of file SiStripRawProcessingAlgorithms.cc.
uint16_t SiStripRawProcessingAlgorithms::convertVirginRawToHybrid | ( | uint32_t | id, |
uint16_t | firstAPV, | ||
digivector_t & | procRawDigis, | ||
edm::DetSet< SiStripDigi > & | output | ||
) |
Zero-suppress virgin raw data in "hybrid" mode
Subtracts pedestals (in 11bit mode, x->(x+1024-ped)/2) and common-mode noise, and inspects the digis then. If not flagged by the hybrid APV inspector, the zero-suppression is performed as usual (evaluation and subtraction of the baseline, truncation). Otherwise, the pedestal-subtracted digis (as above) are saved in one 128-strip cluster. Note: the APV restorer is used, it must be configured with APVInspectMode='HybridEmulation' if this method is called.
id | module DetId |
firstAPV | index of the first APV considered |
procRawDigis | input (virgin raw) ADCs. Output: the ADCs after all subtractions, but before zero-suppression |
output | zero-suppressed digis (or pedestal-subtracted digis, see above) |
Definition at line 203 of file SiStripRawProcessingAlgorithms.cc.
References SplitLinear::begin, getAPVFlags(), mps_fire::i, edm::DetSet< T >::push_back(), restorer, subtractorCMN, subtractorPed, and suppressor.
Referenced by convertVirginRawToHybrid().
uint16_t SiStripRawProcessingAlgorithms::convertVirginRawToHybrid | ( | const edm::DetSet< SiStripRawDigi > & | rawDigis, |
edm::DetSet< SiStripDigi > & | suppressedDigis | ||
) |
Zero-suppress virgin raw data in "hybrid" mode
Subtracts pedestals (in 11bit mode, x->(x+1024-ped)/2) and common-mode noise, and inspects the digis then. If flagged by the hybrid APV inspector, the zero-suppression is performed as usual (evaluation and subtraction of the baseline, truncation). Otherwise, the pedestal-subtracted digis are saved in one 128-strip cluster.
rawDigis | input (virgin) raw digis |
output | zero-suppressed digis (or pedestal-subtracted digis, see above) |
Definition at line 260 of file SiStripRawProcessingAlgorithms.cc.
References SiStripRawDigi::adc(), SplitLinear::begin, convertVirginRawToHybrid(), dataset::end, edm::DetSet< T >::id, edm::DetSet< T >::size(), and HcalDetIdTransform::transform().
|
inline |
Definition at line 47 of file SiStripRawProcessingAlgorithms.h.
References restorer.
Referenced by convertVirginRawToHybrid(), and suppressHybridData().
|
inline |
Definition at line 52 of file SiStripRawProcessingAlgorithms.h.
References subtractorCMN.
|
inline |
Definition at line 48 of file SiStripRawProcessingAlgorithms.h.
References restorer.
|
inline |
Definition at line 49 of file SiStripRawProcessingAlgorithms.h.
References restorer.
void SiStripRawProcessingAlgorithms::initialize | ( | const edm::EventSetup & | es | ) |
Definition at line 29 of file SiStripRawProcessingAlgorithms.cc.
References edm::EventSetup::getData(), restorer, subtractorCMN, subtractorPed, suppressor, tkGeomToken_, and trGeo.
Referenced by initialize().
void SiStripRawProcessingAlgorithms::initialize | ( | const edm::EventSetup & | es, |
const edm::Event & | e | ||
) |
Definition at line 39 of file SiStripRawProcessingAlgorithms.cc.
References doAPVRestore, initialize(), restorer, and useCMMeanMap.
uint16_t SiStripRawProcessingAlgorithms::suppressHybridData | ( | const edm::DetSet< SiStripDigi > & | hybridDigis, |
edm::DetSet< SiStripDigi > & | suppressedDigis, | ||
uint16_t | firstAPV = 0 |
||
) |
Zero-suppress "hybrid" raw data
Subtracts common-mode noise, and inspects the digis then. If flagged by the APV inspector, the zero-suppression is performed as usual. Otherwise, the positive inputs are copied.
hybridDigis | input ADCs in ZS format (regular ZS or "hybrid", i.e. processed as x->(x+1024-ped)/2) |
suppressedDigis | zero-suppressed digis |
firstAPV | (optional) number of the first APV for which digis are should be handled (otherwise all present) |
Definition at line 58 of file SiStripRawProcessingAlgorithms.cc.
References SiStripDigi::adc(), edm::DetSet< T >::begin(), HLT_FULL_cff::distance, edm::DetSet< T >::end(), getAPVFlags(), mps_fire::i, edm::DetSet< T >::id, cuda_std::lower_bound(), edm::DetSet< T >::push_back(), restorer, SiStripDigi::strip(), subtractorCMN, suppressor, and HcalDetIdTransform::transform().
uint16_t SiStripRawProcessingAlgorithms::suppressProcessedRawData | ( | uint32_t | id, |
uint16_t | firstAPV, | ||
digivector_t & | procRawDigis, | ||
edm::DetSet< SiStripDigi > & | output | ||
) |
Zero-suppress processed (pedestals-subtracted) raw data.
Subtracts common-mode noise and (optionally, if doAPVRestore) re-evaluates and subtracts the baseline.
id | module DetId |
firstAPV | index of the first APV to consider |
procRawDigis | input (processed raw) ADCs. Output: the ADCs after all subtractions, but before zero-suppression |
output | zero-suppressed digis |
Definition at line 151 of file SiStripRawProcessingAlgorithms.cc.
References doAPVRestore, restorer, subtractorCMN, and suppressor.
Referenced by suppressProcessedRawData(), and suppressVirginRawData().
uint16_t SiStripRawProcessingAlgorithms::suppressProcessedRawData | ( | const edm::DetSet< SiStripRawDigi > & | rawDigis, |
edm::DetSet< SiStripDigi > & | output | ||
) |
Zero-suppress processed (pedestals-subtracted) raw data.
Subtracts common-mode noise and (optionally, if doAPVRestore) re-evaluates and subtracts the baseline.
rawDigis | input (processed) raw digis |
output | zero-suppressed digis |
Definition at line 178 of file SiStripRawProcessingAlgorithms.cc.
References SiStripRawDigi::adc(), SplitLinear::begin, dataset::end, edm::DetSet< T >::id, edm::DetSet< T >::size(), suppressProcessedRawData(), and HcalDetIdTransform::transform().
uint16_t SiStripRawProcessingAlgorithms::suppressVirginRawData | ( | uint32_t | id, |
uint16_t | firstAPV, | ||
digivector_t & | procRawDigis, | ||
edm::DetSet< SiStripDigi > & | output | ||
) |
Zero-suppress virgin raw data.
Subtracts pedestals and common-mode noise, and (optionally, if doAPVRestore) re-evaluates and subtracts the baseline.
id | module DetId |
firstAPV | index of the first APV to consider |
procRawDigis | input (virgin raw) ADCs. Output: the ADCs after all subtractions, but before zero-suppression |
output | zero-suppressed digis |
Definition at line 111 of file SiStripRawProcessingAlgorithms.cc.
References subtractorPed, and suppressProcessedRawData().
Referenced by suppressVirginRawData().
uint16_t SiStripRawProcessingAlgorithms::suppressVirginRawData | ( | const edm::DetSet< SiStripRawDigi > & | rawDigis, |
edm::DetSet< SiStripDigi > & | output | ||
) |
Zero-suppress virgin raw data.
Subtracts pedestals and common-mode noise, and (optionally, if doAPVRestore) re-evaluates and subtracts the baseline.
rawDigis | input (virgin) raw digis |
output | zero-suppressed digis |
Definition at line 129 of file SiStripRawProcessingAlgorithms.cc.
References SiStripRawDigi::adc(), SplitLinear::begin, dataset::end, edm::DetSet< T >::id, edm::DetSet< T >::size(), suppressVirginRawData(), and HcalDetIdTransform::transform().
|
friend |
Definition at line 16 of file SiStripRawProcessingAlgorithms.h.
|
private |
Definition at line 60 of file SiStripRawProcessingAlgorithms.h.
Referenced by initialize(), and suppressProcessedRawData().
const std::unique_ptr<SiStripAPVRestorer> SiStripRawProcessingAlgorithms::restorer |
Definition at line 57 of file SiStripRawProcessingAlgorithms.h.
Referenced by convertVirginRawToHybrid(), getAPVFlags(), getBaselineMap(), getSmoothedPoints(), initialize(), suppressHybridData(), and suppressProcessedRawData().
const std::unique_ptr<SiStripCommonModeNoiseSubtractor> SiStripRawProcessingAlgorithms::subtractorCMN |
Definition at line 55 of file SiStripRawProcessingAlgorithms.h.
Referenced by convertVirginRawToHybrid(), getAPVsCM(), initialize(), suppressHybridData(), and suppressProcessedRawData().
const std::unique_ptr<SiStripPedestalsSubtractor> SiStripRawProcessingAlgorithms::subtractorPed |
Definition at line 54 of file SiStripRawProcessingAlgorithms.h.
Referenced by convertVirginRawToHybrid(), initialize(), and suppressVirginRawData().
const std::unique_ptr<SiStripFedZeroSuppression> SiStripRawProcessingAlgorithms::suppressor |
Definition at line 56 of file SiStripRawProcessingAlgorithms.h.
Referenced by convertVirginRawToHybrid(), initialize(), suppressHybridData(), and suppressProcessedRawData().
|
private |
Definition at line 63 of file SiStripRawProcessingAlgorithms.h.
Referenced by initialize().
|
private |
Definition at line 64 of file SiStripRawProcessingAlgorithms.h.
Referenced by initialize().
|
private |
Definition at line 61 of file SiStripRawProcessingAlgorithms.h.
Referenced by initialize().