Project
Loading...
Searching...
No Matches
o2::tpc::ParameterIDCGroup Struct Reference

struct for setting the parameters for the grouping of IDCs More...

#include <IDCGroupingParameter.h>

Inherits o2::conf::ConfigurableParamHelper< ParameterIDCGroup >.

Static Public Member Functions

static void setGroupingParameterFromString (const std::string sgroupPads, const std::string sgroupRows, const std::string sgroupLastRowsThreshold, const std::string sgroupLastPadsThreshold)
 
static unsigned int getTotalGroupPadsSectorEdges (unsigned int groupPadsSectorEdges)
 
static unsigned int getGroupedPadsSectorEdges (unsigned int groupPadsSectorEdges)
 
static EdgePadGroupingMethod getEdgePadGroupingType (unsigned int groupPadsSectorEdges)
 
static unsigned int getPadsInGroupSectorEdges (unsigned int groupPadsSectorEdges, const unsigned int group)
 
- Static Public Member Functions inherited from o2::conf::ConfigurableParamHelper< ParameterIDCGroup >
static const ParameterIDCGroup & Instance ()
 
- Static Public Member Functions inherited from o2::conf::ConfigurableParam
static std::string toString (EParamProvenance p)
 
static EParamProvenance getProvenance (const std::string &key)
 
static void printAllRegisteredParamNames ()
 
static void printAllKeyValuePairs (bool useLogger=false)
 
static const std::string & getOutputDir ()
 
static void setOutputDir (const std::string &d)
 
static bool configFileExists (std::string const &filepath)
 
static void writeJSON (std::string const &filename, std::string const &keyOnly="")
 
static void writeINI (std::string const &filename, std::string const &keyOnly="")
 
template<typename T >
static T getValueAs (std::string key)
 
template<typename T >
static void setValue (std::string const &mainkey, std::string const &subkey, T x)
 
static void setProvenance (std::string const &mainkey, std::string const &subkey, EParamProvenance p)
 
static void setValue (std::string const &key, std::string const &valuestring)
 
static void setEnumValue (const std::string &, const std::string &)
 
static void setArrayValue (const std::string &, const std::string &)
 
static void setValues (std::vector< std::pair< std::string, std::string > > const &keyValues)
 
static void initialize ()
 
static void toCCDB (std::string filename)
 
static void fromCCDB (std::string filename)
 
static void updateFromString (std::string const &)
 
static void updateFromFile (std::string const &, std::string const &paramsList="", bool unchangedOnly=false)
 

Public Attributes

unsigned char groupPads [Mapper::NREGIONS] {7, 7, 7, 7, 6, 6, 6, 6, 5, 5}
 grouping parameter in pad direction (how many pads are grouped)
 
unsigned char groupRows [Mapper::NREGIONS] {5, 5, 5, 5, 4, 4, 4, 4, 3, 3}
 group parameter in row direction (how many rows are grouped)
 
unsigned char groupLastRowsThreshold [Mapper::NREGIONS] {3, 3, 3, 3, 2, 2, 2, 2, 2, 2}
 if the last group (region edges) consists in row direction less then mGroupLastRowsThreshold pads then it will be grouped into the previous group
 
unsigned char groupLastPadsThreshold [Mapper::NREGIONS] {3, 3, 3, 3, 2, 2, 2, 2, 1, 1}
 if the last group (sector edges) consists in pad direction less then mGroupLastPadsThreshold pads then it will be grouped into the previous group
 
unsigned int groupPadsSectorEdges {0}
 decoded number of pads at the sector edges which are grouped differently. First digit specifies the EdgePadGroupingMethod (example: 0: no pads are grouped, 110: first two pads are not grouped, 3210: first pad is not grouped, second + third pads are grouped, fourth + fifth + sixth pads are grouped)
 
AveragingMethod method = AveragingMethod::FAST
 method which is used for averaging
 
float sigma = 3.f
 sigma cut which can be used during the grouping for outlier filtering
 
float minIDC0Median = 8
 this value is used for identifying outliers (pads with low IDC0 values): "accepted IDC 0 values > median_IDC0 + stdDev * minIDC0Median"
 
float maxIDC0Median = 15
 this value is used for identifying outliers (pads with high IDC0 values): "accepted IDC 0 values < median_IDC0 + stdDev * maxIDC0Median"
 
float minmaxIDC0MedianCentreEdge = 20
 this value is used for identifying outliers at the centre of the cross and the edges of the sector i.e. where the gain is significantly lower (cross) and sometimes higher at the edges"
 

Additional Inherited Members

- Public Types inherited from o2::conf::ConfigurableParam
enum  EParamProvenance { kCODE , kCCDB , kRT }
 
enum class  EParamUpdateStatus { Changed , Unchanged , Failed }
 
- Public Member Functions inherited from o2::conf::ConfigurableParamHelper< ParameterIDCGroup >
std::string getName () const final
 
EParamProvenance getMemberProvenance (const std::string &key) const final
 
void printKeyValues (bool showProv=true, bool useLogger=false) const final
 
size_t getHash () const final
 
void output (std::ostream &out) const final
 
std::vector< ParamDataMember > * getDataMembers () const
 
void putKeyValues (boost::property_tree::ptree *tree) final
 
void initFrom (TFile *file) final
 
void syncCCDBandRegistry (void *externalobj) final
 
void serializeTo (TFile *file) const final
 
 ConfigurableParam ()
 
- Protected Member Functions inherited from o2::conf::ConfigurableParam
 ConfigurableParam ()
 
virtual ~ConfigurableParam ()=default
 
void setRegisterMode (bool b)
 
bool isInitialized () const
 
- Static Protected Member Functions inherited from o2::conf::ConfigurableParam
static void initPropertyTree ()
 
static EParamUpdateStatus updateThroughStorageMap (std::string, std::string, std::type_info const &, void *)
 
static EParamUpdateStatus updateThroughStorageMapWithConversion (std::string const &, std::string const &)
 
- Static Protected Attributes inherited from o2::conf::ConfigurableParam
static std::map< std::string, std::pair< std::type_info const &, void * > > * sKeyToStorageMap = nullptr
 
static std::map< std::string, ConfigurableParam::EParamProvenance > * sValueProvenanceMap = nullptr
 
static EnumRegistrysEnumRegistry = nullptr
 
static std::string sOutputDir = ""
 

Detailed Description

struct for setting the parameters for the grouping of IDCs

Definition at line 40 of file IDCGroupingParameter.h.

Member Function Documentation

◆ getEdgePadGroupingType()

EdgePadGroupingMethod o2::tpc::ParameterIDCGroup::getEdgePadGroupingType ( unsigned int  groupPadsSectorEdges)
static
Returns
returns how the edge pads are getting grouped
Parameters
groupPadsSectorEdgesdecoded number of pads at the sector edges which are grouped differently

Definition at line 78 of file IDCGroupingParameter.cxx.

◆ getGroupedPadsSectorEdges()

static unsigned int o2::tpc::ParameterIDCGroup::getGroupedPadsSectorEdges ( unsigned int  groupPadsSectorEdges)
inlinestatic
Returns
returns the number of differently grouped pads per row: returns sum of digits in integer whoch are not 0 (example: 0: returns 0, 11: returns 2, 321: returns 3)
Parameters
groupPadsSectorEdgesdecoded number of pads at the sector edges which are grouped differently

Definition at line 65 of file IDCGroupingParameter.h.

◆ getPadsInGroupSectorEdges()

static unsigned int o2::tpc::ParameterIDCGroup::getPadsInGroupSectorEdges ( unsigned int  groupPadsSectorEdges,
const unsigned int  group 
)
inlinestatic
Returns
returns number of ungrouped pads for grouped pad (example groupPadsSectorEdges=324530: group=0 -> 3, group=1 -> 5, group=2 -> 4...
Parameters
groupPadsSectorEdgesdecoded number of pads at the sector edges which are grouped differently
groupindex of the group

Definition at line 74 of file IDCGroupingParameter.h.

◆ getTotalGroupPadsSectorEdges()

static unsigned int o2::tpc::ParameterIDCGroup::getTotalGroupPadsSectorEdges ( unsigned int  groupPadsSectorEdges)
inlinestatic

returns total number of pads which are grouped separately: calculate sum of all digits in integer value (example: 0: returns 0, 11: returns 2, 321: returns 6)

Parameters
groupPadsSectorEdgesdecoded number of pads at the sector edges which are grouped differently

Definition at line 61 of file IDCGroupingParameter.h.

◆ setGroupingParameterFromString()

void o2::tpc::ParameterIDCGroup::setGroupingParameterFromString ( const std::string  sgroupPads,
const std::string  sgroupRows,
const std::string  sgroupLastRowsThreshold,
const std::string  sgroupLastPadsThreshold 
)
static

Helper function for setting the groupimg parameters from a string (can be "X": parameters in all regions are "X" or can be "1,2,3,4,5,6,7,8,9,10" for setting individual regions)

Parameters
sgroupPadsstring for grouping parameter in pad direction
sgroupRowsstring for grouping parameter in row direction
sgroupLastRowsThresholdstring for grouping parameter of last pads int row direction
sgroupLastPadsThresholdstring for grouping parameter of last pads int pad direction

Definition at line 23 of file IDCGroupingParameter.cxx.

Member Data Documentation

◆ groupLastPadsThreshold

unsigned char o2::tpc::ParameterIDCGroup::groupLastPadsThreshold[Mapper::NREGIONS] {3, 3, 3, 3, 2, 2, 2, 2, 1, 1}

if the last group (sector edges) consists in pad direction less then mGroupLastPadsThreshold pads then it will be grouped into the previous group

Definition at line 44 of file IDCGroupingParameter.h.

◆ groupLastRowsThreshold

unsigned char o2::tpc::ParameterIDCGroup::groupLastRowsThreshold[Mapper::NREGIONS] {3, 3, 3, 3, 2, 2, 2, 2, 2, 2}

if the last group (region edges) consists in row direction less then mGroupLastRowsThreshold pads then it will be grouped into the previous group

Definition at line 43 of file IDCGroupingParameter.h.

◆ groupPads

unsigned char o2::tpc::ParameterIDCGroup::groupPads[Mapper::NREGIONS] {7, 7, 7, 7, 6, 6, 6, 6, 5, 5}

grouping parameter in pad direction (how many pads are grouped)

Definition at line 41 of file IDCGroupingParameter.h.

◆ groupPadsSectorEdges

unsigned int o2::tpc::ParameterIDCGroup::groupPadsSectorEdges {0}

decoded number of pads at the sector edges which are grouped differently. First digit specifies the EdgePadGroupingMethod (example: 0: no pads are grouped, 110: first two pads are not grouped, 3210: first pad is not grouped, second + third pads are grouped, fourth + fifth + sixth pads are grouped)

Definition at line 45 of file IDCGroupingParameter.h.

◆ groupRows

unsigned char o2::tpc::ParameterIDCGroup::groupRows[Mapper::NREGIONS] {5, 5, 5, 5, 4, 4, 4, 4, 3, 3}

group parameter in row direction (how many rows are grouped)

Definition at line 42 of file IDCGroupingParameter.h.

◆ maxIDC0Median

float o2::tpc::ParameterIDCGroup::maxIDC0Median = 15

this value is used for identifying outliers (pads with high IDC0 values): "accepted IDC 0 values < median_IDC0 + stdDev * maxIDC0Median"

Definition at line 49 of file IDCGroupingParameter.h.

◆ method

AveragingMethod o2::tpc::ParameterIDCGroup::method = AveragingMethod::FAST

method which is used for averaging

Definition at line 46 of file IDCGroupingParameter.h.

◆ minIDC0Median

float o2::tpc::ParameterIDCGroup::minIDC0Median = 8

this value is used for identifying outliers (pads with low IDC0 values): "accepted IDC 0 values > median_IDC0 + stdDev * minIDC0Median"

Definition at line 48 of file IDCGroupingParameter.h.

◆ minmaxIDC0MedianCentreEdge

float o2::tpc::ParameterIDCGroup::minmaxIDC0MedianCentreEdge = 20

this value is used for identifying outliers at the centre of the cross and the edges of the sector i.e. where the gain is significantly lower (cross) and sometimes higher at the edges"

Definition at line 50 of file IDCGroupingParameter.h.

◆ sigma

float o2::tpc::ParameterIDCGroup::sigma = 3.f

sigma cut which can be used during the grouping for outlier filtering

Definition at line 47 of file IDCGroupingParameter.h.


The documentation for this struct was generated from the following files: