16#ifndef ALICEO2_TPC_IDCGROUPINGPARAMETER_H_
17#define ALICEO2_TPC_IDCGROUPINGPARAMETER_H_
57 static void setGroupingParameterFromString(
const std::string sgroupPads,
const std::string sgroupRows,
const std::string sgroupLastRowsThreshold,
const std::string sgroupLastPadsThreshold);
152 std::array<unsigned char, Mapper::NREGIONS>
groupPads{};
153 std::array<unsigned char, Mapper::NREGIONS>
groupRows{};
#define O2ParamDef(classname, key)
static constexpr unsigned int NREGIONS
total number of regions in one sector
@ ROWS
grouping in row direction
@ NO
no compression using floats
AveragingMethod
averaging methods which is used for averaging IDCs from grouped pads
@ SLOW
Outlier filtering performed. Filtering + averaging.
@ FAST
no outlier filtering performed. Only averaging
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
float maxIDCDeltaValue
maximum Delta IDC
O2ParamDef(ParameterIDCCompression, "TPCIDCCompressionParam")
float minIDCDeltaValue
minimum Delta IDC
struct for storing the parameters for the grouping of IDCs to CCDB
unsigned int getTotalGroupPadsSectorEdges() const
returns total number of pads which are grouped separately: calculate sum of all digits in integer val...
unsigned char getGroupRows(const unsigned int region) const
const std::array< unsigned char, Mapper::NREGIONS > & getGroupPads() const
unsigned char getGroupLastPadsThreshold(const unsigned int region) const
const std::array< unsigned char, Mapper::NREGIONS > & getGroupLastRowsThreshold() const
std::array< unsigned char, Mapper::NREGIONS > groupLastRowsThreshold
if the last group (region edges) consists in row direction less then mGroupLastRowsThreshold pads the...
unsigned int getGroupedPadsSectorEdges() const
EdgePadGroupingMethod getEdgePadGroupingType() const
const std::array< unsigned char, Mapper::NREGIONS > & getGroupRows() const
ParameterIDCGroupCCDB(const std::array< unsigned char, Mapper::NREGIONS > &groupPads, const std::array< unsigned char, Mapper::NREGIONS > &groupRows, const std::array< unsigned char, Mapper::NREGIONS > &groupLastRowsThreshold, const std::array< unsigned char, Mapper::NREGIONS > &groupLastPadsThreshold, const unsigned int groupNotnPadsSectorEdges)
unsigned char getGroupLastRowsThreshold(const unsigned int region) const
std::array< unsigned char, Mapper::NREGIONS > groupRows
grouping parameter in pad direction (how many pads in pad direction are grouped)
unsigned int groupPadsSectorEdges
decoded number of pads at the sector edges which are grouped differently (example: 0: no pads are gro...
std::array< unsigned char, Mapper::NREGIONS > groupLastPadsThreshold
if the last group (sector edges) consists in pad direction less then mGroupLastPadsThreshold pads the...
unsigned int getPadsInGroupSectorEdges(const unsigned indexGroup) const
unsigned char getGroupPads(const unsigned int region) const
unsigned int getGroupPadsSectorEdges() const
std::array< unsigned char, Mapper::NREGIONS > groupPads
grouping parameter in pad direction (how many pads in pad direction are grouped)
ParameterIDCGroupCCDB()=default
const std::array< unsigned char, Mapper::NREGIONS > & getGroupLastPadsThreshold() const
struct for setting the parameters for the grouping of IDCs
AveragingMethod method
method which is used for averaging
float sigma
sigma cut which can be used during the grouping for outlier filtering
unsigned char groupLastPadsThreshold[Mapper::NREGIONS]
if the last group (sector edges) consists in pad direction less then mGroupLastPadsThreshold pads the...
unsigned char groupLastRowsThreshold[Mapper::NREGIONS]
if the last group (region edges) consists in row direction less then mGroupLastRowsThreshold pads the...
float maxIDC0Median
this value is used for identifying outliers (pads with high IDC0 values): "accepted IDC 0 values < me...
static void setGroupingParameterFromString(const std::string sgroupPads, const std::string sgroupRows, const std::string sgroupLastRowsThreshold, const std::string sgroupLastPadsThreshold)
static EdgePadGroupingMethod getEdgePadGroupingType(unsigned int groupPadsSectorEdges)
float minIDC0Median
this value is used for identifying outliers (pads with low IDC0 values): "accepted IDC 0 values > med...
static unsigned int getGroupedPadsSectorEdges(unsigned int groupPadsSectorEdges)
unsigned int groupPadsSectorEdges
decoded number of pads at the sector edges which are grouped differently. First digit specifies the E...
static unsigned int getPadsInGroupSectorEdges(unsigned int groupPadsSectorEdges, const unsigned int group)
static unsigned int getTotalGroupPadsSectorEdges(unsigned int groupPadsSectorEdges)
float minmaxIDC0MedianCentreEdge
this value is used for identifying outliers at the centre of the cross and the edges of the sector i....
unsigned char groupRows[Mapper::NREGIONS]
group parameter in row direction (how many rows are grouped)
unsigned char groupPads[Mapper::NREGIONS]
grouping parameter in pad direction (how many pads are grouped)