21#ifndef ALICEO2_TPC_TPCFastSpaceChargeCorrectionHelper_H_
22#define ALICEO2_TPC_TPCFastSpaceChargeCorrectionHelper_H_
77 std::function<
void(
int roc,
int irow,
double y,
double z,
double& dx,
double& dy,
double& dz)> correctionLocal,
78 const int nKnotsY = 10,
const int nKnotsZ = 20);
82 std::function<
void(
int roc,
double gx,
double gy,
double gz,
83 double& dgx,
double& dgy,
double& dgz)>
85 const int nKnotsY = 10,
const int nKnotsZ = 20);
100 bool useSmoothed,
bool invertSigns,
116 void initInverse(std::vector<o2::gpu::TPCFastSpaceChargeCorrection*>& corrections,
const std::vector<float>& scaling,
bool prn);
126 const std::vector<std::pair<const o2::gpu::TPCFastSpaceChargeCorrection*, float>>& additionalCorrections,
bool prn);
131 mVoxelMeanValidityRange =
range;
153 bool mIsInitialized = 0;
159 double mVoxelMeanValidityRange{1.1};
161 bool mDebugUseVoxelCenters{
false};
162 bool mDebugMirrorAdata2C{
false};
Definition of TPCFastSpaceChargeCorrectionMap class.
Definition of TPCFastSpaceChargeCorrection class.
Definition of the TrackResiduals class.
std::unique_ptr< TPCFastSpaceChargeCorrection > createFromLocalCorrection(std::function< void(int roc, int irow, double y, double z, double &dx, double &dy, double &dz)> correctionLocal, const int nKnotsY=10, const int nKnotsZ=20)
_______________ Main functionality ________________________
const TPCFastTransformGeo & getGeometry()
_______________ Utilities ________________________
int getNthreads() const
get the number of threads
void setVoxelMeanValidityRange(double range)
how far the voxel mean is allowed to be outside of the voxel (1.1 means 10%)
void initInverse(o2::gpu::TPCFastSpaceChargeCorrection &correction, bool prn)
initialise inverse transformation
std::unique_ptr< o2::gpu::TPCFastSpaceChargeCorrection > createFromTrackResiduals(const o2::tpc::TrackResiduals &trackResiduals, TTree *voxResTree, TTree *voxResTreeInverse, bool useSmoothed, bool invertSigns, TPCFastSpaceChargeCorrectionMap *fitPointsDirect=nullptr, TPCFastSpaceChargeCorrectionMap *fitPointsInverse=nullptr)
TPCFastSpaceChargeCorrectionMap & getCorrectionMap()
~TPCFastSpaceChargeCorrectionHelper()=default
Destructor.
std::unique_ptr< TPCFastSpaceChargeCorrection > createFromGlobalCorrection(std::function< void(int roc, double gx, double gy, double gz, double &dgx, double &dgy, double &dgz)> correctionGlobal, const int nKnotsY=10, const int nKnotsZ=20)
creates TPCFastSpaceChargeCorrection object from a continious space charge correction in global coord...
void testGeometry(const TPCFastTransformGeo &geo) const
void setDebugMirrorAdata2C()
debug: if true, mirror the data from the A side to the C side of the TPC
TPCFastSpaceChargeCorrectionHelper()=default
_____________ Constructors / destructors __________________________
void setNthreads(int n)
_______________ Settings ________________________
TPCFastSpaceChargeCorrectionHelper(const TPCFastSpaceChargeCorrectionHelper &)=delete
Copy constructor: disabled.
bool isDebugUseVoxelCenters() const
void setDebugUseVoxelCenters()
debug: if true, use voxel centers instead of the fitted positions for correction
void mergeCorrections(o2::gpu::TPCFastSpaceChargeCorrection &mainCorrection, float scale, const std::vector< std::pair< const o2::gpu::TPCFastSpaceChargeCorrection *, float > > &additionalCorrections, bool prn)
void setNthreadsToMaximum()
sets number of threads to N cpu cores
double getVoxelMeanValidityRange() const
static TPCFastSpaceChargeCorrectionHelper * instance()
Singleton.
TPCFastSpaceChargeCorrectionHelper & operator=(const TPCFastSpaceChargeCorrectionHelper &)=delete
Assignment operator: disabled.
bool isDebugMirrorAdata2C() const
GLdouble GLdouble GLdouble z
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...