Go to the documentation of this file. 1 #ifndef RECOLOCALTRACKER_SISTRIPZEROSUPPRESSION_SISTRIPAPVRESTORER_H
2 #define RECOLOCALTRACKER_SISTRIPZEROSUPPRESSION_SISTRIPAPVRESTORER_H
37 using medians_t = std::vector<std::pair<short, float>>;
58 using CMMap = std::map<uint32_t, std::vector<float>>;
70 bool checkBaseline(
const std::vector<int16_t>& baseline)
const;
static const std::string input
std::map< uint16_t, digimap_t > smoothedMaps_
double filteredBaselineDerivativeSumSquare_
edm::ESGetToken< SiStripQuality, SiStripQualityRcd > qualityToken_
void loadMeanCMMap(const edm::Event &)
baselinemap_t baselineMap_
void baselineFollower(const digimap_t &, digivector_t &baseline, float median)
SiStripAPVRestorer(const edm::ParameterSet &conf, edm::ConsumesCollector)
const SiStripQuality * qualityHandle
uint32_t nSaturatedStrip_
void init(const edm::EventSetup &es)
uint32_t cleaningSequence_
bool checkBaseline(const std::vector< int16_t > &baseline) const
bool applyBaselineRejection_
virtual ~SiStripAPVRestorer()
void cleaner_LocalMinimumAdder(const digivector_t &adcs, digimap_t &smoothedpoints, uint16_t apvN)
uint32_t deltaCMThreshold_
const baselinemap_t & getBaselineMap() const
void cleaner_HighSlopeChecker(digimap_t &smoothedpoints)
constexpr static uint16_t nTotStripsPerAPV
void derivativeFollowerRestore(uint16_t apvN, uint16_t firstAPV, digivector_t &digis)
const SiStripNoises * noiseHandle
const SiStripPedestals * pedestalHandle
uint16_t baselineFollowerInspect(uint16_t firstAPV, const digivector_t &digis)
uint16_t inspectAndRestore(uint32_t detId, uint16_t firstAPV, const digivector_t &rawDigisPedSubtracted, digivector_t &processedRawDigi, const medians_t &vmedians)
void createCMMapCMstored(const edm::DetSetVector< SiStripProcessedRawDigi > &input)
void flatRestore(uint16_t apvN, uint16_t firstAPV, digivector_t &digis)
edm::ESGetToken< SiStripNoises, SiStripNoisesRcd > noiseToken_
uint32_t nSigmaNoiseDerTh_
edm::ESWatcher< SiStripNoisesRcd > noiseWatcher_
std::map< uint16_t, digi_t > digimap_t
uint16_t nullInspect(uint16_t firstAPV, const digivector_t &digis)
uint16_t hybridEmulationInspect(uint16_t firstAPV, const digivector_t &digis)
std::vector< std::string > apvFlags_
std::map< uint16_t, digivector_t > baselinemap_t
std::vector< bool > apvFlagsBool_
double filteredBaselineMax_
uint16_t abnormalBaselineInspect(uint16_t firstAPV, const digivector_t &digis)
uint32_t distortionThreshold_
std::vector< digi_t > digivector_t
void baselineCleaner(const digivector_t &adcs, digimap_t &smoothedpoints, uint16_t apvN)
uint32_t hitStripThreshold_
void restore(uint16_t firstAPV, digivector_t &digis)
uint16_t forceRestoreInspect(uint16_t firstAPV, const digivector_t &digis)
bool flatRegionsFinder(const digivector_t &adcs, digimap_t &smoothedpoints, uint16_t apvN)
void cleaner_MonotonyChecker(digimap_t &smoothedpoints)
const std::vector< bool > & getAPVFlags() const
void createCMMapRealPed(const edm::DetSetVector< SiStripRawDigi > &input)
std::map< uint32_t, std::vector< float > > CMMap
edm::ESGetToken< SiStripPedestals, SiStripPedestalsRcd > pedestalToken_
uint32_t consecThreshold_
edm::ESWatcher< SiStripQualityRcd > qualityWatcher_
const std::map< uint16_t, digimap_t > & getSmoothedPoints() const
uint16_t hybridFormatInspect(uint16_t firstAPV, const digivector_t &digis)
uint16_t inspect(uint32_t detId, uint16_t firstAPV, const digivector_t &digis, const medians_t &vmedians)
edm::ESWatcher< SiStripPedestalsRcd > pedestalWatcher_
std::vector< bool > apvFlagsBoolOverride_
std::vector< std::pair< short, float > > medians_t
void baselineFollowerRestore(uint16_t apvN, uint16_t firstAPV, float median, digivector_t &digis)
uint16_t baselineAndSaturationInspect(uint16_t firstAPV, const digivector_t &digis)
std::vector< bool > badAPVs_
bool applyBaselineCleaner_
std::vector< float > median_