CMS 3D CMS Logo

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
List of all members | Public Member Functions | Private Types | Private Member Functions | Private Attributes
SiStripZeroSuppression Class Reference

#include <SiStripZeroSuppression.h>

Inheritance diagram for SiStripZeroSuppression:
edm::stream::EDProducer<>

Public Member Functions

void produce (edm::Event &, const edm::EventSetup &) override
 
 SiStripZeroSuppression (const edm::ParameterSet &)
 
- Public Member Functions inherited from edm::stream::EDProducer<>
 EDProducer ()=default
 
 EDProducer (const EDProducer &)=delete
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
const EDProduceroperator= (const EDProducer &)=delete
 

Private Types

using medians_t = std::vector< std::pair< short, float > >
 
using rawtoken_t = edm::EDGetTokenT< edm::DetSetVector< SiStripRawDigi > >
 
enum  RawType { RawType::Unknown, RawType::VirginRaw, RawType::ProcessedRaw, RawType::ScopeMode }
 
using zstoken_t = edm::EDGetTokenT< edm::DetSetVector< SiStripDigi > >
 

Private Member Functions

void clearOutputs ()
 
edm::DetSet< SiStripRawDigiformatRawDigis (const edm::DetSet< SiStripRawDigi > &rawDigis)
 
edm::DetSet< SiStripRawDigiformatRawDigis (uint32_t detId, const std::vector< int16_t > &rawDigis)
 
void processHybrid (const edm::DetSetVector< SiStripDigi > &input)
 
void processRaw (const edm::DetSetVector< SiStripRawDigi > &input, RawType inType)
 
void putOutputs (edm::Event &evt, const std::string &tagName)
 
void storeBaseline (uint32_t, const medians_t &)
 
void storeBaselinePoints (uint32_t)
 
void storeCMN (uint32_t, const medians_t &)
 
void storeExtraOutput (uint32_t, int16_t)
 

Private Attributes

std::unique_ptr< SiStripRawProcessingAlgorithmsalgorithms
 
bool fixCM
 
std::vector< std::tuple< std::string, zstoken_t > > hybridInputs
 
std::vector< edm::DetSet< SiStripProcessedRawDigi > > output_apvcm
 
std::vector< edm::DetSet< SiStripDigi > > output_base
 
std::vector< edm::DetSet< SiStripRawDigi > > output_base_raw
 
std::vector< edm::DetSet< SiStripProcessedRawDigi > > output_baseline
 
std::vector< edm::DetSet< SiStripDigi > > output_baseline_points
 
bool produceBaselinePoints
 
bool produceCalculatedBaseline
 
bool produceHybridFormat
 
bool produceRawDigis
 
std::vector< std::tuple< std::string, RawType, rawtoken_t > > rawInputs
 
bool storeCM
 
bool storeInZScollBadAPV
 

Additional Inherited Members

- Public Types inherited from edm::stream::EDProducer<>
using CacheTypes = CacheContexts< T... >
 
using GlobalCache = typename CacheTypes::GlobalCache
 
using HasAbility = AbilityChecker< T... >
 
using InputProcessBlockCache = typename CacheTypes::InputProcessBlockCache
 
using LuminosityBlockCache = typename CacheTypes::LuminosityBlockCache
 
using LuminosityBlockContext = LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCache >
 
using LuminosityBlockSummaryCache = typename CacheTypes::LuminosityBlockSummaryCache
 
using RunCache = typename CacheTypes::RunCache
 
using RunContext = RunContextT< RunCache, GlobalCache >
 
using RunSummaryCache = typename CacheTypes::RunSummaryCache
 

Detailed Description

Definition at line 16 of file SiStripZeroSuppression.h.

Member Typedef Documentation

◆ medians_t

using SiStripZeroSuppression::medians_t = std::vector<std::pair<short, float> >
private

Definition at line 32 of file SiStripZeroSuppression.h.

◆ rawtoken_t

Definition at line 47 of file SiStripZeroSuppression.h.

◆ zstoken_t

Definition at line 48 of file SiStripZeroSuppression.h.

Member Enumeration Documentation

◆ RawType

enum SiStripZeroSuppression::RawType
strongprivate
Enumerator
Unknown 
VirginRaw 
ProcessedRaw 
ScopeMode 

Definition at line 22 of file SiStripZeroSuppression.h.

22 { Unknown, VirginRaw, ProcessedRaw, ScopeMode };

Constructor & Destructor Documentation

◆ SiStripZeroSuppression()

SiStripZeroSuppression::SiStripZeroSuppression ( const edm::ParameterSet conf)
explicit

Definition at line 14 of file SiStripZeroSuppression.cc.

References Exception, edm::ParameterSet::getParameter(), hybridInputs, SimL1EmulatorRepack_Full_cff::inputTag, output_apvcm, output_base, output_base_raw, output_baseline, output_baseline_points, ProcessedRaw, produceBaselinePoints, produceCalculatedBaseline, produceHybridFormat, produceRawDigis, rawInputs, ScopeMode, storeCM, AlCaHLTBitMon_QueryRunRegistry::string, TauJetAlgoParameters_cfi::tagName, Unknown, and VirginRaw.

15  : algorithms(
16  SiStripRawProcessingFactory::create(conf.getParameter<edm::ParameterSet>("Algorithms"), consumesCollector())),
17  produceRawDigis(conf.getParameter<bool>("produceRawDigis")),
18  storeCM(conf.getParameter<bool>("storeCM")),
19  fixCM(conf.getParameter<bool>("fixCM")),
20  produceCalculatedBaseline(conf.getParameter<bool>("produceCalculatedBaseline")),
21  produceBaselinePoints(conf.getParameter<bool>("produceBaselinePoints")),
22  storeInZScollBadAPV(conf.getParameter<bool>("storeInZScollBadAPV")),
23  produceHybridFormat(conf.getParameter<bool>("produceHybridFormat")) {
24  for (const auto& inputTag : conf.getParameter<std::vector<edm::InputTag>>("RawDigiProducersList")) {
25  const auto& tagName = inputTag.instance();
26  produces<edm::DetSetVector<SiStripDigi>>(tagName);
27  if (produceRawDigis)
28  produces<edm::DetSetVector<SiStripRawDigi>>(tagName);
29  if (storeCM)
30  produces<edm::DetSetVector<SiStripProcessedRawDigi>>("APVCM" + tagName);
32  produces<edm::DetSetVector<SiStripProcessedRawDigi>>("BADAPVBASELINE" + tagName);
34  produces<edm::DetSetVector<SiStripDigi>>("BADAPVBASELINEPOINTS" + tagName);
35 
36  RawType inputType = RawType::Unknown;
37  if (tagName == "ProcessedRaw") {
38  inputType = RawType::ProcessedRaw;
40  throw cms::Exception("Processed Raw Cannot be converted in hybrid Format");
41  } else if (tagName == "VirginRaw") {
42  inputType = RawType::VirginRaw;
43  } else if (tagName == "ScopeMode") {
44  inputType = RawType::ScopeMode;
46  throw cms::Exception("Scope Mode cannot be converted in hybrid Format");
47  }
48  if (RawType::Unknown != inputType) {
49  rawInputs.emplace_back(tagName, inputType, consumes<edm::DetSetVector<SiStripRawDigi>>(inputTag));
50  } else if (tagName == "ZeroSuppressed") {
52  } else {
53  throw cms::Exception("Unknown input type")
54  << tagName << " unknown. "
55  << "SiStripZeroZuppression can only process types \"VirginRaw\", \"ProcessedRaw\" and \"ZeroSuppressed\"";
56  }
57  }
58 
59  if (produceHybridFormat &&
60  ("HybridEmulation" !=
61  conf.getParameter<edm::ParameterSet>("Algorithms").getParameter<std::string>("APVInspectMode")))
62  throw cms::Exception("Invalid option") << "When producing data in the hybrid format, the APV restorer must be "
63  "configured with APVInspectMode='HybridEmulation'";
64 
65  if ((!hybridInputs.empty()) && produceRawDigis) {
66  edm::LogInfo("SiStripZeroSuppression") << "Raw digis will not be saved for hybrid inputs";
67  }
68 
69  if (!(rawInputs.empty() && hybridInputs.empty())) {
70  output_base.reserve(16000);
71  if (produceRawDigis && !rawInputs.empty())
72  output_base_raw.reserve(16000);
73  if (storeCM)
74  output_apvcm.reserve(16000);
76  output_baseline.reserve(16000);
78  output_baseline_points.reserve(16000);
79  }
80 }
T getParameter(std::string const &) const
Definition: ParameterSet.h:307
std::vector< edm::DetSet< SiStripDigi > > output_base
std::vector< edm::DetSet< SiStripProcessedRawDigi > > output_baseline
std::vector< std::tuple< std::string, zstoken_t > > hybridInputs
std::vector< edm::DetSet< SiStripProcessedRawDigi > > output_apvcm
std::unique_ptr< SiStripRawProcessingAlgorithms > algorithms
std::vector< edm::DetSet< SiStripDigi > > output_baseline_points
std::vector< std::tuple< std::string, RawType, rawtoken_t > > rawInputs
Log< level::Info, false > LogInfo
std::vector< edm::DetSet< SiStripRawDigi > > output_base_raw
static std::unique_ptr< SiStripRawProcessingAlgorithms > create(const edm::ParameterSet &, edm::ConsumesCollector)

Member Function Documentation

◆ clearOutputs()

void SiStripZeroSuppression::clearOutputs ( )
inlineprivate

Definition at line 104 of file SiStripZeroSuppression.cc.

References output_apvcm, output_base, output_base_raw, output_baseline, and output_baseline_points.

Referenced by produce().

104  {
105  output_base.clear();
106  output_base_raw.clear();
107  output_baseline.clear();
108  output_baseline_points.clear();
109  output_apvcm.clear();
110 }
std::vector< edm::DetSet< SiStripDigi > > output_base
std::vector< edm::DetSet< SiStripProcessedRawDigi > > output_baseline
std::vector< edm::DetSet< SiStripProcessedRawDigi > > output_apvcm
std::vector< edm::DetSet< SiStripDigi > > output_baseline_points
std::vector< edm::DetSet< SiStripRawDigi > > output_base_raw

◆ formatRawDigis() [1/2]

edm::DetSet< SiStripRawDigi > SiStripZeroSuppression::formatRawDigis ( const edm::DetSet< SiStripRawDigi > &  rawDigis)
inlineprivate

Definition at line 163 of file SiStripZeroSuppression.cc.

References algorithms, edm::DetSet< T >::id, edm::DetSet< T >::push_back(), edm::DetSet< T >::reserve(), edm::DetSet< T >::size(), and nano_mu_digi_cff::strip.

Referenced by processRaw().

163  {
164  edm::DetSet<SiStripRawDigi> outRawDigis(rawDigis.id);
165  outRawDigis.reserve(rawDigis.size());
166  const std::vector<bool>& apvf = algorithms->getAPVFlags();
167  uint32_t strip = 0;
168  for (const auto rawDigi : rawDigis) {
169  int16_t apvN = strip / 128;
170  if (apvf[apvN])
171  outRawDigis.push_back(rawDigi);
172  else
173  outRawDigis.push_back(SiStripRawDigi(0));
174  ++strip;
175  }
176  return outRawDigis;
177 }
std::unique_ptr< SiStripRawProcessingAlgorithms > algorithms
det_id_type id
Definition: DetSet.h:79
A Digi for the silicon strip detector, containing only adc information, and suitable for storing raw ...
size_type size() const
Definition: DetSet.h:61

◆ formatRawDigis() [2/2]

edm::DetSet< SiStripRawDigi > SiStripZeroSuppression::formatRawDigis ( uint32_t  detId,
const std::vector< int16_t > &  rawDigis 
)
inlineprivate

Definition at line 179 of file SiStripZeroSuppression.cc.

References algorithms, hcalRecHitTable_cff::detId, edm::DetSet< T >::push_back(), edm::DetSet< T >::reserve(), and nano_mu_digi_cff::strip.

180  {
181  edm::DetSet<SiStripRawDigi> outRawDigis(detId);
182  outRawDigis.reserve(rawDigis.size());
183  const std::vector<bool>& apvf = algorithms->getAPVFlags();
184  uint32_t strip = 0;
185  for (const auto rawDigi : rawDigis) {
186  int16_t apvN = strip / 128;
187  if (apvf[apvN])
188  outRawDigis.push_back(SiStripRawDigi(rawDigi));
189  else
190  outRawDigis.push_back(SiStripRawDigi(0));
191  ++strip;
192  }
193  return outRawDigis;
194 }
std::unique_ptr< SiStripRawProcessingAlgorithms > algorithms
A Digi for the silicon strip detector, containing only adc information, and suitable for storing raw ...

◆ processHybrid()

void SiStripZeroSuppression::processHybrid ( const edm::DetSetVector< SiStripDigi > &  input)
inlineprivate

Definition at line 150 of file SiStripZeroSuppression.cc.

References algorithms, edm::DetSet< T >::empty(), input, eostools::move(), output_base, and storeExtraOutput().

Referenced by produce().

150  {
151  for (const auto& inDigis : input) {
152  edm::DetSet<SiStripDigi> suppressedDigis(inDigis.id);
153 
154  uint16_t nAPVflagged = 0;
155  nAPVflagged = algorithms->suppressHybridData(inDigis, suppressedDigis);
156 
157  storeExtraOutput(inDigis.id, nAPVflagged);
158  if (!suppressedDigis.empty())
159  output_base.push_back(std::move(suppressedDigis));
160  }
161 }
std::vector< edm::DetSet< SiStripDigi > > output_base
static std::string const input
Definition: EdmProvDump.cc:50
void storeExtraOutput(uint32_t, int16_t)
std::unique_ptr< SiStripRawProcessingAlgorithms > algorithms
def move(src, dest)
Definition: eostools.py:511

◆ processRaw()

void SiStripZeroSuppression::processRaw ( const edm::DetSetVector< SiStripRawDigi > &  input,
RawType  inType 
)
inlineprivate

Definition at line 123 of file SiStripZeroSuppression.cc.

References algorithms, edm::DetSet< T >::empty(), formatRawDigis(), input, eostools::move(), output_base, output_base_raw, ProcessedRaw, produceHybridFormat, produceRawDigis, ScopeMode, storeExtraOutput(), storeInZScollBadAPV, and VirginRaw.

Referenced by produce().

123  {
124  for (const auto& rawDigis : input) {
125  edm::DetSet<SiStripDigi> suppressedDigis(rawDigis.id);
126 
127  int16_t nAPVflagged = 0;
128  if (RawType::ProcessedRaw == inType) {
129  nAPVflagged = algorithms->suppressProcessedRawData(rawDigis, suppressedDigis);
130  } else if (RawType::ScopeMode == inType) {
131  nAPVflagged = algorithms->suppressVirginRawData(rawDigis, suppressedDigis);
132  } else if (RawType::VirginRaw == inType) {
133  if (produceHybridFormat) {
134  nAPVflagged = algorithms->convertVirginRawToHybrid(rawDigis, suppressedDigis);
135  } else {
136  nAPVflagged = algorithms->suppressVirginRawData(rawDigis, suppressedDigis);
137  }
138  }
139 
140  storeExtraOutput(rawDigis.id, nAPVflagged);
141  if (!suppressedDigis.empty() && (storeInZScollBadAPV || nAPVflagged == 0))
142  output_base.push_back(std::move(suppressedDigis));
143 
144  if (produceRawDigis && nAPVflagged > 0) {
145  output_base_raw.push_back(formatRawDigis(rawDigis));
146  }
147  }
148 }
std::vector< edm::DetSet< SiStripDigi > > output_base
static std::string const input
Definition: EdmProvDump.cc:50
void storeExtraOutput(uint32_t, int16_t)
std::unique_ptr< SiStripRawProcessingAlgorithms > algorithms
std::vector< edm::DetSet< SiStripRawDigi > > output_base_raw
edm::DetSet< SiStripRawDigi > formatRawDigis(const edm::DetSet< SiStripRawDigi > &rawDigis)
def move(src, dest)
Definition: eostools.py:511

◆ produce()

void SiStripZeroSuppression::produce ( edm::Event e,
const edm::EventSetup es 
)
override

Definition at line 82 of file SiStripZeroSuppression.cc.

References algorithms, clearOutputs(), MillePedeFileConverter_cfg::e, hybridInputs, input, processHybrid(), processRaw(), putOutputs(), and rawInputs.

82  {
83  algorithms->initialize(es, e);
84 
85  for (const auto& input : rawInputs) {
86  clearOutputs();
88  e.getByToken(std::get<rawtoken_t>(input), inDigis);
89  if (!inDigis->empty())
90  processRaw(*inDigis, std::get<RawType>(input));
91  putOutputs(e, std::get<std::string>(input));
92  }
93  for (const auto& input : hybridInputs) {
94  clearOutputs();
96  e.getByToken(std::get<zstoken_t>(input), inDigis);
97  if (!inDigis->empty()) {
98  processHybrid(*inDigis);
99  }
100  putOutputs(e, std::get<std::string>(input));
101  }
102 }
std::vector< std::tuple< std::string, zstoken_t > > hybridInputs
void processRaw(const edm::DetSetVector< SiStripRawDigi > &input, RawType inType)
static std::string const input
Definition: EdmProvDump.cc:50
std::unique_ptr< SiStripRawProcessingAlgorithms > algorithms
std::vector< std::tuple< std::string, RawType, rawtoken_t > > rawInputs
void processHybrid(const edm::DetSetVector< SiStripDigi > &input)
void putOutputs(edm::Event &evt, const std::string &tagName)

◆ putOutputs()

void SiStripZeroSuppression::putOutputs ( edm::Event evt,
const std::string &  tagName 
)
inlineprivate

Definition at line 111 of file SiStripZeroSuppression.cc.

References output_apvcm, output_base, output_base_raw, output_baseline, output_baseline_points, produceBaselinePoints, produceCalculatedBaseline, produceRawDigis, edm::Event::put(), rawInputs, storeCM, and TauJetAlgoParameters_cfi::tagName.

Referenced by produce().

111  {
112  evt.put(std::make_unique<edm::DetSetVector<SiStripDigi>>(output_base), tagName);
113  if (produceRawDigis && !rawInputs.empty())
116  evt.put(std::make_unique<edm::DetSetVector<SiStripProcessedRawDigi>>(output_baseline), "BADAPVBASELINE" + tagName);
118  evt.put(std::make_unique<edm::DetSetVector<SiStripDigi>>(output_baseline_points), "BADAPVBASELINEPOINTS" + tagName);
119  if (storeCM)
120  evt.put(std::make_unique<edm::DetSetVector<SiStripProcessedRawDigi>>(output_apvcm), "APVCM" + tagName);
121 }
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
Definition: Event.h:133
std::vector< edm::DetSet< SiStripDigi > > output_base
std::vector< edm::DetSet< SiStripProcessedRawDigi > > output_baseline
std::vector< edm::DetSet< SiStripProcessedRawDigi > > output_apvcm
std::vector< edm::DetSet< SiStripDigi > > output_baseline_points
std::vector< std::tuple< std::string, RawType, rawtoken_t > > rawInputs
std::vector< edm::DetSet< SiStripRawDigi > > output_base_raw

◆ storeBaseline()

void SiStripZeroSuppression::storeBaseline ( uint32_t  id,
const medians_t vmedians 
)
inlineprivate

Definition at line 208 of file SiStripZeroSuppression.cc.

References algorithms, edm::DetSet< T >::empty(), median(), output_baseline, edm::DetSet< T >::push_back(), edm::DetSet< T >::reserve(), and nano_mu_digi_cff::strip.

Referenced by storeExtraOutput().

208  {
209  const auto& baselinemap = algorithms->getBaselineMap();
210 
211  edm::DetSet<SiStripProcessedRawDigi> baselineDetSet(id);
212  baselineDetSet.reserve(vmedians.size() * 128);
213  for (const auto& vmed : vmedians) {
214  const uint16_t apvN = vmed.first;
215  const float median = vmed.second;
216  auto itBaselineMap = baselinemap.find(apvN);
217  if (baselinemap.end() == itBaselineMap) {
218  for (size_t strip = 0; strip < 128; ++strip)
219  baselineDetSet.push_back(SiStripProcessedRawDigi(median));
220  } else {
221  for (size_t strip = 0; strip < 128; ++strip)
222  baselineDetSet.push_back(SiStripProcessedRawDigi((itBaselineMap->second)[strip]));
223  }
224  }
225 
226  if (!baselineDetSet.empty())
227  output_baseline.push_back(baselineDetSet);
228 }
std::vector< edm::DetSet< SiStripProcessedRawDigi > > output_baseline
A signed Digi for the silicon strip detector, containing only adc information, and suitable for stori...
std::unique_ptr< SiStripRawProcessingAlgorithms > algorithms
T median(std::vector< T > values)
Definition: median.h:16

◆ storeBaselinePoints()

void SiStripZeroSuppression::storeBaselinePoints ( uint32_t  id)
inlineprivate

Definition at line 230 of file SiStripZeroSuppression.cc.

References algorithms, edm::DetSet< T >::empty(), eostools::move(), output_baseline_points, and edm::DetSet< T >::push_back().

Referenced by storeExtraOutput().

230  {
231  edm::DetSet<SiStripDigi> baspointDetSet(id);
232  for (const auto& itBaselinePointVect : algorithms->getSmoothedPoints()) {
233  const uint16_t apvN = itBaselinePointVect.first;
234  for (const auto& itBaselinePointMap : itBaselinePointVect.second) {
235  const uint16_t bpstrip = itBaselinePointMap.first + apvN * 128;
236  const int16_t bp = itBaselinePointMap.second;
237  baspointDetSet.push_back(SiStripDigi(bpstrip, bp + 128));
238  }
239  }
240 
241  if (!baspointDetSet.empty())
242  output_baseline_points.push_back(std::move(baspointDetSet));
243 }
std::unique_ptr< SiStripRawProcessingAlgorithms > algorithms
std::vector< edm::DetSet< SiStripDigi > > output_baseline_points
A Digi for the silicon strip detector, containing both strip and adc information, and suitable for st...
Definition: SiStripDigi.h:12
def move(src, dest)
Definition: eostools.py:511

◆ storeCMN()

void SiStripZeroSuppression::storeCMN ( uint32_t  id,
const medians_t vmedians 
)
inlineprivate

Definition at line 245 of file SiStripZeroSuppression.cc.

References algorithms, filterCSVwithJSON::copy, edm::DetSet< T >::empty(), fixCM, mps_fire::i, eostools::move(), output_apvcm, and edm::DetSet< T >::push_back().

Referenced by storeExtraOutput().

245  {
246  std::vector<bool> apvf(6, false);
247  if (fixCM) {
248  const auto& apvFlagged = algorithms->getAPVFlags();
249  std::copy(std::begin(apvFlagged), std::end(apvFlagged), std::begin(apvf));
250  }
251 
253  short apvNb = 0;
254  for (const auto& vmed : vmedians) {
255  if (vmed.first > apvNb) {
256  for (int i{0}; i < vmed.first - apvNb; ++i) {
257  apvDetSet.push_back(SiStripProcessedRawDigi(-999.));
258  apvNb++;
259  }
260  }
261 
262  if (fixCM && apvf[vmed.first]) {
263  apvDetSet.push_back(SiStripProcessedRawDigi(-999.));
264  } else {
265  apvDetSet.push_back(SiStripProcessedRawDigi(vmed.second));
266  }
267  apvNb++;
268  }
269 
270  if (!apvDetSet.empty())
271  output_apvcm.push_back(std::move(apvDetSet));
272 }
A signed Digi for the silicon strip detector, containing only adc information, and suitable for stori...
std::vector< edm::DetSet< SiStripProcessedRawDigi > > output_apvcm
std::unique_ptr< SiStripRawProcessingAlgorithms > algorithms
def move(src, dest)
Definition: eostools.py:511

◆ storeExtraOutput()

void SiStripZeroSuppression::storeExtraOutput ( uint32_t  id,
int16_t  nAPVflagged 
)
inlineprivate

Definition at line 196 of file SiStripZeroSuppression.cc.

References algorithms, produceBaselinePoints, produceCalculatedBaseline, storeBaseline(), storeBaselinePoints(), storeCM, and storeCMN().

Referenced by processHybrid(), and processRaw().

196  {
197  const auto& vmedians = algorithms->getAPVsCM();
198  if (storeCM)
199  storeCMN(id, vmedians);
200  if (nAPVflagged > 0) {
202  storeBaseline(id, vmedians);
205  }
206 }
std::unique_ptr< SiStripRawProcessingAlgorithms > algorithms
void storeBaseline(uint32_t, const medians_t &)
void storeCMN(uint32_t, const medians_t &)

Member Data Documentation

◆ algorithms

std::unique_ptr<SiStripRawProcessingAlgorithms> SiStripZeroSuppression::algorithms
private

◆ fixCM

bool SiStripZeroSuppression::fixCM
private

Definition at line 41 of file SiStripZeroSuppression.h.

Referenced by storeCMN().

◆ hybridInputs

std::vector<std::tuple<std::string, zstoken_t> > SiStripZeroSuppression::hybridInputs
private

Definition at line 50 of file SiStripZeroSuppression.h.

Referenced by produce(), and SiStripZeroSuppression().

◆ output_apvcm

std::vector<edm::DetSet<SiStripProcessedRawDigi> > SiStripZeroSuppression::output_apvcm
private

◆ output_base

std::vector<edm::DetSet<SiStripDigi> > SiStripZeroSuppression::output_base
private

◆ output_base_raw

std::vector<edm::DetSet<SiStripRawDigi> > SiStripZeroSuppression::output_base_raw
private

◆ output_baseline

std::vector<edm::DetSet<SiStripProcessedRawDigi> > SiStripZeroSuppression::output_baseline
private

◆ output_baseline_points

std::vector<edm::DetSet<SiStripDigi> > SiStripZeroSuppression::output_baseline_points
private

◆ produceBaselinePoints

bool SiStripZeroSuppression::produceBaselinePoints
private

Definition at line 43 of file SiStripZeroSuppression.h.

Referenced by putOutputs(), SiStripZeroSuppression(), and storeExtraOutput().

◆ produceCalculatedBaseline

bool SiStripZeroSuppression::produceCalculatedBaseline
private

Definition at line 42 of file SiStripZeroSuppression.h.

Referenced by putOutputs(), SiStripZeroSuppression(), and storeExtraOutput().

◆ produceHybridFormat

bool SiStripZeroSuppression::produceHybridFormat
private

Definition at line 45 of file SiStripZeroSuppression.h.

Referenced by processRaw(), and SiStripZeroSuppression().

◆ produceRawDigis

bool SiStripZeroSuppression::produceRawDigis
private

Definition at line 39 of file SiStripZeroSuppression.h.

Referenced by processRaw(), putOutputs(), and SiStripZeroSuppression().

◆ rawInputs

std::vector<std::tuple<std::string, RawType, rawtoken_t> > SiStripZeroSuppression::rawInputs
private

Definition at line 49 of file SiStripZeroSuppression.h.

Referenced by produce(), putOutputs(), and SiStripZeroSuppression().

◆ storeCM

bool SiStripZeroSuppression::storeCM
private

Definition at line 40 of file SiStripZeroSuppression.h.

Referenced by putOutputs(), SiStripZeroSuppression(), and storeExtraOutput().

◆ storeInZScollBadAPV

bool SiStripZeroSuppression::storeInZScollBadAPV
private

Definition at line 44 of file SiStripZeroSuppression.h.

Referenced by processRaw().