CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | Friends
SiStripRawProcessingAlgorithms Class Reference

#include <SiStripRawProcessingAlgorithms.h>

Public Types

using digivector_t = SiStripAPVRestorer::digivector_t
 

Public Member Functions

void convertHybridDigiToRawDigiVector (const edm::DetSet< SiStripDigi > &inDigis, digivector_t &rawDigis)
 
uint16_t convertVirginRawToHybrid (uint32_t detId, uint16_t firstAPV, digivector_t &inDigis, edm::DetSet< SiStripDigi > &rawDigis)
 
uint16_t convertVirginRawToHybrid (const edm::DetSet< SiStripRawDigi > &rawDigis, edm::DetSet< SiStripDigi > &suppressedDigis)
 
const std::vector< bool > & getAPVFlags () const
 
const SiStripAPVRestorer::medians_tgetAPVsCM () const
 
const SiStripAPVRestorer::baselinemap_tgetBaselineMap () const
 
const std::map< uint16_t, SiStripAPVRestorer::digimap_t > & getSmoothedPoints () const
 
void initialize (const edm::EventSetup &)
 
void initialize (const edm::EventSetup &, const edm::Event &)
 
uint16_t suppressHybridData (const edm::DetSet< SiStripDigi > &inDigis, edm::DetSet< SiStripDigi > &suppressedDigis, digivector_t &rawDigis)
 
uint16_t suppressHybridData (uint32_t detId, uint16_t firstAPV, digivector_t &processedRawDigis, edm::DetSet< SiStripDigi > &suppressedDigis)
 
uint16_t suppressProcessedRawData (uint32_t detId, uint16_t firstAPV, digivector_t &procRawDigis, edm::DetSet< SiStripDigi > &output)
 
uint16_t suppressProcessedRawData (const edm::DetSet< SiStripRawDigi > &rawDigis, edm::DetSet< SiStripDigi > &output)
 
uint16_t suppressVirginRawData (uint32_t detId, uint16_t firstAPV, digivector_t &procRawDigis, edm::DetSet< SiStripDigi > &output)
 
uint16_t suppressVirginRawData (const edm::DetSet< SiStripRawDigi > &rawDigis, edm::DetSet< SiStripDigi > &output)
 

Public Attributes

const std::unique_ptr< SiStripAPVRestorerrestorer
 
const std::unique_ptr< SiStripCommonModeNoiseSubtractorsubtractorCMN
 
const std::unique_ptr< SiStripPedestalsSubtractorsubtractorPed
 
const std::unique_ptr< SiStripFedZeroSuppressionsuppressor
 

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 TrackerGeometrytrGeo
 
const bool useCMMeanMap
 

Friends

class SiStripRawProcessingFactory
 

Detailed Description

Definition at line 15 of file SiStripRawProcessingAlgorithms.h.

Member Typedef Documentation

Definition at line 20 of file SiStripRawProcessingAlgorithms.h.

Constructor & Destructor Documentation

SiStripRawProcessingAlgorithms::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

Definition at line 15 of file SiStripRawProcessingAlgorithms.cc.

21 : subtractorPed(std::move(ped)),
23  suppressor(std::move(zs)),
25  doAPVRestore(doAPVRest),
26  useCMMeanMap(useCMMap)
27 {}
const std::unique_ptr< SiStripPedestalsSubtractor > subtractorPed
const std::unique_ptr< SiStripAPVRestorer > restorer
Definition: Electron.h:6
const std::unique_ptr< SiStripCommonModeNoiseSubtractor > subtractorCMN
const std::unique_ptr< SiStripFedZeroSuppression > suppressor
def move(src, dest)
Definition: eostools.py:511

Member Function Documentation

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.

Parameters
inDigisinput (non-ZS hybrid or ZS) data
RawDigisprocessed 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().

119 {
120  const auto stripModuleGeom = dynamic_cast<const StripGeomDetUnit*>(trGeo->idToDetUnit(inDigis.id));
121  const std::size_t nStrips = stripModuleGeom->specificTopology().nstrips();
122  const std::size_t nAPVs = nStrips/128;
123 
124  rawDigis.assign(nStrips, 0);
125  std::vector<uint16_t> stripsPerAPV(nAPVs, 0);
126 
127  for ( SiStripDigi digi : inDigis ) {
128  rawDigis[digi.strip()] = digi.adc();
129  ++stripsPerAPV[digi.strip()/128];
130  }
131 
132  for ( uint16_t iAPV = 0; iAPV < nAPVs; ++iAPV ) {
133  if ( stripsPerAPV[iAPV] > 64 ) {
134  for ( uint16_t strip = iAPV*128; strip < (iAPV+1)*128; ++strip )
135  rawDigis[strip] = rawDigis[strip] * 2 - 1024;
136  }
137  }
138 }
virtual const StripTopology & specificTopology() const
Returns a reference to the strip proxy topology.
const TrackerGeomDet * idToDetUnit(DetId) const override
Return the pointer to the GeomDetUnit corresponding to a given DetId.
A Digi for the silicon strip detector, containing both strip and adc information, and suitable for st...
Definition: SiStripDigi.h:12
virtual int nstrips() const =0
det_id_type id
Definition: DetSet.h:77
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.

Parameters
idmodule DetId
firstAPVindex of the first APV considered
procRawDigisinput (virgin raw) ADCs. Output: the ADCs after all subtractions, but before zero-suppression
outputzero-suppressed digis (or pedestal-subtracted digis, see above)
Returns
number of restored APVs

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().

236 {
237  digivector_t procRawDigisPedSubtracted;
238 
239  for ( auto& digi : procRawDigis ) { digi += 1024; } // adding one MSB
240 
241  subtractorPed->subtract(id, firstAPV*128, procRawDigis); // all strips are pedestals subtracted
242 
243  for ( auto& digi : procRawDigis ) { digi /= 2; }
244 
245  procRawDigisPedSubtracted.assign(procRawDigis.begin(), procRawDigis.end());
246 
247  subtractorCMN->subtract(id, firstAPV, procRawDigis);
248 
249  const auto nAPVFlagged = restorer->inspect(id, firstAPV, procRawDigis, subtractorCMN->getAPVsCM());
250 
251  for ( auto& digi : procRawDigis ) { digi *= 2; }
252 
253  const std::vector<bool>& apvf = getAPVFlags();
254  const std::size_t nAPVs = procRawDigis.size()/128;
255  for ( uint16_t iAPV = firstAPV; iAPV < nAPVs+firstAPV; ++iAPV ) {
256  if ( apvf[iAPV] ) {
257  //GB 23/6/08: truncation should be done at the very beginning
258  for ( uint16_t i = 0; i < 128; ++i ) {
259  const int16_t digi = procRawDigisPedSubtracted[128*(iAPV-firstAPV)+i];
260  output.push_back(SiStripDigi(128*iAPV+i, ( digi < 0 ? 0 : suppressor->truncate(digi) )));
261  }
262  } else {
263  const auto firstDigiIt = std::begin(procRawDigis)+128*(iAPV-firstAPV);
264  std::vector<int16_t> singleAPVdigi(firstDigiIt, firstDigiIt+128);
265  suppressor->suppress(singleAPVdigi, iAPV, output);
266  }
267  }
268 
269  return nAPVFlagged;
270 }
void push_back(const T &t)
Definition: DetSet.h:68
const std::unique_ptr< SiStripPedestalsSubtractor > subtractorPed
SiStripAPVRestorer::digivector_t digivector_t
const std::unique_ptr< SiStripAPVRestorer > restorer
const std::unique_ptr< SiStripCommonModeNoiseSubtractor > subtractorCMN
A Digi for the silicon strip detector, containing both strip and adc information, and suitable for st...
Definition: SiStripDigi.h:12
const std::unique_ptr< SiStripFedZeroSuppression > suppressor
const std::vector< bool > & getAPVFlags() const
#define begin
Definition: vmac.h:32
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.

Parameters
rawDigisinput (virgin) raw digis
outputzero-suppressed digis (or pedestal-subtracted digis, see above)
Returns
number of restored APVs

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.

285 {
286  digivector_t rawdigis; rawdigis.reserve(rawDigis.size());
287  std::transform(std::begin(rawDigis), std::end(rawDigis), std::back_inserter(rawdigis),
288  [] ( SiStripRawDigi digi ) { return digi.adc(); } );
289  return convertVirginRawToHybrid(rawDigis.id, 0, rawdigis, suppressedDigis);
290 }
const uint16_t & adc() const
SiStripAPVRestorer::digivector_t digivector_t
uint16_t convertVirginRawToHybrid(uint32_t detId, uint16_t firstAPV, digivector_t &inDigis, edm::DetSet< SiStripDigi > &rawDigis)
size_type size() const
Definition: DetSet.h:63
#define end
Definition: vmac.h:39
#define begin
Definition: vmac.h:32
det_id_type id
Definition: DetSet.h:77
A Digi for the silicon strip detector, containing only adc information, and suitable for storing raw ...
const std::vector<bool>& SiStripRawProcessingAlgorithms::getAPVFlags ( ) const
inline

Definition at line 40 of file SiStripRawProcessingAlgorithms.h.

References restorer.

Referenced by convertVirginRawToHybrid(), and suppressHybridData().

40 { return restorer->getAPVFlags(); }
const std::unique_ptr< SiStripAPVRestorer > restorer
const SiStripAPVRestorer::medians_t& SiStripRawProcessingAlgorithms::getAPVsCM ( ) const
inline

Definition at line 43 of file SiStripRawProcessingAlgorithms.h.

References subtractorCMN.

43 { return subtractorCMN->getAPVsCM(); }
const std::unique_ptr< SiStripCommonModeNoiseSubtractor > subtractorCMN
const SiStripAPVRestorer::baselinemap_t& SiStripRawProcessingAlgorithms::getBaselineMap ( ) const
inline

Definition at line 41 of file SiStripRawProcessingAlgorithms.h.

References restorer.

41 { return restorer->getBaselineMap(); }
const std::unique_ptr< SiStripAPVRestorer > restorer
const std::map<uint16_t, SiStripAPVRestorer::digimap_t>& SiStripRawProcessingAlgorithms::getSmoothedPoints ( ) const
inline

Definition at line 42 of file SiStripRawProcessingAlgorithms.h.

References restorer.

42 { return restorer->getSmoothedPoints(); }
const std::unique_ptr< SiStripAPVRestorer > 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().

31 {
32  subtractorPed->init(es);
33  subtractorCMN->init(es);
34  suppressor->init(es);
35  if ( restorer.get() ) restorer->init(es);
36 
38  es.get<TrackerDigiGeometryRecord>().get(tracker);
39  trGeo = tracker.product();
40 }
const std::unique_ptr< SiStripPedestalsSubtractor > subtractorPed
const std::unique_ptr< SiStripAPVRestorer > restorer
const std::unique_ptr< SiStripCommonModeNoiseSubtractor > subtractorCMN
const std::unique_ptr< SiStripFedZeroSuppression > suppressor
T get() const
Definition: EventSetup.h:68
T const * product() const
Definition: ESHandle.h:84
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.

43 {
44  initialize(es);
45  if ( restorer.get() && doAPVRestore&&useCMMeanMap ) restorer->loadMeanCMMap(e);
46 }
const std::unique_ptr< SiStripAPVRestorer > restorer
void initialize(const edm::EventSetup &)
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.

Parameters
hybridDigisinput ADCs in ZS format (regular ZS or "hybrid", i.e. processed as x->(x+1024-ped)/2)
outputzero-suppressed digis
RawDigisprocessed ADCs
Returns
number of restored APVs

Definition at line 102 of file SiStripRawProcessingAlgorithms.cc.

References convertHybridDigiToRawDigiVector(), and edm::DetSet< T >::id.

103 {
104  convertHybridDigiToRawDigiVector(hybridDigis, rawDigis);
105  return suppressHybridData(hybridDigis.id, 0, rawDigis, suppressedDigis);
106 }
void convertHybridDigiToRawDigiVector(const edm::DetSet< SiStripDigi > &inDigis, digivector_t &rawDigis)
det_id_type id
Definition: DetSet.h:77
uint16_t suppressHybridData(const edm::DetSet< SiStripDigi > &inDigis, edm::DetSet< SiStripDigi > &suppressedDigis, digivector_t &rawDigis)
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.

Parameters
idmodule DetId
firstAPVindex of the first APV considered
procRawDigisinput (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.
outputzero-suppressed digis
Returns
number of restored APVs

Definition at line 64 of file SiStripRawProcessingAlgorithms.cc.

References begin, getAPVFlags(), mps_fire::i, edm::DetSet< T >::push_back(), restorer, subtractorCMN, and suppressor.

65 {
66  digivector_t procRawDigisPedSubtracted(procRawDigis);
67 
68  subtractorCMN->subtract(id, firstAPV, procRawDigis);
69 
70  const auto nAPVFlagged = restorer->inspectAndRestore(id, firstAPV, procRawDigisPedSubtracted, procRawDigis, subtractorCMN->getAPVsCM());
71 
72  const std::vector<bool>& apvf = getAPVFlags();
73  const std::size_t nAPVs = procRawDigis.size()/128;
74  for ( uint16_t iAPV = firstAPV; iAPV < firstAPV+nAPVs; ++iAPV ) {
75  if ( apvf[iAPV] ) {
76  const auto firstDigiIt = std::begin(procRawDigis)+128*(iAPV-firstAPV);
77  std::vector<int16_t> singleAPVdigi(firstDigiIt, firstDigiIt+128);
78  suppressor->suppress(singleAPVdigi, iAPV, suppressedDigis);
79  } else {
80  for ( uint16_t i = 0; i < 128; ++i ) {
81  const int16_t digi = procRawDigisPedSubtracted[128*(iAPV-firstAPV)+i];
82  if ( digi > 0 ) { suppressedDigis.push_back(SiStripDigi(iAPV*128+i, suppressor->truncate(digi))); }
83  }
84  }
85  }
86 
87  return nAPVFlagged;
88 }
void push_back(const T &t)
Definition: DetSet.h:68
SiStripAPVRestorer::digivector_t digivector_t
const std::unique_ptr< SiStripAPVRestorer > restorer
const std::unique_ptr< SiStripCommonModeNoiseSubtractor > subtractorCMN
A Digi for the silicon strip detector, containing both strip and adc information, and suitable for st...
Definition: SiStripDigi.h:12
const std::unique_ptr< SiStripFedZeroSuppression > suppressor
const std::vector< bool > & getAPVFlags() const
#define begin
Definition: vmac.h:32
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.

Parameters
idmodule DetId
firstAPVindex of the first APV to consider
procRawDigisinput (processed raw) ADCs. Output: the ADCs after all subtractions, but before zero-suppression
outputzero-suppressed digis
Returns
number of restored APVs

Definition at line 188 of file SiStripRawProcessingAlgorithms.cc.

References doAPVRestore, restorer, subtractorCMN, and suppressor.

Referenced by suppressProcessedRawData(), and suppressVirginRawData().

189 {
190  digivector_t procRawDigisPedSubtracted ;
191 
192  int16_t nAPVFlagged =0;
193  if ( doAPVRestore )
194  procRawDigisPedSubtracted.assign(procRawDigis.begin(), procRawDigis.end());
195  subtractorCMN->subtract(id, firstAPV, procRawDigis);
196  if ( doAPVRestore )
197  nAPVFlagged = restorer->inspectAndRestore(id, firstAPV, procRawDigisPedSubtracted, procRawDigis, subtractorCMN->getAPVsCM());
198  suppressor->suppress(procRawDigis, firstAPV, output);
199  return nAPVFlagged;
200 }
SiStripAPVRestorer::digivector_t digivector_t
const std::unique_ptr< SiStripAPVRestorer > restorer
const std::unique_ptr< SiStripCommonModeNoiseSubtractor > subtractorCMN
const std::unique_ptr< SiStripFedZeroSuppression > suppressor
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.

Parameters
rawDigisinput (processed) raw digis
outputzero-suppressed digis
Returns
number of restored APVs

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.

213 {
214  digivector_t rawdigis; rawdigis.reserve(rawDigis.size());
215  std::transform(std::begin(rawDigis), std::end(rawDigis), std::back_inserter(rawdigis),
216  [] ( SiStripRawDigi digi ) { return digi.adc(); } );
217  return suppressProcessedRawData(rawDigis.id, 0, rawdigis, output);
218 }
const uint16_t & adc() const
uint16_t suppressProcessedRawData(uint32_t detId, uint16_t firstAPV, digivector_t &procRawDigis, edm::DetSet< SiStripDigi > &output)
SiStripAPVRestorer::digivector_t digivector_t
size_type size() const
Definition: DetSet.h:63
#define end
Definition: vmac.h:39
#define begin
Definition: vmac.h:32
det_id_type id
Definition: DetSet.h:77
A Digi for the silicon strip detector, containing only adc information, and suitable for storing raw ...
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.

Parameters
idmodule DetId
firstAPVindex of the first APV to consider
procRawDigisinput (virgin raw) ADCs. Output: the ADCs after all subtractions, but before zero-suppression
outputzero-suppressed digis
Returns
number of restored APVs

Definition at line 152 of file SiStripRawProcessingAlgorithms.cc.

References subtractorPed, and suppressProcessedRawData().

Referenced by suppressVirginRawData().

153 {
154  subtractorPed->subtract(id, firstAPV*128, procRawDigis);
155  return suppressProcessedRawData(id, firstAPV, procRawDigis, output);
156 }
const std::unique_ptr< SiStripPedestalsSubtractor > subtractorPed
uint16_t suppressProcessedRawData(uint32_t detId, uint16_t firstAPV, digivector_t &procRawDigis, edm::DetSet< SiStripDigi > &output)
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.

Parameters
rawDigisinput (virgin) raw digis
outputzero-suppressed digis
Returns
number of restored APVs

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.

169 {
170  digivector_t rawdigis; rawdigis.reserve(rawDigis.size());
171  std::transform(std::begin(rawDigis), std::end(rawDigis), std::back_inserter(rawdigis),
172  [] ( SiStripRawDigi digi ) { return digi.adc(); } );
173  return suppressVirginRawData(rawDigis.id, 0, rawdigis, output);
174 }
const uint16_t & adc() const
uint16_t suppressVirginRawData(uint32_t detId, uint16_t firstAPV, digivector_t &procRawDigis, edm::DetSet< SiStripDigi > &output)
SiStripAPVRestorer::digivector_t digivector_t
size_type size() const
Definition: DetSet.h:63
#define end
Definition: vmac.h:39
#define begin
Definition: vmac.h:32
det_id_type id
Definition: DetSet.h:77
A Digi for the silicon strip detector, containing only adc information, and suitable for storing raw ...

Friends And Related Function Documentation

friend class SiStripRawProcessingFactory
friend

Definition at line 17 of file SiStripRawProcessingAlgorithms.h.

Member Data Documentation

const bool SiStripRawProcessingAlgorithms::doAPVRestore
private

Definition at line 51 of file SiStripRawProcessingAlgorithms.h.

Referenced by initialize(), and suppressProcessedRawData().

const std::unique_ptr<SiStripAPVRestorer> SiStripRawProcessingAlgorithms::restorer
const std::unique_ptr<SiStripCommonModeNoiseSubtractor> SiStripRawProcessingAlgorithms::subtractorCMN
const std::unique_ptr<SiStripPedestalsSubtractor> SiStripRawProcessingAlgorithms::subtractorPed
const std::unique_ptr<SiStripFedZeroSuppression> SiStripRawProcessingAlgorithms::suppressor
const TrackerGeometry* SiStripRawProcessingAlgorithms::trGeo
private
const bool SiStripRawProcessingAlgorithms::useCMMeanMap
private

Definition at line 52 of file SiStripRawProcessingAlgorithms.h.

Referenced by initialize().