Project
Loading...
Searching...
No Matches
o2::tpc::IDCAverageGroupBase< IDCAverageGroupTPC > Class Reference

class for averaging and grouping the DeltaIDCs (grouping of A- or C-side) More...

#include <IDCAverageGroupBase.h>

Public Member Functions

 IDCAverageGroupBase (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, const int nThreads)
 
unsigned int getNIntegrationIntervals () const
 
const auto & getIDCGroupData () const &
 
auto getIDCGroupData () &&
 
const auto & getIDCUngroupData () const &
 
auto & getIDCGroupHelperSector () const
 
unsigned int getUngroupedIndexGlobal (const unsigned int sector, const unsigned int region, unsigned int urow, unsigned int upad, unsigned int integrationInterval) const
 
float getGroupedIDCDeltaVal (const unsigned int sector, const unsigned int region, unsigned int urow, unsigned int upad, unsigned int integrationInterval) const
 
float getUngroupedIDCDeltaVal (const unsigned int sector, const unsigned int region, unsigned int urow, unsigned int upad, unsigned int integrationInterval) const
 
void drawGroupedIDCsSector (const unsigned int sector, const unsigned int integrationInterval, const std::string filename="IDCDeltaGroupedSector.pdf") const
 
void drawUngroupedIDCsSector (const unsigned int sector, const unsigned int integrationInterval, const std::string filename="IDCDeltaUngroupedSector.pdf") const
 
void drawGroupedIDCsSide (const unsigned int integrationInterval, const std::string filename="IDCDeltaGroupedSide.pdf") const
 
void drawUngroupedIDCsSide (const unsigned int integrationInterval, const std::string filename="IDCDeltaUngroupedSide.pdf") const
 
void setIDCs (const IDCDelta< float > &idcs, const Side side)
 
void setIDCs (IDCDelta< float > &&idcs, const Side side)
 
Side getSide () const
 
void resetGroupedIDCs ()
 resetting the grouped IDCs
 

Protected Member Functions

void resizeGroupedIDCs ()
 set correct size for grouped IDCs
 
void drawIDCDeltaHelper (const bool type, const Sector sector, const unsigned int integrationInterval, const bool grouped, const std::string filename) const
 helper function for drawing IDCDelta
 

Protected Attributes

IDCDelta< float > mIDCsGrouped {}
 grouped and averaged IDC values
 
IDCGroupHelperSector mIDCGroupHelperSector
 helper object containing the grouping parameter and methods for accessing data indices
 
std::vector< RobustAveragemRobustAverage
 ! object for averaging (each thread will get his one object)
 
std::array< std::vector< float >, Mapper::NREGIONSmWeightsPad {}
 storage of the weights in pad direction used if mOverlapPads>0
 
std::array< std::vector< float >, Mapper::NREGIONSmWeightsRow {}
 storage of the weights in row direction used if mOverlapRows>0
 
IDCDelta< float > mIDCsUngrouped {}
 integrated ungrouped IDC values per pad
 
Side mSide {}
 side of the ungrouped Delta IDCs
 

Detailed Description

class for averaging and grouping the DeltaIDCs (grouping of A- or C-side)

Definition at line 128 of file IDCAverageGroupBase.h.

Constructor & Destructor Documentation

◆ IDCAverageGroupBase()

o2::tpc::IDCAverageGroupBase< IDCAverageGroupTPC >::IDCAverageGroupBase ( 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,
const int  nThreads 
)
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
nThreadsnumber of CPU threads used

Definition at line 137 of file IDCAverageGroupBase.h.

Member Function Documentation

◆ drawGroupedIDCsSector()

void o2::tpc::IDCAverageGroupBase< IDCAverageGroupTPC >::drawGroupedIDCsSector ( const unsigned int  sector,
const unsigned int  integrationInterval,
const std::string  filename = "IDCDeltaGroupedSector.pdf" 
) const
inline

draw IDCDelta for one sector for one integration interval

Parameters
sectorsector which will be drawn
integrationIntervalwhich will be drawn
filenamename of the output file. If empty the canvas is drawn.

Definition at line 183 of file IDCAverageGroupBase.h.

◆ drawGroupedIDCsSide()

void o2::tpc::IDCAverageGroupBase< IDCAverageGroupTPC >::drawGroupedIDCsSide ( const unsigned int  integrationInterval,
const std::string  filename = "IDCDeltaGroupedSide.pdf" 
) const
inline

draw IDCs for one side for one integration interval

Parameters
integrationIntervalwhich will be drawn
filenamename of the output file. If empty the canvas is drawn.

Definition at line 194 of file IDCAverageGroupBase.h.

◆ drawIDCDeltaHelper()

void o2::tpc::IDCAverageGroupBase< IDCAverageGroupTPC >::drawIDCDeltaHelper ( const bool  type,
const Sector  sector,
const unsigned int  integrationInterval,
const bool  grouped,
const std::string  filename 
) const
protected

helper function for drawing IDCDelta

◆ drawUngroupedIDCsSector()

void o2::tpc::IDCAverageGroupBase< IDCAverageGroupTPC >::drawUngroupedIDCsSector ( const unsigned int  sector,
const unsigned int  integrationInterval,
const std::string  filename = "IDCDeltaUngroupedSector.pdf" 
) const
inline

draw IDCDelta for one sector for one integration interval

Parameters
sectorsector which will be drawn
integrationIntervalwhich will be drawn
filenamename of the output file. If empty the canvas is drawn.

Definition at line 189 of file IDCAverageGroupBase.h.

◆ drawUngroupedIDCsSide()

void o2::tpc::IDCAverageGroupBase< IDCAverageGroupTPC >::drawUngroupedIDCsSide ( const unsigned int  integrationInterval,
const std::string  filename = "IDCDeltaUngroupedSide.pdf" 
) const
inline

draw IDCs for one side for one integration interval

Parameters
integrationIntervalwhich will be drawn
filenamename of the output file. If empty the canvas is drawn.

Definition at line 199 of file IDCAverageGroupBase.h.

◆ getGroupedIDCDeltaVal()

float o2::tpc::IDCAverageGroupBase< IDCAverageGroupTPC >::getGroupedIDCDeltaVal ( const unsigned int  sector,
const unsigned int  region,
unsigned int  urow,
unsigned int  upad,
unsigned int  integrationInterval 
) const
inline
Returns
returns the stored DeltaIDC value for local ungrouped pad row and ungrouped pad
Parameters
sectorsector
regionregion
urowrow of the ungrouped IDCs
upadpad number of the ungrouped IDCs
integrationIntervalintegration interval

Definition at line 169 of file IDCAverageGroupBase.h.

◆ getIDCGroupData() [1/2]

auto o2::tpc::IDCAverageGroupBase< IDCAverageGroupTPC >::getIDCGroupData ( ) &&
inline
Returns
returns grouped IDCDelta object

Definition at line 147 of file IDCAverageGroupBase.h.

◆ getIDCGroupData() [2/2]

const auto & o2::tpc::IDCAverageGroupBase< IDCAverageGroupTPC >::getIDCGroupData ( ) const &
inline
Returns
returns grouped IDCDelta object

Definition at line 144 of file IDCAverageGroupBase.h.

◆ getIDCGroupHelperSector()

auto & o2::tpc::IDCAverageGroupBase< IDCAverageGroupTPC >::getIDCGroupHelperSector ( ) const
inline
Returns
returns helper object containing the grouping parameters and accessing of data indices

Definition at line 153 of file IDCAverageGroupBase.h.

◆ getIDCUngroupData()

const auto & o2::tpc::IDCAverageGroupBase< IDCAverageGroupTPC >::getIDCUngroupData ( ) const &
inline
Returns
returns ungrouped IDCDelta object

Definition at line 150 of file IDCAverageGroupBase.h.

◆ getNIntegrationIntervals()

unsigned int o2::tpc::IDCAverageGroupBase< IDCAverageGroupTPC >::getNIntegrationIntervals ( ) const
inline
Returns
returns number of integration intervalls stored in this object

Definition at line 141 of file IDCAverageGroupBase.h.

◆ getSide()

Side o2::tpc::IDCAverageGroupBase< IDCAverageGroupTPC >::getSide ( ) const
inline
Returns
returns side of the stored delta IDCs

Definition at line 212 of file IDCAverageGroupBase.h.

◆ getUngroupedIDCDeltaVal()

float o2::tpc::IDCAverageGroupBase< IDCAverageGroupTPC >::getUngroupedIDCDeltaVal ( const unsigned int  sector,
const unsigned int  region,
unsigned int  urow,
unsigned int  upad,
unsigned int  integrationInterval 
) const
inline
Returns
returns the stored DeltaIDC value for local ungrouped pad row and ungrouped pad
Parameters
sectorsector
regionregion
urowrow of the ungrouped IDCs
upadpad number of the ungrouped IDCs
integrationIntervalintegration interval

Definition at line 177 of file IDCAverageGroupBase.h.

◆ getUngroupedIndexGlobal()

unsigned int o2::tpc::IDCAverageGroupBase< IDCAverageGroupTPC >::getUngroupedIndexGlobal ( const unsigned int  sector,
const unsigned int  region,
unsigned int  urow,
unsigned int  upad,
unsigned int  integrationInterval 
) const
inline
Returns
returns index to data from ungrouped pad and row
Parameters
sectorsector
regionregion
urowrow of the ungrouped IDCs
upadpad number of the ungrouped IDCs
integrationIntervalintegration interval

Definition at line 161 of file IDCAverageGroupBase.h.

◆ resetGroupedIDCs()

void o2::tpc::IDCAverageGroupBase< IDCAverageGroupTPC >::resetGroupedIDCs ( )

resetting the grouped IDCs

◆ resizeGroupedIDCs()

void o2::tpc::IDCAverageGroupBase< IDCAverageGroupTPC >::resizeGroupedIDCs ( )
protected

set correct size for grouped IDCs

◆ setIDCs() [1/2]

void o2::tpc::IDCAverageGroupBase< IDCAverageGroupTPC >::setIDCs ( const IDCDelta< float > &  idcs,
const Side  side 
)

setting the ungrouped IDCs using copy constructor

Parameters
idcsvector containing the ungrouped IDCs
sideTPC side of the IDCs

◆ setIDCs() [2/2]

void o2::tpc::IDCAverageGroupBase< IDCAverageGroupTPC >::setIDCs ( IDCDelta< float > &&  idcs,
const Side  side 
)

setting the ungrouped IDCs using move semantics

Parameters
idcsvector containing the ungrouped IDCs
sideTPC side of the IDCs

Member Data Documentation

◆ mIDCGroupHelperSector

IDCGroupHelperSector o2::tpc::IDCAverageGroupBase< IDCAverageGroupTPC >::mIDCGroupHelperSector
protected

helper object containing the grouping parameter and methods for accessing data indices

Definition at line 219 of file IDCAverageGroupBase.h.

◆ mIDCsGrouped

IDCDelta<float> o2::tpc::IDCAverageGroupBase< IDCAverageGroupTPC >::mIDCsGrouped {}
protected

grouped and averaged IDC values

Definition at line 218 of file IDCAverageGroupBase.h.

◆ mIDCsUngrouped

IDCDelta<float> o2::tpc::IDCAverageGroupBase< IDCAverageGroupTPC >::mIDCsUngrouped {}
protected

integrated ungrouped IDC values per pad

Definition at line 223 of file IDCAverageGroupBase.h.

◆ mRobustAverage

std::vector<RobustAverage> o2::tpc::IDCAverageGroupBase< IDCAverageGroupTPC >::mRobustAverage
protected

! object for averaging (each thread will get his one object)

Definition at line 220 of file IDCAverageGroupBase.h.

◆ mSide

Side o2::tpc::IDCAverageGroupBase< IDCAverageGroupTPC >::mSide {}
protected

side of the ungrouped Delta IDCs

Definition at line 224 of file IDCAverageGroupBase.h.

◆ mWeightsPad

std::array<std::vector<float>, Mapper::NREGIONS> o2::tpc::IDCAverageGroupBase< IDCAverageGroupTPC >::mWeightsPad {}
protected

storage of the weights in pad direction used if mOverlapPads>0

Definition at line 221 of file IDCAverageGroupBase.h.

◆ mWeightsRow

std::array<std::vector<float>, Mapper::NREGIONS> o2::tpc::IDCAverageGroupBase< IDCAverageGroupTPC >::mWeightsRow {}
protected

storage of the weights in row direction used if mOverlapRows>0

Definition at line 222 of file IDCAverageGroupBase.h.


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