Project
Loading...
Searching...
No Matches
o2::tpc::IDCFactorization Class Reference

#include <IDCFactorization.h>

Inherits o2::tpc::IDCGroupHelperSector.

Public Member Functions

 IDCFactorization (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 unsigned int timeFrames, const unsigned int timeframesDeltaIDC, const std::vector< uint32_t > &crus)
 
 IDCFactorization (const unsigned int timeFrames, const unsigned int timeframesDeltaIDC, const std::vector< uint32_t > &crus)
 
 IDCFactorization ()=default
 default constructor for ROOT I/O
 
 ~IDCFactorization ()
 destructor
 
 IDCFactorization (IDCFactorization &&)=default
 default move constructor
 
void factorizeIDCs (const bool norm, const bool calcDeltas)
 
void calcIDCZero (const bool norm)
 
void fillIDCZeroDeadPads ()
 fill I_0 values in case of dead pads,FECs etc.
 
void createStatusMapOutlier (const bool debug=false)
 
void createStatusMap ()
 
void checkFECs (const float maxOutliersPerFEC=0.7)
 
void checkNeighbourOutliers (const int maxIter=10, const int nOutliersNeighbours=8)
 
void calcIDCOne ()
 calculate I_1(t) = <I(r,\phi,t) / I_0(r,\phi)>_{r,\phi}
 
void calcIDCDelta ()
 calculate \Delta I(r,\phi,t) = I(r,\phi,t) / ( I_0(r,\phi) * I_1(t) )
 
float getIDCValGrouped (const unsigned int sector, const unsigned int region, const unsigned int grow, unsigned int gpad, unsigned int integrationInterval) const
 
float getIDCValUngrouped (const unsigned int sector, const unsigned int region, unsigned int urow, unsigned int upad, unsigned int integrationInterval) const
 
float getIDCZeroVal (const unsigned int sector, const unsigned int region, unsigned int urow, unsigned int upad) const
 
float getIDCDeltaVal (const unsigned int sector, const unsigned int region, unsigned int urow, unsigned int upad, unsigned int chunk, unsigned int localintegrationInterval) const
 
void getLocalIntegrationInterval (const unsigned int integrationInterval, unsigned int &chunk, unsigned int &localintegrationInterval) const
 
unsigned int getNTimeframes () const
 
unsigned long getNIntegrationIntervalsInChunk (const unsigned int chunk) const
 
unsigned long getNIntegrationIntervalsToChunk (const unsigned int chunk) const
 
unsigned long getNIntegrationIntervals (const int cru) const
 
unsigned long getNIntegrationIntervals () const
 
const std::vector< float > & getIDCZeroVec (const o2::tpc::Side side) const
 
const IDCZerogetIDCZero (const o2::tpc::Side side) const &
 
auto getIDCZero (const o2::tpc::Side side) &&
 
const std::vector< float > & getIDCOneVec (const o2::tpc::Side side) const
 
const IDCOnegetIDCOne (const o2::tpc::Side side) const
 
const std::vector< float > & getIDCDeltaValuesUncompressed (const unsigned int chunk, const o2::tpc::Side side) const
 
const auto & getIDCDeltaUncompressed (const unsigned int chunk, const Side side) const &
 
auto getIDCDeltaUncompressed (const unsigned int chunk, const Side side) &&
 
auto getIDCDeltaMediumCompressed (const unsigned int chunk, const Side side) const
 
auto getIDCDeltaHighCompressed (const unsigned int chunk, const Side side) const
 
unsigned int getNChunks (const Side side) const
 
const auto & getIDCZero () const
 
const auto & getIDCOne () const &
 
auto getIDCOne () &&
 
const auto & getIDCs () const
 
auto getCRUs () const
 
void setTimeStamp (const long timeStamp)
 
long getTimeStamp () const
 
void setRun (const int run)
 
int getRun () const
 
unsigned int getTimeFramesDeltaIDC () const
 
void setIDCs (std::vector< float > &&idcs, const unsigned int cru, const unsigned int timeframe)
 
void drawIDCsSector (const unsigned int sector, const unsigned int integrationInterval, const float minZ=0, const float maxZ=-1, const std::string filename="IDCsSector.pdf") const
 
void drawIDCZeroSector (const unsigned int sector, const float minZ=0, const float maxZ=-1, const std::string filename="IDCZeroSector.pdf") const
 
void drawIDCDeltaSector (const unsigned int sector, const unsigned int integrationInterval, const float minZ=0, const float maxZ=-1, const IDCDeltaCompression compression=IDCDeltaCompression::NO, const std::string filename="IDCDeltaSector.pdf") const
 
void drawIDCsSide (const o2::tpc::Side side, const unsigned int integrationInterval, const float minZ=0, const float maxZ=-1, const std::string filename="IDCsSide.pdf") const
 
void drawIDCsSideGIF (const unsigned int integrationIntervals=0, const float minZ=0, const float maxZ=-1, const int run=-1, const std::string filename="IDCsSideGIF") const
 
void drawIDCZeroSide (const o2::tpc::Side side, const float minZ=0, const float maxZ=-1, const std::string filename="IDCZeroSide.pdf") const
 
void drawIDCDeltaSide (const o2::tpc::Side side, const unsigned int integrationInterval, const float minZ=0, const float maxZ=-1, const IDCDeltaCompression compression=IDCDeltaCompression::NO, const std::string filename="IDCDeltaSide.pdf") const
 
void drawPadStatusFlagsMapSector (const unsigned int sector, const PadFlags flag=PadFlags::flagSkip, const std::string filename="PadStatusFlags_Sector.pdf") const
 
void drawPadStatusFlagsMapSide (const o2::tpc::Side side, const PadFlags flag=PadFlags::flagSkip, const std::string filename="PadStatusFlags_Side.pdf") const
 
void dumpToFile (const char *outFileName="IDCFactorized.root", const char *outName="IDCFactorized") const
 
void dumpLargeObjectToFile (const char *outFileName="IDCFactorized.root", const char *outName="IDCFactorized") const
 
void dumpIDCZeroToFile (const Side side, const char *outFileName="IDCZero.root", const char *outName="IDC0") const
 dump the IDC0 to file
 
void dumpIDCOneToFile (const Side side, const char *outFileName="IDCOne.root", const char *outName="IDC1") const
 dump the IDC1 to file
 
void dumpToTree (const Side side, const char *outFileName="IDCTree.root")
 
void dumpToTreeIDC1 (const float integrationTimeOrbits=12, const char *outFileName="IDC1Tree.root") const
 
void dumpIDCDeltaToTree (const Side side, const int chunk=0, const char *outFileName="IDCDeltaTree.root")
 dump IDCDelta to a TTree
 
std::vector< unsigned intgetIntegrationIntervalsPerTF (const int cru=-1) const
 
std::vector< unsigned intgetAllIntegrationIntervalsPerTF () const
 
void reset ()
 resetting aggregated IDCs
 
void setGainMap (const char *inpFile, const char *mapName)
 
void setGainMap (const CalDet< float > &gainmap)
 setting a gain map from a file
 
void setPadFlagMap (const char *inpFile, const char *mapName)
 
void setPadFlagMap (const CalDet< PadFlags > &flagmap)
 setting a map containing status flags for each pad
 
void setUsePadStatusMap (const bool usePadStatusMap)
 setting the usage of the pad-by-pad status map during the factorization of the IDCs
 
bool getUsePadStatusMap () const
 
void dumpPadFlagMap (const char *outFile, const char *mapName)
 
CalDet< PadFlags > * getPadStatusMapPtr () const
 
std::unique_ptr< CalDet< PadFlags > > getPadStatusMap ()
 
const std::vector< Side > & getSides () const
 
void setIDCZero (const Side side, const IDCZero &idcZero)
 set the IDCZero object
 
void setIDCOne (const Side side, const IDCOne &idcOne)
 set the IDCOne
 
void setIDCDelta (const Side side, const IDCDelta< float > &idcDelta, const int index=0)
 set the IDCDelta
 
float getMeanZ (const Side side) const
 
void normIDCZeroGain ()
 normalize IDC0 with the set gain map
 
void normIDCZeroStackMedian ()
 normalize IDC0 with the median per stack
 
std::array< float, o2::tpc::GEMSTACKSgetStackMedian () const
 
- Public Member Functions inherited from o2::tpc::IDCGroupHelperSector
 IDCGroupHelperSector (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)
 
 IDCGroupHelperSector (const ParameterIDCGroupCCDB &groupingParameter)
 
 IDCGroupHelperSector ()=default
 default constructor for ROOT I/O
 
unsigned int getIndexGrouped (const unsigned int sector, const unsigned int region, const unsigned int glrow, const unsigned int pad, unsigned int integrationInterval) const
 
unsigned int getIndexUngrouped (const unsigned int sector, const unsigned int region, unsigned int ulrow, unsigned int upad, unsigned int integrationInterval) const
 
int getOffsetForEdgePad (const unsigned int upad, const unsigned int ulrow, const unsigned int region) const
 
unsigned int getIndexUngroupedGlobal (const unsigned int sector, const unsigned int region, unsigned int ugrow, unsigned int upad, unsigned int integrationInterval) const
 
unsigned int getGroupedPad (const unsigned int region, unsigned int ulrow, unsigned int upad) const
 
unsigned int getGroupedRow (const unsigned int region, unsigned int ulrow) const
 
const auto & getGroupingParameter () const
 
unsigned int getNIDCs (const unsigned int region) const
 
unsigned int getNRows (const unsigned int region) const
 
unsigned int getRegionOffset (const unsigned int region) const
 
unsigned int getNIDCsPerSector () const
 
unsigned int getLastRow (const unsigned int region) const
 
unsigned int getLastPad (const unsigned int region, const unsigned int ulrow) const
 
unsigned int getOffsRow (const unsigned int region, const unsigned int glrow) const
 
unsigned getPadsPerRow (const unsigned int region, const unsigned int glrow) const
 

Static Public Member Functions

static std::vector< o2::tpc::SidegetSides (const std::vector< uint32_t > &crus)
 
template<typename DataVec >
static void calcIDCOne (const DataVec &idcsData, const int idcsPerCRU, const int integrationIntervalOffset, const unsigned int indexOffset, const CRU cru, std::vector< std::vector< float > > &idcOneTmp, const IDCZero *idcZero, const CalDet< PadFlags > *flagMap=nullptr, const bool usePadStatusMap=false)
 calculate I_1(t) = <I(r,\phi,t) / I_0(r,\phi)>_{r,\phi}
 
static int getNThreads ()
 
static void setNThreads (const int nThreads)
 
static void setMinCompressedIDCDelta (const float minIDCDeltaValue)
 
static void setMaxCompressedIDCDelta (const float maxIDCDeltaValue)
 
static std::unique_ptr< IDCFactorizationgetLargeObjectFromFile (const char *inpFileName="IDCFactorized.root", const char *inName="IDCFactorized")
 
- Static Public Member Functions inherited from o2::tpc::IDCGroupHelperSector
static unsigned int getUngroupedIndexGlobal (const unsigned int sector, const unsigned int region, unsigned int urow, unsigned int upad, unsigned int integrationInterval)
 

Additional Inherited Members

- Protected Member Functions inherited from o2::tpc::IDCGroupHelperSector
void initIDCGroupHelperSector ()
 init function for setting the members
 
- Protected Attributes inherited from o2::tpc::IDCGroupHelperSector
ParameterIDCGroupCCDB mGroupingPar {}
 struct containg the grouping parameter
 
std::array< unsigned int, Mapper::NREGIONSmNIDCsPerCRU {}
 total number of IDCs per region per integration interval
 
unsigned int mNIDCsPerSector {}
 number of grouped IDCs per sector
 
std::array< unsigned int, Mapper::NREGIONSmRows {}
 number of grouped rows per region
 
std::array< unsigned int, Mapper::NREGIONSmRegionOffs {}
 offset for the region per region
 
std::array< std::vector< unsigned int >, Mapper::NREGIONSmPadsPerRow {}
 number of pads per row per region
 
std::array< std::vector< unsigned int >, Mapper::NREGIONSmOffsRow {}
 offset to calculate the index in the data from row and pad per region
 

Detailed Description

Definition at line 41 of file IDCFactorization.h.

Constructor & Destructor Documentation

◆ IDCFactorization() [1/4]

o2::tpc::IDCFactorization::IDCFactorization ( 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 unsigned int  timeFrames,
const unsigned int  timeframesDeltaIDC,
const std::vector< uint32_t > &  crus 
)

constructor

Parameters
groupPadsnumber of pads in pad direction which will be grouped for all regions
groupRowsnumber of pads in row direction which will be grouped for all regions
groupLastRowsThresholdminimum number of pads in row direction for the last group in row direction for all regions
groupLastPadsThresholdminimum number of pads in pad direction for the last group in pad direction for all regions
timeFramesnumber of time frames which will be stored
timeframesDeltaIDCnumber of time frames stored for each DeltaIDC object

Definition at line 30 of file IDCFactorization.cxx.

◆ IDCFactorization() [2/4]

o2::tpc::IDCFactorization::IDCFactorization ( const unsigned int  timeFrames,
const unsigned int  timeframesDeltaIDC,
const std::vector< uint32_t > &  crus 
)
inline

constructor for creating and object without grouped input IDCs

Parameters
timeFramesnumber of time frames which will be stored
timeframesDeltaIDCnumber of time frames stored for each DeltaIDC object

Definition at line 56 of file IDCFactorization.h.

◆ IDCFactorization() [3/4]

o2::tpc::IDCFactorization::IDCFactorization ( )
default

default constructor for ROOT I/O

◆ ~IDCFactorization()

o2::tpc::IDCFactorization::~IDCFactorization ( )
default

destructor

◆ IDCFactorization() [4/4]

o2::tpc::IDCFactorization::IDCFactorization ( IDCFactorization &&  )
default

default move constructor

Member Function Documentation

◆ calcIDCDelta()

void o2::tpc::IDCFactorization::calcIDCDelta ( )

calculate \Delta I(r,\phi,t) = I(r,\phi,t) / ( I_0(r,\phi) * I_1(t) )

Definition at line 429 of file IDCFactorization.cxx.

◆ calcIDCOne() [1/2]

void o2::tpc::IDCFactorization::calcIDCOne ( )

calculate I_1(t) = <I(r,\phi,t) / I_0(r,\phi)>_{r,\phi}

Definition at line 331 of file IDCFactorization.cxx.

◆ calcIDCOne() [2/2]

template<typename DataVec >
void o2::tpc::IDCFactorization::calcIDCOne ( const DataVec &  idcsData,
const int  idcsPerCRU,
const int  integrationIntervalOffset,
const unsigned int  indexOffset,
const CRU  cru,
std::vector< std::vector< float > > &  idcOneTmp,
const IDCZero idcZero,
const CalDet< PadFlags > *  flagMap = nullptr,
const bool  usePadStatusMap = false 
)
static

calculate I_1(t) = <I(r,\phi,t) / I_0(r,\phi)>_{r,\phi}

Definition at line 398 of file IDCFactorization.cxx.

◆ calcIDCZero()

void o2::tpc::IDCFactorization::calcIDCZero ( const bool  norm)

calculate I_0(r,\phi) = <I(r,\phi,t)>_t

Parameters
normnormalize IDCs to pad area

Definition at line 240 of file IDCFactorization.cxx.

◆ checkFECs()

void o2::tpc::IDCFactorization::checkFECs ( const float  maxOutliersPerFEC = 0.7)

after the pad-by-pad status map has been created it can be used to mark FECs which deliver wrong values

Parameters
maxOutliersPerFECif the ratio n_outliers_per_FEC / n_pads_per_FEC is larger than this value, the whole FEC is masked

Definition at line 602 of file IDCFactorization.cxx.

◆ checkNeighbourOutliers()

void o2::tpc::IDCFactorization::checkNeighbourOutliers ( const int  maxIter = 10,
const int  nOutliersNeighbours = 8 
)

check for each pad where there is no outlier found the neighbouring pads for outliers. If more than n neighbours contains outliers this pad is also marked as an outlier pad +- one pad in row direction and +- two pads in pad direction are considered

Parameters
maxItermaximum number of iterations of the procedure
nOutliersNeighboursminimum number of outliers of the neighbouring pads which are required to mask a pad as outlier

Definition at line 652 of file IDCFactorization.cxx.

◆ createStatusMap()

void o2::tpc::IDCFactorization::createStatusMap ( )
  1. createStatusMap, 2. checkFECs, 3. checkNeighbourOutliers

Definition at line 487 of file IDCFactorization.cxx.

◆ createStatusMapOutlier()

void o2::tpc::IDCFactorization::createStatusMapOutlier ( const bool  debug = false)

create status map for pads which are dead or delivering extremly high values (static outliers will be mapped)

Parameters
debugcreate debug output

Definition at line 494 of file IDCFactorization.cxx.

◆ drawIDCDeltaSector()

void o2::tpc::IDCFactorization::drawIDCDeltaSector ( const unsigned int  sector,
const unsigned int  integrationInterval,
const float  minZ = 0,
const float  maxZ = -1,
const IDCDeltaCompression  compression = IDCDeltaCompression::NO,
const std::string  filename = "IDCDeltaSector.pdf" 
) const
inline

draw IDCDelta for one sector for one integration interval

Parameters
sectorsector which will be drawn
integrationIntervalwhich will be drawn
compressioncompression of Delta IDCs. (setMaxCompressedIDCDelta() should be called first in case of non standard compression parameter)
filenamename of the output file. If empty the canvas is drawn.

Definition at line 275 of file IDCFactorization.h.

◆ drawIDCDeltaSide()

void o2::tpc::IDCFactorization::drawIDCDeltaSide ( const o2::tpc::Side  side,
const unsigned int  integrationInterval,
const float  minZ = 0,
const float  maxZ = -1,
const IDCDeltaCompression  compression = IDCDeltaCompression::NO,
const std::string  filename = "IDCDeltaSide.pdf" 
) const
inline

draw IDCDelta for one side for one integration interval

Parameters
sideside which will be drawn
integrationIntervalwhich will be drawn
compressioncompression of Delta IDCs. (setMaxCompressedIDCDelta() should be called first in case of non standard compression parameter)
filenamename of the output file. If empty the canvas is drawn.

Definition at line 297 of file IDCFactorization.h.

◆ drawIDCsSector()

void o2::tpc::IDCFactorization::drawIDCsSector ( const unsigned int  sector,
const unsigned int  integrationInterval,
const float  minZ = 0,
const float  maxZ = -1,
const std::string  filename = "IDCsSector.pdf" 
) const
inline

draw IDCs 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 263 of file IDCFactorization.h.

◆ drawIDCsSide()

void o2::tpc::IDCFactorization::drawIDCsSide ( const o2::tpc::Side  side,
const unsigned int  integrationInterval,
const float  minZ = 0,
const float  maxZ = -1,
const std::string  filename = "IDCsSide.pdf" 
) const
inline

draw IDCs for one side for one integration interval

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

Definition at line 281 of file IDCFactorization.h.

◆ drawIDCsSideGIF()

void o2::tpc::IDCFactorization::drawIDCsSideGIF ( const unsigned int  integrationIntervals = 0,
const float  minZ = 0,
const float  maxZ = -1,
const int  run = -1,
const std::string  filename = "IDCsSideGIF" 
) const
inline

draw GIF for IDCs

Parameters
integrationIntervalsnumber of ms to draw

Definition at line 285 of file IDCFactorization.h.

◆ drawIDCZeroSector()

void o2::tpc::IDCFactorization::drawIDCZeroSector ( const unsigned int  sector,
const float  minZ = 0,
const float  maxZ = -1,
const std::string  filename = "IDCZeroSector.pdf" 
) const
inline

draw IDC zero I_0(r,\phi) = <I(r,\phi,t)>_t

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

Definition at line 268 of file IDCFactorization.h.

◆ drawIDCZeroSide()

void o2::tpc::IDCFactorization::drawIDCZeroSide ( const o2::tpc::Side  side,
const float  minZ = 0,
const float  maxZ = -1,
const std::string  filename = "IDCZeroSide.pdf" 
) const
inline

draw IDC zero I_0(r,\phi) = <I(r,\phi,t)>_t

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

Definition at line 290 of file IDCFactorization.h.

◆ drawPadStatusFlagsMapSector()

void o2::tpc::IDCFactorization::drawPadStatusFlagsMapSector ( const unsigned int  sector,
const PadFlags  flag = PadFlags::flagSkip,
const std::string  filename = "PadStatusFlags_Sector.pdf" 
) const
inline

draw the status map for the flags (for debugging) for a sector

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

Definition at line 303 of file IDCFactorization.h.

◆ drawPadStatusFlagsMapSide()

void o2::tpc::IDCFactorization::drawPadStatusFlagsMapSide ( const o2::tpc::Side  side,
const PadFlags  flag = PadFlags::flagSkip,
const std::string  filename = "PadStatusFlags_Side.pdf" 
) const
inline

draw the status map for the flags (for debugging) for a full side

Parameters
sideside which will be drawn \flag flag which will be drawn
filenamename of the output file. If empty the canvas is drawn.

Definition at line 309 of file IDCFactorization.h.

◆ dumpIDCDeltaToTree()

void o2::tpc::IDCFactorization::dumpIDCDeltaToTree ( const Side  side,
const int  chunk = 0,
const char outFileName = "IDCDeltaTree.root" 
)

dump IDCDelta to a TTree

Definition at line 227 of file IDCFactorization.cxx.

◆ dumpIDCOneToFile()

void o2::tpc::IDCFactorization::dumpIDCOneToFile ( const Side  side,
const char outFileName = "IDCOne.root",
const char outName = "IDC1" 
) const

dump the IDC1 to file

Definition at line 185 of file IDCFactorization.cxx.

◆ dumpIDCZeroToFile()

void o2::tpc::IDCFactorization::dumpIDCZeroToFile ( const Side  side,
const char outFileName = "IDCZero.root",
const char outName = "IDC0" 
) const

dump the IDC0 to file

Definition at line 178 of file IDCFactorization.cxx.

◆ dumpLargeObjectToFile()

void o2::tpc::IDCFactorization::dumpLargeObjectToFile ( const char outFileName = "IDCFactorized.root",
const char outName = "IDCFactorized" 
) const

dump large object to disc which exceeds the maximum size of 1GB for an object in a ROOT file

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

Definition at line 83 of file IDCFactorization.cxx.

◆ dumpPadFlagMap()

void o2::tpc::IDCFactorization::dumpPadFlagMap ( const char outFile,
const char mapName 
)

writing the pad status map to file

Parameters
outFileoutput file name
mapNameoutput name of the object

Definition at line 1138 of file IDCFactorization.cxx.

◆ dumpToFile()

void o2::tpc::IDCFactorization::dumpToFile ( const char outFileName = "IDCFactorized.root",
const char outName = "IDCFactorized" 
) const

dump object to disc

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

Definition at line 76 of file IDCFactorization.cxx.

◆ dumpToTree()

void o2::tpc::IDCFactorization::dumpToTree ( const Side  side,
const char outFileName = "IDCTree.root" 
)
Parameters
integrationIntervalsnumber of integration intervals which will be dumped to the tree (-1: all integration intervalls)
outFileNamename of the output file

Definition at line 192 of file IDCFactorization.cxx.

◆ dumpToTreeIDC1()

void o2::tpc::IDCFactorization::dumpToTreeIDC1 ( const float  integrationTimeOrbits = 12,
const char outFileName = "IDC1Tree.root" 
) const

dumping the IDC1 to a TTree including the timestamps (the start time stamp in ms should be set with setTimeStamp())

Parameters
integrationTimeOrbitsintegration time in orbits
outFileNamename of the output file

Definition at line 208 of file IDCFactorization.cxx.

◆ factorizeIDCs()

void o2::tpc::IDCFactorization::factorizeIDCs ( const bool  norm,
const bool  calcDeltas 
)

calculate I_0(r,\phi) = <I(r,\phi,t)>_t calculate I_1(t) = <I(r,\phi,t) / I_0(r,\phi)>_{r,\phi} calculate \Delta I(r,\phi,t) = I(r,\phi,t) / ( I_0(r,\phi) * I_1(t) )

Parameters
normnormalize IDCs to pad size
calcDeltascalculate the \Delta I(r,\phi,t) currents

Definition at line 847 of file IDCFactorization.cxx.

◆ fillIDCZeroDeadPads()

void o2::tpc::IDCFactorization::fillIDCZeroDeadPads ( )

fill I_0 values in case of dead pads,FECs etc.

Definition at line 289 of file IDCFactorization.cxx.

◆ getAllIntegrationIntervalsPerTF()

std::vector< unsigned int > o2::tpc::IDCFactorization::getAllIntegrationIntervalsPerTF ( ) const
Returns
vector containing the number of integration intervals for each stored TF (dropped TFs taken into account)

Definition at line 757 of file IDCFactorization.cxx.

◆ getCRUs()

auto o2::tpc::IDCFactorization::getCRUs ( ) const
inline
Returns
returns vector of processed CRUs

Definition at line 223 of file IDCFactorization.h.

◆ getIDCDeltaHighCompressed()

auto o2::tpc::IDCFactorization::getIDCDeltaHighCompressed ( const unsigned int  chunk,
const Side  side 
) const
inline
Returns
creates and returns high compressed IDCDelta \Delta I(r,\phi,t) = I(r,\phi,t) / ( I_0(r,\phi) * I_1(t) )
Parameters
chunkchunk of Delta IDC

Definition at line 205 of file IDCFactorization.h.

◆ getIDCDeltaMediumCompressed()

auto o2::tpc::IDCFactorization::getIDCDeltaMediumCompressed ( const unsigned int  chunk,
const Side  side 
) const
inline
Returns
creates and returns medium compressed IDCDelta \Delta I(r,\phi,t) = I(r,\phi,t) / ( I_0(r,\phi) * I_1(t) )
Parameters
chunkchunk of Delta IDC

Definition at line 201 of file IDCFactorization.h.

◆ getIDCDeltaUncompressed() [1/2]

auto o2::tpc::IDCFactorization::getIDCDeltaUncompressed ( const unsigned int  chunk,
const Side  side 
) &&
inline
Returns
returns returns stored IDCDelta \Delta I(r,\phi,t) = I(r,\phi,t) / ( I_0(r,\phi) * I_1(t) ) using move semantics

Definition at line 197 of file IDCFactorization.h.

◆ getIDCDeltaUncompressed() [2/2]

const auto & o2::tpc::IDCFactorization::getIDCDeltaUncompressed ( const unsigned int  chunk,
const Side  side 
) const &
inline
Returns
returns stored IDCDelta \Delta I(r,\phi,t) = I(r,\phi,t) / ( I_0(r,\phi) * I_1(t) )
Parameters
chunkchunk of Delta IDC

Definition at line 194 of file IDCFactorization.h.

◆ getIDCDeltaVal()

float o2::tpc::IDCFactorization::getIDCDeltaVal ( const unsigned int  sector,
const unsigned int  region,
unsigned int  urow,
unsigned int  upad,
unsigned int  chunk,
unsigned int  localintegrationInterval 
) 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
chunkchunk of the Delta IDC (can be obtained with getLocalIntegrationInterval())
localintegrationIntervallocal integration interval for chunk (can be obtained with getLocalIntegrationInterval())

Definition at line 142 of file IDCFactorization.h.

◆ getIDCDeltaValuesUncompressed()

const std::vector< float > & o2::tpc::IDCFactorization::getIDCDeltaValuesUncompressed ( const unsigned int  chunk,
const o2::tpc::Side  side 
) const
inline
Returns
returns stored IDCDelta \Delta I(r,\phi,t) = I(r,\phi,t) / ( I_0(r,\phi) * I_1(t) )
Parameters
sideTPC side
chunkchunk of Delta IDC

Definition at line 190 of file IDCFactorization.h.

◆ getIDCOne() [1/3]

auto o2::tpc::IDCFactorization::getIDCOne ( ) &&
inline
Returns
returns vector of structs containing IDC1 using move semantics

Definition at line 217 of file IDCFactorization.h.

◆ getIDCOne() [2/3]

const auto & o2::tpc::IDCFactorization::getIDCOne ( ) const &
inline
Returns
returns vector of structs containing IDC1

Definition at line 214 of file IDCFactorization.h.

◆ getIDCOne() [3/3]

const IDCOne & o2::tpc::IDCFactorization::getIDCOne ( const o2::tpc::Side  side) const
inline
Returns
returns stored IDC1 I_1(t) = <I(r,\phi,t) / I_0(r,\phi)>_{r,\phi}
Parameters
sideTPC side

Definition at line 185 of file IDCFactorization.h.

◆ getIDCOneVec()

const std::vector< float > & o2::tpc::IDCFactorization::getIDCOneVec ( const o2::tpc::Side  side) const
inline
Returns
returns stored IDC1 I_1(t) = <I(r,\phi,t) / I_0(r,\phi)>_{r,\phi}
Parameters
sideTPC side

Definition at line 181 of file IDCFactorization.h.

◆ getIDCs()

const auto & o2::tpc::IDCFactorization::getIDCs ( ) const
inline
Returns
returns grouped IDCs

Definition at line 220 of file IDCFactorization.h.

◆ getIDCValGrouped()

float o2::tpc::IDCFactorization::getIDCValGrouped ( const unsigned int  sector,
const unsigned int  region,
const unsigned int  grow,
unsigned int  gpad,
unsigned int  integrationInterval 
) const
inline
Returns
returns the stored grouped and integrated IDC
Parameters
sectorsector
regionregion
growrow in the region of the grouped IDCs
gpadpad number of the grouped IDCs
integrationIntervalintegration interval

Definition at line 118 of file IDCFactorization.h.

◆ getIDCValUngrouped()

float o2::tpc::IDCFactorization::getIDCValUngrouped ( const unsigned int  sector,
const unsigned int  region,
unsigned int  urow,
unsigned int  upad,
unsigned int  integrationInterval 
) const
Returns
returns the stored 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 728 of file IDCFactorization.cxx.

◆ getIDCZero() [1/3]

const auto & o2::tpc::IDCFactorization::getIDCZero ( ) const
inline
Returns
returns vector of structs containing IDC0

Definition at line 211 of file IDCFactorization.h.

◆ getIDCZero() [2/3]

auto o2::tpc::IDCFactorization::getIDCZero ( const o2::tpc::Side  side) &&
inline
Returns
returns stored IDC0 I_0(r,\phi) = <I(r,\phi,t)>_t
Parameters
sideTPC side

Definition at line 177 of file IDCFactorization.h.

◆ getIDCZero() [3/3]

const IDCZero & o2::tpc::IDCFactorization::getIDCZero ( const o2::tpc::Side  side) const &
inline
Returns
returns stored IDC0 I_0(r,\phi) = <I(r,\phi,t)>_t
Parameters
sideTPC side

Definition at line 173 of file IDCFactorization.h.

◆ getIDCZeroVal()

float o2::tpc::IDCFactorization::getIDCZeroVal ( const unsigned int  sector,
const unsigned int  region,
unsigned int  urow,
unsigned int  upad 
) const
inline
Returns
returns the stored IDC0 value for local ungrouped pad row and ungrouped pad
Parameters
sectorsector
regionregion
urowrow of the ungrouped IDCs
upadpad number of the ungrouped IDCs

Definition at line 133 of file IDCFactorization.h.

◆ getIDCZeroVec()

const std::vector< float > & o2::tpc::IDCFactorization::getIDCZeroVec ( const o2::tpc::Side  side) const
inline
Returns
returns stored IDC0 I_0(r,\phi) = <I(r,\phi,t)>_t
Parameters
sideTPC side

Definition at line 169 of file IDCFactorization.h.

◆ getIntegrationIntervalsPerTF()

std::vector< unsigned int > o2::tpc::IDCFactorization::getIntegrationIntervalsPerTF ( const int  cru = -1) const
Returns
vector containing the number of integration intervals for each stored TF (dropped TFs not taken into account)
Parameters
crucru which is used for the lookup (cru=-1: automatic cru lookup)

Definition at line 966 of file IDCFactorization.cxx.

◆ getLargeObjectFromFile()

std::unique_ptr< o2::tpc::IDCFactorization > o2::tpc::IDCFactorization::getLargeObjectFromFile ( const char inpFileName = "IDCFactorized.root",
const char inName = "IDCFactorized" 
)
static

read in an object which was created with dumpLargeObjectToFile

Parameters
inpFileNamename of the output file
inNamename of the object in the output file
Returns
returns the stored object

Definition at line 120 of file IDCFactorization.cxx.

◆ getLocalIntegrationInterval()

void o2::tpc::IDCFactorization::getLocalIntegrationInterval ( const unsigned int  integrationInterval,
unsigned int chunk,
unsigned int localintegrationInterval 
) const
Returns
returns index of integration interval in the chunk from global integration interval
Parameters
integrationIntervalintegration interval
chunkwhich will be set in the function
localintegrationIntervallocal integration interval for chunk which will be set in the function

Definition at line 934 of file IDCFactorization.cxx.

◆ getMeanZ()

float o2::tpc::IDCFactorization::getMeanZ ( const Side  side) const
Returns
returns mean of IDC0 for given side

Definition at line 719 of file IDCFactorization.cxx.

◆ getNChunks()

unsigned int o2::tpc::IDCFactorization::getNChunks ( const Side  side) const
inline
Returns
returns number of chunks for Delta IDCs

Definition at line 208 of file IDCFactorization.h.

◆ getNIntegrationIntervals() [1/2]

unsigned long o2::tpc::IDCFactorization::getNIntegrationIntervals ( ) const
Returns
returns the total number of stored integration intervals (dropped TFs are taken into account)

Definition at line 927 of file IDCFactorization.cxx.

◆ getNIntegrationIntervals() [2/2]

unsigned long o2::tpc::IDCFactorization::getNIntegrationIntervals ( const int  cru) const
Returns
returns the total number of stored integration intervals (dropped TFs not taken into account)

Definition at line 918 of file IDCFactorization.cxx.

◆ getNIntegrationIntervalsInChunk()

unsigned long o2::tpc::IDCFactorization::getNIntegrationIntervalsInChunk ( const unsigned int  chunk) const
Returns
returns the number of stored integration intervals for given Delta IDC chunk (dropped TFs taken into account)
Parameters
chunkchunk of Delta IDC

Definition at line 902 of file IDCFactorization.cxx.

◆ getNIntegrationIntervalsToChunk()

unsigned long o2::tpc::IDCFactorization::getNIntegrationIntervalsToChunk ( const unsigned int  chunk) const
Returns
returns the number of stored integration intervals up to a given Delta IDC chunk (dropped TFs taken into account)
Parameters
chunkchunk of Delta IDC

Definition at line 910 of file IDCFactorization.cxx.

◆ getNThreads()

static int o2::tpc::IDCFactorization::getNThreads ( )
inlinestatic
Returns
returns the number of threads used for some of the calculations

Definition at line 241 of file IDCFactorization.h.

◆ getNTimeframes()

unsigned int o2::tpc::IDCFactorization::getNTimeframes ( ) const
inline
Returns
returns number of timeframes for which the IDCs are stored

Definition at line 151 of file IDCFactorization.h.

◆ getPadStatusMap()

std::unique_ptr< CalDet< PadFlags > > o2::tpc::IDCFactorization::getPadStatusMap ( )
inline
Returns
returns unique_ptr to pad status map

Definition at line 386 of file IDCFactorization.h.

◆ getPadStatusMapPtr()

CalDet< PadFlags > * o2::tpc::IDCFactorization::getPadStatusMapPtr ( ) const
inline
Returns
returns pointer to pad status map

Definition at line 383 of file IDCFactorization.h.

◆ getRun()

int o2::tpc::IDCFactorization::getRun ( ) const
inline
Returns
returns run of the IDCs

Definition at line 235 of file IDCFactorization.h.

◆ getSides() [1/2]

const std::vector< Side > & o2::tpc::IDCFactorization::getSides ( ) const
inline
Returns
returns TPC sides for which the factorization is performed

Definition at line 389 of file IDCFactorization.h.

◆ getSides() [2/2]

std::vector< o2::tpc::Side > o2::tpc::IDCFactorization::getSides ( const std::vector< uint32_t > &  crus)
static

returns sides for CRUs

Parameters
cruscrus which will be checked for their side

Definition at line 59 of file IDCFactorization.cxx.

◆ getStackMedian()

std::array< float, o2::tpc::GEMSTACKS > o2::tpc::IDCFactorization::getStackMedian ( ) const
Returns
returns median of IDC0 per stack for all stacks

Definition at line 1185 of file IDCFactorization.cxx.

◆ getTimeFramesDeltaIDC()

unsigned int o2::tpc::IDCFactorization::getTimeFramesDeltaIDC ( ) const
inline

Definition at line 238 of file IDCFactorization.h.

◆ getTimeStamp()

long o2::tpc::IDCFactorization::getTimeStamp ( ) const
inline
Returns
returns time stamp of the first aggregated IDCs

Definition at line 229 of file IDCFactorization.h.

◆ getUsePadStatusMap()

bool o2::tpc::IDCFactorization::getUsePadStatusMap ( ) const
inline
Returns
returns whether the pad-by-pad status map will be used during the factorization of the IDCs

Definition at line 375 of file IDCFactorization.h.

◆ normIDCZeroGain()

void o2::tpc::IDCFactorization::normIDCZeroGain ( )
inline

normalize IDC0 with the set gain map

Definition at line 404 of file IDCFactorization.h.

◆ normIDCZeroStackMedian()

void o2::tpc::IDCFactorization::normIDCZeroStackMedian ( )
inline

normalize IDC0 with the median per stack

Definition at line 407 of file IDCFactorization.h.

◆ reset()

void o2::tpc::IDCFactorization::reset ( )

resetting aggregated IDCs

Definition at line 978 of file IDCFactorization.cxx.

◆ setGainMap() [1/2]

void o2::tpc::IDCFactorization::setGainMap ( const CalDet< float > &  gainmap)

setting a gain map from a file

Definition at line 1091 of file IDCFactorization.cxx.

◆ setGainMap() [2/2]

void o2::tpc::IDCFactorization::setGainMap ( const char inpFile,
const char mapName 
)

setting a gain map from a file

Parameters
inpFileinput file containing some caldet
mapNamename of the caldet

Definition at line 1077 of file IDCFactorization.cxx.

◆ setIDCDelta()

void o2::tpc::IDCFactorization::setIDCDelta ( const Side  side,
const IDCDelta< float > &  idcDelta,
const int  index = 0 
)
inline

set the IDCDelta

Definition at line 398 of file IDCFactorization.h.

◆ setIDCOne()

void o2::tpc::IDCFactorization::setIDCOne ( const Side  side,
const IDCOne idcOne 
)
inline

set the IDCOne

Definition at line 395 of file IDCFactorization.h.

◆ setIDCs()

void o2::tpc::IDCFactorization::setIDCs ( std::vector< float > &&  idcs,
const unsigned int  cru,
const unsigned int  timeframe 
)
inline

set the IDC data

Parameters
idcsvector containing the IDCs
cruCRU
timeframetime frame of the IDCs

Definition at line 247 of file IDCFactorization.h.

◆ setIDCZero()

void o2::tpc::IDCFactorization::setIDCZero ( const Side  side,
const IDCZero idcZero 
)
inline

set the IDCZero object

Definition at line 392 of file IDCFactorization.h.

◆ setMaxCompressedIDCDelta()

static void o2::tpc::IDCFactorization::setMaxCompressedIDCDelta ( const float  maxIDCDeltaValue)
inlinestatic
Parameters
maxIDCDeltaValuemaximum IDC delta value for compressed IDC delta

Definition at line 257 of file IDCFactorization.h.

◆ setMinCompressedIDCDelta()

static void o2::tpc::IDCFactorization::setMinCompressedIDCDelta ( const float  minIDCDeltaValue)
inlinestatic
Parameters
minIDCDeltaValueminimum IDC delta value for compressed IDC delta

Definition at line 254 of file IDCFactorization.h.

◆ setNThreads()

static void o2::tpc::IDCFactorization::setNThreads ( const int  nThreads)
inlinestatic

set the number of threads used for some of the calculations

Parameters
nThreadsnumber of threads

Definition at line 251 of file IDCFactorization.h.

◆ setPadFlagMap() [1/2]

void o2::tpc::IDCFactorization::setPadFlagMap ( const CalDet< PadFlags > &  flagmap)

setting a map containing status flags for each pad

Definition at line 1110 of file IDCFactorization.cxx.

◆ setPadFlagMap() [2/2]

void o2::tpc::IDCFactorization::setPadFlagMap ( const char inpFile,
const char mapName 
)

setting a map containing status flags for each pad

Parameters
inpFileinput file containing the object
mapNamename of the caldet

Definition at line 1096 of file IDCFactorization.cxx.

◆ setRun()

void o2::tpc::IDCFactorization::setRun ( const int  run)
inline
Parameters
runof the aggregated IDCs

Definition at line 232 of file IDCFactorization.h.

◆ setTimeStamp()

void o2::tpc::IDCFactorization::setTimeStamp ( const long  timeStamp)
inline
Parameters
timeStamptime stamp of the first aggregated IDCs

Definition at line 226 of file IDCFactorization.h.

◆ setUsePadStatusMap()

void o2::tpc::IDCFactorization::setUsePadStatusMap ( const bool  usePadStatusMap)
inline

setting the usage of the pad-by-pad status map during the factorization of the IDCs

Definition at line 372 of file IDCFactorization.h.


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