#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 (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 |
const TrackerGeometry * | trGeo |
const bool | useCMMeanMap |
Friends | |
class | SiStripRawProcessingFactory |
Definition at line 15 of file SiStripRawProcessingAlgorithms.h.
Definition at line 20 of file SiStripRawProcessingAlgorithms.h.
|
private |
Definition at line 15 of file SiStripRawProcessingAlgorithms.cc.
void SiStripRawProcessingAlgorithms::convertHybridDigiToRawDigiVector | ( | const edm::DetSet< SiStripDigi > & | inDigis, |
digivector_t & | rawDigis | ||
) |
Convert hybrid digis to a list of processed raw ADCs
Non-zero-suppressed APVs are identified by the number of ADCs found (above 64), and the ADCs converted into normal processed format (x->x*2-1024). For zero-supppressed APVs the absent strips are set to zero ADC.
inDigis | input (non-ZS hybrid or ZS) data |
RawDigis | processed raw (or zero-filled ZS) ADCs |
Definition at line 118 of file SiStripRawProcessingAlgorithms.cc.
References edm::DetSet< T >::id, TrackerGeometry::idToDetUnit(), StripTopology::nstrips(), StripGeomDetUnit::specificTopology(), digitizers_cfi::strip, and trGeo.
Referenced by suppressHybridData().
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 235 of file SiStripRawProcessingAlgorithms.cc.
References 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 284 of file SiStripRawProcessingAlgorithms.cc.
References SiStripRawDigi::adc(), begin, convertVirginRawToHybrid(), end, edm::DetSet< T >::id, edm::DetSet< T >::size(), and create_public_lumi_plots::transform.
|
inline |
Definition at line 40 of file SiStripRawProcessingAlgorithms.h.
References restorer.
Referenced by convertVirginRawToHybrid(), and suppressHybridData().
|
inline |
Definition at line 43 of file SiStripRawProcessingAlgorithms.h.
References subtractorCMN.
|
inline |
Definition at line 41 of file SiStripRawProcessingAlgorithms.h.
References restorer.
|
inline |
Definition at line 42 of file SiStripRawProcessingAlgorithms.h.
References restorer.
void SiStripRawProcessingAlgorithms::initialize | ( | const edm::EventSetup & | es | ) |
Definition at line 30 of file SiStripRawProcessingAlgorithms.cc.
References edm::EventSetup::get(), edm::ESHandle< T >::product(), restorer, subtractorCMN, subtractorPed, suppressor, trackingTruthProducer_cfi::tracker, and trGeo.
Referenced by initialize().
void SiStripRawProcessingAlgorithms::initialize | ( | const edm::EventSetup & | es, |
const edm::Event & | e | ||
) |
Definition at line 42 of file SiStripRawProcessingAlgorithms.cc.
References doAPVRestore, initialize(), restorer, and useCMMeanMap.
uint16_t SiStripRawProcessingAlgorithms::suppressHybridData | ( | const edm::DetSet< SiStripDigi > & | hybridDigis, |
edm::DetSet< SiStripDigi > & | suppressedDigis, | ||
digivector_t & | rawDigis | ||
) |
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) |
output | zero-suppressed digis |
RawDigis | processed ADCs |
Definition at line 102 of file SiStripRawProcessingAlgorithms.cc.
References convertHybridDigiToRawDigiVector(), and edm::DetSet< T >::id.
uint16_t SiStripRawProcessingAlgorithms::suppressHybridData | ( | uint32_t | id, |
uint16_t | firstAPV, | ||
digivector_t & | procRawDigis, | ||
edm::DetSet< SiStripDigi > & | suppressedDigis | ||
) |
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.
id | module DetId |
firstAPV | index of the first APV considered |
procRawDigis | input (processed raw) ADCs. Note that this means that ADCs for all strips are expected, so zero-suppressed data should be filled with zeros for the suppressed strips. Output: the ADCs after all subtractions, but before zero-suppression. |
output | zero-suppressed digis |
Definition at line 64 of file SiStripRawProcessingAlgorithms.cc.
References begin, getAPVFlags(), mps_fire::i, edm::DetSet< T >::push_back(), restorer, subtractorCMN, and suppressor.
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 188 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 212 of file SiStripRawProcessingAlgorithms.cc.
References SiStripRawDigi::adc(), begin, end, edm::DetSet< T >::id, edm::DetSet< T >::size(), suppressProcessedRawData(), and create_public_lumi_plots::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 152 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 168 of file SiStripRawProcessingAlgorithms.cc.
References SiStripRawDigi::adc(), begin, end, edm::DetSet< T >::id, edm::DetSet< T >::size(), suppressVirginRawData(), and create_public_lumi_plots::transform.
|
friend |
Definition at line 17 of file SiStripRawProcessingAlgorithms.h.
|
private |
Definition at line 51 of file SiStripRawProcessingAlgorithms.h.
Referenced by initialize(), and suppressProcessedRawData().
const std::unique_ptr<SiStripAPVRestorer> SiStripRawProcessingAlgorithms::restorer |
Definition at line 48 of file SiStripRawProcessingAlgorithms.h.
Referenced by convertVirginRawToHybrid(), getAPVFlags(), getBaselineMap(), getSmoothedPoints(), initialize(), suppressHybridData(), and suppressProcessedRawData().
const std::unique_ptr<SiStripCommonModeNoiseSubtractor> SiStripRawProcessingAlgorithms::subtractorCMN |
Definition at line 46 of file SiStripRawProcessingAlgorithms.h.
Referenced by convertVirginRawToHybrid(), getAPVsCM(), initialize(), suppressHybridData(), and suppressProcessedRawData().
const std::unique_ptr<SiStripPedestalsSubtractor> SiStripRawProcessingAlgorithms::subtractorPed |
Definition at line 45 of file SiStripRawProcessingAlgorithms.h.
Referenced by convertVirginRawToHybrid(), initialize(), and suppressVirginRawData().
const std::unique_ptr<SiStripFedZeroSuppression> SiStripRawProcessingAlgorithms::suppressor |
Definition at line 47 of file SiStripRawProcessingAlgorithms.h.
Referenced by convertVirginRawToHybrid(), initialize(), suppressHybridData(), and suppressProcessedRawData().
|
private |
Definition at line 54 of file SiStripRawProcessingAlgorithms.h.
Referenced by convertHybridDigiToRawDigiVector(), and initialize().
|
private |
Definition at line 52 of file SiStripRawProcessingAlgorithms.h.
Referenced by initialize().