Project
Loading...
Searching...
No Matches
o2::tpc::IDCAverageGroup< Type > Class Template Reference

#include <IDCAverageGroup.h>

Inherits o2::tpc::IDCAverageGroupBase< Type >.

Public Member Functions

template<bool IsEnabled = true, typename std::enable_if<(IsEnabled &&(std::is_same< Type, IDCAverageGroupCRU >::value)), int >::type = 0>
 IDCAverageGroup (const unsigned char groupPads=4, const unsigned char groupRows=4, const unsigned char groupLastRowsThreshold=2, const unsigned char groupLastPadsThreshold=2, const unsigned int groupPadsSectorEdges=0, const unsigned short cru=0, const unsigned char overlapRows=0, const unsigned char overlapPads=0)
 
template<bool IsEnabled = true, typename std::enable_if<(IsEnabled &&(std::is_same< Type, IDCAverageGroupTPC >::value)), int >::type = 0>
 IDCAverageGroup (const std::array< unsigned char, Mapper::NREGIONS > &groupPads={1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, const std::array< unsigned char, Mapper::NREGIONS > &groupRows={1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, const std::array< unsigned char, Mapper::NREGIONS > &groupLastRowsThreshold={}, const std::array< unsigned char, Mapper::NREGIONS > &groupLastPadsThreshold={}, const unsigned int groupPadsSectorEdges=0, const unsigned char overlapRows=0, const unsigned char overlapPads=0)
 
void processIDCs (const CalDet< PadFlags > *padStatusFlags=nullptr)
 
void drawGrouping (const std::string filename="")
 
void dumpToFile (const char *outFileName="IDCAverageGroup.root", const char *outName="IDCAverageGroup") const
 
const auto & getIDCGroup () const
 
const auto & getIDCsUngrouped () const
 
bool setFromFile (const char *fileName="IDCAverageGroup.root", const char *name="IDCAverageGroup")
 
void createDebugTree (const char *nameFile)
 
void processIDCs (const CalDet< PadFlags > *padStatusFlags)
 
void processIDCs (const CalDet< PadFlags > *padStatusFlags)
 
void createDebugTree (const char *nameFile)
 
void createDebugTree (const char *nameFile)
 
void createDebugTreeForAllCRUs (const char *nameFile, const char *filename)
 

Static Public Member Functions

static int getNThreads ()
 get the number of threads used for some of the calculations
 
static void setSigma (const float sigma)
 
static void setNThreads (const int nThreads)
 set the number of threads used for some of the calculations
 
static void createDebugTreeForAllCRUs (const char *nameFile, const char *filename)
 

Detailed Description

template<class Type>
class o2::tpc::IDCAverageGroup< Type >

class for averaging and grouping IDCs usage:

  1. Define grouping parameters const int region = 3; IDCAverageGroup<IDCAverageGroupCRU> idcaverage(6, 4, 3, 2, 111, region);
  2. set the ungrouped IDCs for one CRU const int nIntegrationIntervals = 3; std::vector<float> idcsungrouped(nIntegrationIntervals*Mapper::PADSPERREGION[region], 11.11); // vector containing IDCs for one region idcaverage.setIDCs(idcsungrouped)
  3. perform the averaging and grouping idcaverage.processIDCs();
  4. draw IDCs idcaverage.drawUngroupedIDCs(0) idcaverage.drawGroupedIDCs(0)
    Template Parameters
    IDCAverageGroupCRUor IDCAverageGroupTPC

Definition at line 55 of file IDCAverageGroup.h.

Constructor & Destructor Documentation

◆ IDCAverageGroup() [1/2]

template<class Type >
template<bool IsEnabled = true, typename std::enable_if<(IsEnabled &&(std::is_same< Type, IDCAverageGroupCRU >::value)), int >::type = 0>
o2::tpc::IDCAverageGroup< Type >::IDCAverageGroup ( const unsigned char  groupPads = 4,
const unsigned char  groupRows = 4,
const unsigned char  groupLastRowsThreshold = 2,
const unsigned char  groupLastPadsThreshold = 2,
const unsigned int  groupPadsSectorEdges = 0,
const unsigned short  cru = 0,
const unsigned char  overlapRows = 0,
const unsigned char  overlapPads = 0 
)
inline

constructor

Parameters
groupPadsnumber of pads in pad direction which will be grouped
groupRowsnumber of pads in row direction which will be grouped
groupLastRowsThresholdminimum number of pads in row direction for the last group in row direction
groupLastPadsThresholdminimum number of pads in pad direction for the last group in pad direction
groupPadsSectorEdgesdecoded 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)
crucru index
overlapRowsdefine parameter for additional overlapping pads in row direction
overlapPadsdefine parameter for additional overlapping pads in pad direction

Definition at line 68 of file IDCAverageGroup.h.

◆ IDCAverageGroup() [2/2]

template<class Type >
template<bool IsEnabled = true, typename std::enable_if<(IsEnabled &&(std::is_same< Type, IDCAverageGroupTPC >::value)), int >::type = 0>
o2::tpc::IDCAverageGroup< Type >::IDCAverageGroup ( const std::array< unsigned char, Mapper::NREGIONS > &  groupPads = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
const std::array< unsigned char, Mapper::NREGIONS > &  groupRows = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
const std::array< unsigned char, Mapper::NREGIONS > &  groupLastRowsThreshold = {},
const std::array< unsigned char, Mapper::NREGIONS > &  groupLastPadsThreshold = {},
const unsigned int  groupPadsSectorEdges = 0,
const unsigned char  overlapRows = 0,
const unsigned char  overlapPads = 0 
)
inline
Parameters
groupPadsnumber of pads in pad direction which will be grouped
groupRowsnumber of pads in row direction which will be grouped
groupLastRowsThresholdminimum number of pads in row direction for the last group in row direction
groupLastPadsThresholdminimum number of pads in pad direction for the last group in pad direction
groupPadsSectorEdgesdecoded 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)
overlapRowsdefine parameter for additional overlapping pads in row direction
overlapPadsdefine parameter for additional overlapping pads in pad direction

Definition at line 82 of file IDCAverageGroup.h.

Member Function Documentation

◆ createDebugTree() [1/3]

template<class Type >
void o2::tpc::IDCAverageGroup< Type >::createDebugTree ( const char nameFile)

for debugging: creating debug tree

Parameters
nameFilename of the output file

◆ createDebugTree() [2/3]

void o2::tpc::IDCAverageGroup< o2::tpc::IDCAverageGroupCRU >::createDebugTree ( const char nameFile)

Definition at line 457 of file IDCAverageGroup.cxx.

◆ createDebugTree() [3/3]

void o2::tpc::IDCAverageGroup< o2::tpc::IDCAverageGroupTPC >::createDebugTree ( const char nameFile)

Definition at line 470 of file IDCAverageGroup.cxx.

◆ createDebugTreeForAllCRUs() [1/2]

template<class Type >
static void o2::tpc::IDCAverageGroup< Type >::createDebugTreeForAllCRUs ( const char nameFile,
const char filename 
)
static

for debugging: creating debug tree for integrated IDCs for all objects which are in the same file

Parameters
nameFilename of the output file
filenamename of the input file containing all objects

◆ createDebugTreeForAllCRUs() [2/2]

void o2::tpc::IDCAverageGroup< o2::tpc::IDCAverageGroupCRU >::createDebugTreeForAllCRUs ( const char nameFile,
const char filename 
)

Definition at line 487 of file IDCAverageGroup.cxx.

◆ drawGrouping()

template<class Type >
void o2::tpc::IDCAverageGroup< Type >::drawGrouping ( const std::string  filename = "")

draw plot with information about the performed grouping

Parameters
filenamename of the output file. If empty the name is chosen automatically

Definition at line 145 of file IDCAverageGroup.cxx.

◆ dumpToFile()

template<class Type >
void o2::tpc::IDCAverageGroup< Type >::dumpToFile ( const char outFileName = "IDCAverageGroup< Type >.root",
const char outName = "IDCAverageGroup< Type >" 
) const

dump object to disc

Parameters
outFileNamename of the output file
outNamename of the object in the output file

Definition at line 427 of file IDCAverageGroup.cxx.

◆ getIDCGroup()

template<class Type >
const auto & o2::tpc::IDCAverageGroup< Type >::getIDCGroup ( ) const
inline
Returns
returns grouped IDC object

Definition at line 105 of file IDCAverageGroup.h.

◆ getIDCsUngrouped()

template<class Type >
const auto & o2::tpc::IDCAverageGroup< Type >::getIDCsUngrouped ( ) const
inline
Returns
returns ungrouped IDCs

Definition at line 108 of file IDCAverageGroup.h.

◆ getNThreads()

template<class Type >
static int o2::tpc::IDCAverageGroup< Type >::getNThreads ( )
inlinestatic

get the number of threads used for some of the calculations

Definition at line 102 of file IDCAverageGroup.h.

◆ processIDCs() [1/3]

void o2::tpc::IDCAverageGroup< o2::tpc::IDCAverageGroupCRU >::processIDCs ( const CalDet< PadFlags > *  padStatusFlags)

Definition at line 110 of file IDCAverageGroup.cxx.

◆ processIDCs() [2/3]

void o2::tpc::IDCAverageGroup< o2::tpc::IDCAverageGroupTPC >::processIDCs ( const CalDet< PadFlags > *  padStatusFlags)

Definition at line 122 of file IDCAverageGroup.cxx.

◆ processIDCs() [3/3]

template<class Type >
void o2::tpc::IDCAverageGroup< Type >::processIDCs ( const CalDet< PadFlags > *  padStatusFlags = nullptr)

grouping and averaging of IDCs

Parameters
padStatusFlagspointer to map containing status flags for each pad to skip dead pads etc.

◆ setFromFile()

template<class Type >
bool o2::tpc::IDCAverageGroup< Type >::setFromFile ( const char fileName = "IDCAverageGroup< Type >.root",
const char name = "IDCAverageGroup< Type >" 
)

load ungrouped and grouped IDCs from File

Parameters
fileNamename of the input file
namename of the object in the output file

Definition at line 435 of file IDCAverageGroup.cxx.

◆ setNThreads()

template<class Type >
static void o2::tpc::IDCAverageGroup< Type >::setNThreads ( const int  nThreads)
inlinestatic

set the number of threads used for some of the calculations

Definition at line 114 of file IDCAverageGroup.h.

◆ setSigma()

template<class Type >
static void o2::tpc::IDCAverageGroup< Type >::setSigma ( const float  sigma)
inlinestatic
Parameters
sigmasigma which is used during outlier filtering

Definition at line 111 of file IDCAverageGroup.h.


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