9#include <svd/modules/svdSimulation/SVDZeroSuppressionEmulatorModule.h>
25 setDescription(
"Filters out SVDShaperDigit with less than 1 (default) sample is below a certain threshold, by default set at SN = 3.");
29 "FADC mode: if true the approximation to integer is done",
bool(
true));
31 "ShaperDigits collection name",
string(
""));
33 "Kept ShaperDigits collection name",
string(
""));
35 "ShaperDigits collection name",
string(
""));
37 "minimum SN to be kept",
float(3));
39 "number of samples above threshold to be kept ",
int(1));
41 "create the StoreArray of outside strips",
bool(
false));
47SVDZeroSuppressionEmulatorModule::~SVDZeroSuppressionEmulatorModule()
86 B2DEBUG(10,
" shaper digits = " <<
m_storeShaper.getEntries() <<
90 B2DEBUG(10,
" shaper digits = " <<
m_storeShaper.getEntries() <<
105 float cutMinSignal =
m_cutSN * noise;
109 cutMinSignal = cutMinSignal + 0.5;
110 cutMinSignal = (int)cutMinSignal;
@ c_WriteOut
Object/array should be saved by output modules.
void setDescription(const std::string &description)
Sets the description of the module.
void setPropertyFlags(unsigned int propertyFlags)
Sets the flags for the module properties.
@ c_ParallelProcessingCertified
This module can be run in parallel processing mode safely (All I/O must be done through the data stor...
float getNoise(const VxdID &sensorID, const bool &isU, const unsigned short &strip) const
This is the method for getting the noise.
The SVD ShaperDigit class.
bool passesZS(int nSamples, float cutMinSignal) const
does the strip pass the ZS cut?
VxdID getSensorID() const
Get the sensor ID.
short int getCellID() const
Get strip ID.
bool isUStrip() const
Get strip direction.
SelectSubset< SVDShaperDigit > m_selectorIN
selector of the subset of the SVDShaperDigit passing ZS
bool m_FADCmode
if true, same algorithm as on FADC is applied
virtual void initialize() override
Initialize the SVDZeroSuppressionEmulator.
std::string m_storeShaperDigitsName
Name of the collections to use for the SVDShaperDigits.
virtual void event() override
This method is the core of the SVDZeroSuppressionEmulator.
SVDNoiseCalibrations m_NoiseCal
SVDNoise calibration db object.
float m_cutSN
SN ratio threshold.
bool passesZS(const SVDShaperDigit *)
returns true if the strip passes the ZS cut
SelectSubset< SVDShaperDigit > m_selectorOUT
selector of the subset of the SVDShaperDigit not passing ZS
SVDZeroSuppressionEmulatorModule()
Constructor defining the parameters.
int m_nSample
minimum number of samples required to be above threshold
bool m_createOutside
if true a StoreArray of Strips zero-suppressed is created
StoreArray< SVDShaperDigit > m_storeShaper
store arrays
std::string m_SVDShaperDigitsOUT
name of SVDShaperDigits NOT passing ZS
std::string m_SVDShaperDigitsIN
name of SVDShaperDigits passing ZS
Accessor to arrays stored in the data store.
Class to uniquely identify a any structure of the PXD and SVD.
void addParam(const std::string &name, T ¶mVariable, const std::string &description, const T &defaultValue)
Adds a new parameter to the module.
#define REG_MODULE(moduleName)
Register the given module (without 'Module' suffix) with the framework.
Abstract base class for different kinds of events.