![]() |
Project
|
#include <CalibdEdxContainer.h>
Inherits o2::gpu::FlatObject.
Public Member Functions | |
CalibdEdxContainer ()=default | |
Default constructor: creates an empty uninitialized object. | |
CalibdEdxContainer (const CalibdEdxContainer &)=delete | |
Copy constructor: disabled to avoid ambiguity. Use cloneFromObject() instead. | |
CalibdEdxContainer & | operator= (const CalibdEdxContainer &)=delete |
Assignment operator: disabled to avoid ambiguity. Use cloneFromObject() instead. | |
~CalibdEdxContainer ()=default | |
Destructor. | |
GPUd () float getTopologyCorrection(const int32_t region | |
GPUd () float getTopologyCorrection(const int32_t region | |
GPUd () float getDefaultTopologyCorrection(const float tanTheta | |
float | getMinZeroSupresssionThreshold () const |
float | getMaxZeroSupresssionThreshold () const |
GPUd () float getZeroSupressionThreshold(const int32_t sector | |
GPUd () float getGain(const int32_t sector | |
GPUd () float getResidualGain(const int32_t sector | |
GPUd () bool isDead(const int32_t sector | |
GPUd () float getResidualCorrection(const StackID &stack | |
void | moveBufferTo (char *newBufferPtr) |
void | destroy () |
destroy the object (release internal flat buffer) | |
void | setActualBufferAddress (char *actualFlatBufferPtr) |
set location of external flat buffer | |
void | setFutureBufferAddress (char *futureFlatBufferPtr) |
set future location of the flat buffer | |
void | loadPolTopologyCorrectionFromFile (std::string_view fileName) |
================================================================================================ | |
void | loadSplineTopologyCorrectionFromFile (std::string_view fileName) |
void | setPolTopologyCorrection (const CalibdEdxTrackTopologyPol &calibTrackTopology) |
void | setDefaultPolTopologyCorrection () |
setting a default topology correction which just returns 1 | |
void | setSplineTopologyCorrection (const CalibdEdxTrackTopologySpline &calibTrackTopology) |
void | loadResidualCorrectionFromFile (std::string_view fileName) |
void | setResidualCorrection (const CalibdEdxCorrection &residualCorr) |
void | loadZeroSupresssionThresholdFromFile (std::string_view fileName, std::string_view objName, const float minCorrectionFactor, const float maxCorrectionFactor) |
void | setZeroSupresssionThreshold (const CalDet< float > &thresholdMap) |
void | setZeroSupresssionThreshold (const CalDet< float > &thresholdMap, const float minCorrectionFactor, const float maxCorrectionFactor) |
void | setDeadChannelMap (const CalDet< bool > &deadMap) |
setting the gain map map from a CalDet | |
void | setGainMap (const CalDet< float > &gainMap, const float minGain, const float maxGain) |
setting the gain map map from a CalDet | |
void | setGainMapResidual (const CalDet< float > &gainMapResidual, const float minResidualGain=0.7f, const float maxResidualGain=1.3f) |
setting the gain map map from a CalDet | |
void | setDefaultZeroSupresssionThreshold () |
bool | isTopologyCorrectionSplinesSet () const |
returns status if the spline correction is set | |
bool | isTopologyCorrectionPolynomialsSet () const |
returns status if the polynomials correction is set | |
void | setCorrectionCCDB (const CalibsdEdx calib) |
void | disableCorrectionCCDB (const CalibsdEdx calib) |
bool | isCorrectionCCDB (const CalibsdEdx calib) const |
void | setUsageOfFullGainMap (const bool applyFullGainMap) |
![]() | |
FlatObject ()=default | |
_____________ Constructors / destructors __________________________ | |
~FlatObject () | |
FlatObject (const FlatObject &)=delete | |
FlatObject & | operator= (const FlatObject &)=delete |
void | destroy () |
_______________ Utilities _______________________________________________ | |
size_t | getFlatBufferSize () const |
Gives size of the flat buffer. | |
const char * | getFlatBufferPtr () const |
Gives pointer to the flat buffer. | |
bool | isConstructed () const |
Tells if the object is constructed. | |
bool | isBufferInternal () const |
Tells if the buffer is internal. | |
void | adoptInternalBuffer (char *buf) |
void | clearInternalBufferPtr () |
void | printC () const |
Print the content of the flat buffer. | |
Public Attributes | |
const ChargeType | chargeT |
const ChargeType const float | tanTheta |
const ChargeType const float const float | sinPhi |
const ChargeType const float const float const float | z |
const ChargeType const float const float const float const float | relPad |
const ChargeType const float const float const float const float const float | relTime |
const ChargeType const float const float const float const float const float const float | threshold |
const ChargeType const float const float const float const float const float const float const float charge | const |
const ChargeType float x[] | const |
const float sinPhi | const { return gpu::CAMath::Sqrt(tanTheta * tanTheta + 1 / (1 - sinPhi * sinPhi)) |
const gpu::tpccf::Row | row |
const gpu::tpccf::Row const gpu::tpccf::Pad pad | const { return mThresholdMap.getGainCorrection(sector, row, pad) |
const ChargeType | charge |
const ChargeType const float | tgl = 0 |
const ChargeType const float const float | snp |
Additional Inherited Members | |
![]() | |
static size_t | alignSize (size_t sizeBytes, size_t alignmentBytes) |
_______________ Generic utilities _______________________________________________ | |
template<class T > | |
static T * | relocatePointer (const char *oldBase, char *newBase, const T *ptr) |
Relocates a pointer inside a buffer to the new buffer address. | |
template<class T , class TFile > | |
static int32_t | writeToFile (T &obj, TFile &outf, const char *name) |
write a child class object to the file | |
template<class T , class TFile > | |
static T * | readFromFile (TFile &inpf, const char *name) |
read a child class object from the file | |
template<class T > | |
static std::string | stressTest (T &obj) |
Test the flat object functionality for a child class T. | |
![]() | |
enum | ConstructionState : uint32_t { NotConstructed = 0x0 , Constructed = 0x1 , InProgress = 0x2 } |
GPUCA_GPUCODE. More... | |
![]() | |
void | startConstruction () |
_____________ Construction _________ | |
void | finishConstruction (int32_t flatBufferSize) |
void | cloneFromObject (const FlatObject &obj, char *newFlatBufferPtr) |
char * | releaseInternalBuffer () |
_____________ Methods for making the data buffer external __________________________ | |
void | moveBufferTo (char *newBufferPtr) |
void | setActualBufferAddress (char *actualFlatBufferPtr) |
_____________ Methods for moving the class with its external buffer to another location __________________________ | |
void | setFutureBufferAddress (char *futureFlatBufferPtr) |
ClassDefNV (FlatObject, 1) | |
Pointer to the flat buffer. | |
![]() | |
static constexpr size_t | getClassAlignmentBytes () |
_____________ Memory alignment __________________________ | |
static constexpr size_t | getBufferAlignmentBytes () |
Gives minimal alignment in bytes required for the flat buffer. | |
![]() | |
int32_t | mFlatBufferSize = 0 |
size of the flat buffer | |
uint32_t | mConstructionMask = ConstructionState::NotConstructed |
mask for constructed object members, first two bytes are used by this class | |
char * | mFlatBufferContainer = nullptr |
char * | mFlatBufferPtr = nullptr |
This container class contains all necessary corrections for the dE/dx Currently it holds the residual dE/dx correction and the track topology correction, which can be either provided by 2D-splines or by 5D-polynomials. To be able to correctly use the flat buffer functionality only one of the topology corrections should be set: 2D-splines or by 5D-polynomials! The track topology corrections are set as a nullptr for default as a member. By loading only one of them memory overhead for the classes are avoided and appropriate flat buffer sizes are used.
Definition at line 59 of file CalibdEdxContainer.h.
|
default |
Default constructor: creates an empty uninitialized object.
|
delete |
Copy constructor: disabled to avoid ambiguity. Use cloneFromObject() instead.
|
default |
Destructor.
void CalibdEdxContainer::destroy | ( | ) |
destroy the object (release internal flat buffer)
Definition at line 63 of file CalibdEdxContainer.cxx.
|
inline |
disable loading of a correction from CCDB
calib | calibration which will not be loaded from CCDB |
Definition at line 227 of file CalibdEdxContainer.h.
float CalibdEdxContainer::getMaxZeroSupresssionThreshold | ( | ) | const |
Definition at line 136 of file CalibdEdxContainer.cxx.
float CalibdEdxContainer::getMinZeroSupresssionThreshold | ( | ) | const |
Definition at line 125 of file CalibdEdxContainer.cxx.
o2::tpc::CalibdEdxContainer::GPUd | ( | ) | const |
sector | tpc sector |
row | global pad row |
o2::tpc::CalibdEdxContainer::GPUd | ( | ) | const |
o2::tpc::CalibdEdxContainer::GPUd | ( | ) | const |
sector | tpc sector |
row | global pad row |
o2::tpc::CalibdEdxContainer::GPUd | ( | ) | const & |
stack | ID of the GEM stack |
charge | type of the charge (qMax or qTot) |
z | z position |
tgl | tracking parameter tgl |
o2::tpc::CalibdEdxContainer::GPUd | ( | ) | const |
sector | tpc sector |
row | global pad row |
o2::tpc::CalibdEdxContainer::GPUd | ( | ) | const |
region | region of the TPC |
chargeT | type of the charge (qMax or qTot) |
tanTheta | local inclination angle tanTheta |
sinPhi | snp track parameter |
z | z position |
relPad | relative pad position of the cluster |
relTime | relative time position of the cluster |
threshold | zero supression threshold |
charge | charge of the cluster |
o2::tpc::CalibdEdxContainer::GPUd | ( | ) | const |
region | region of the TPC |
chargeT | type of the charge (qMax or qTot) |
x | coordinates where the correction is evaluated |
o2::tpc::CalibdEdxContainer::GPUd | ( | ) | const |
sector | tpc sector |
row | global pad row |
|
inline |
check if a correction will be loaded from CCDB
calib | calibration which will be loaded from CCDB |
Definition at line 231 of file CalibdEdxContainer.h.
|
inline |
returns status if the polynomials correction is set
Definition at line 219 of file CalibdEdxContainer.h.
|
inline |
returns status if the spline correction is set
Definition at line 216 of file CalibdEdxContainer.h.
void CalibdEdxContainer::loadPolTopologyCorrectionFromFile | ( | std::string_view | fileName | ) |
================================================================================================
fileName | input file containing the correction |
Definition at line 147 of file CalibdEdxContainer.cxx.
|
inline |
fileName | input file containing the correction |
Definition at line 184 of file CalibdEdxContainer.h.
void CalibdEdxContainer::loadSplineTopologyCorrectionFromFile | ( | std::string_view | fileName | ) |
fileName | input file containing the correction |
Definition at line 152 of file CalibdEdxContainer.cxx.
void CalibdEdxContainer::loadZeroSupresssionThresholdFromFile | ( | std::string_view | fileName, |
std::string_view | objName, | ||
const float | minCorrectionFactor, | ||
const float | maxCorrectionFactor | ||
) |
fileName | input file containing the CalDet map |
Definition at line 177 of file CalibdEdxContainer.cxx.
move flat buffer to new location
newBufferPtr | new buffer location |
Definition at line 54 of file CalibdEdxContainer.cxx.
|
delete |
Assignment operator: disabled to avoid ambiguity. Use cloneFromObject() instead.
set location of external flat buffer
Definition at line 76 of file CalibdEdxContainer.cxx.
|
inline |
set loading of a correction from CCDB
calib | calibration which will be loaded from CCDB |
Definition at line 223 of file CalibdEdxContainer.h.
setting the gain map map from a CalDet
Definition at line 245 of file CalibdEdxContainer.cxx.
void CalibdEdxContainer::setDefaultPolTopologyCorrection | ( | ) |
setting a default topology correction which just returns 1
Definition at line 163 of file CalibdEdxContainer.cxx.
void CalibdEdxContainer::setDefaultZeroSupresssionThreshold | ( | ) |
setting default zero supression threshold map (all values are set to getMinZeroSupresssionThreshold())
fileName | input file containing the CalDet map |
Definition at line 262 of file CalibdEdxContainer.cxx.
set future location of the flat buffer
Definition at line 99 of file CalibdEdxContainer.cxx.
void CalibdEdxContainer::setGainMap | ( | const CalDet< float > & | gainMap, |
const float | minGain, | ||
const float | maxGain | ||
) |
setting the gain map map from a CalDet
Definition at line 250 of file CalibdEdxContainer.cxx.
void CalibdEdxContainer::setGainMapResidual | ( | const CalDet< float > & | gainMapResidual, |
const float | minResidualGain = 0.7f , |
||
const float | maxResidualGain = 1.3f |
||
) |
setting the gain map map from a CalDet
Definition at line 256 of file CalibdEdxContainer.cxx.
void CalibdEdxContainer::setPolTopologyCorrection | ( | const CalibdEdxTrackTopologyPol & | calibTrackTopology | ) |
set the polynomial track topology
calibTrackTopology | polynomial track topology correction |
Definition at line 157 of file CalibdEdxContainer.cxx.
|
inline |
setting the residual dEdx correction
residualCorr | residual gain calibration object |
Definition at line 188 of file CalibdEdxContainer.h.
void CalibdEdxContainer::setSplineTopologyCorrection | ( | const CalibdEdxTrackTopologySpline & | calibTrackTopology | ) |
set the spline track topology
calibTrackTopology | spline track topology correction |
Definition at line 171 of file CalibdEdxContainer.cxx.
applyFullGainMap | if set to true the cluster charge will be corrected with the full gain map |
Definition at line 234 of file CalibdEdxContainer.h.
|
inline |
setting the zero supression threshold map from a CalDet
thresholdMap | CalDet containing the zero supression threshold |
Definition at line 196 of file CalibdEdxContainer.h.
void CalibdEdxContainer::setZeroSupresssionThreshold | ( | const CalDet< float > & | thresholdMap, |
const float | minCorrectionFactor, | ||
const float | maxCorrectionFactor | ||
) |
setting the zero supression threshold map from a CalDet
thresholdMap | CalDet containing the zero supression threshold |
Definition at line 186 of file CalibdEdxContainer.cxx.
const ChargeType o2::tpc::CalibdEdxContainer::charge |
Definition at line 137 of file CalibdEdxContainer.h.
const ChargeType o2::tpc::CalibdEdxContainer::chargeT |
Definition at line 86 of file CalibdEdxContainer.h.
const gpu::tpccf::Row const gpu::tpccf::Pad pad o2::tpc::CalibdEdxContainer::const |
Definition at line 86 of file CalibdEdxContainer.h.
const ChargeType float x [] o2::tpc::CalibdEdxContainer::const |
const float sinPhi o2::tpc::CalibdEdxContainer::const { return gpu::CAMath::Sqrt(tanTheta * tanTheta + 1 / (1 - sinPhi * sinPhi)) |
Definition at line 102 of file CalibdEdxContainer.h.
const gpu::tpccf::Row const gpu::tpccf::Pad pad o2::tpc::CalibdEdxContainer::const { return mThresholdMap.getGainCorrection(sector, row, pad) |
Definition at line 115 of file CalibdEdxContainer.h.
const ChargeType const float const float const float const float o2::tpc::CalibdEdxContainer::relPad |
Definition at line 86 of file CalibdEdxContainer.h.
const ChargeType const float const float const float const float const float o2::tpc::CalibdEdxContainer::relTime |
Definition at line 86 of file CalibdEdxContainer.h.
const gpu::tpccf::Row o2::tpc::CalibdEdxContainer::row |
Definition at line 115 of file CalibdEdxContainer.h.
const ChargeType const float const float o2::tpc::CalibdEdxContainer::sinPhi |
Definition at line 86 of file CalibdEdxContainer.h.
const ChargeType const float const float o2::tpc::CalibdEdxContainer::snp |
Definition at line 137 of file CalibdEdxContainer.h.
const ChargeType const float o2::tpc::CalibdEdxContainer::tanTheta |
Definition at line 86 of file CalibdEdxContainer.h.
const ChargeType const float o2::tpc::CalibdEdxContainer::tgl = 0 |
Definition at line 137 of file CalibdEdxContainer.h.
const ChargeType const float const float const float const float const float const float o2::tpc::CalibdEdxContainer::threshold |
Definition at line 86 of file CalibdEdxContainer.h.
const ChargeType const float const float const float o2::tpc::CalibdEdxContainer::z |
Definition at line 86 of file CalibdEdxContainer.h.