75#ifdef _INC_CREATION_Chebyshev3D_
110 const Int_t* npX,
const Int_t* npY,
const Int_t* npZ,
121 Bool_t run = kTRUE,
const Float_t* precD =
nullptr);
135 void Eval(
const Double_t* par, Double_t*
res);
137 Double_t
Eval(
const Double_t* par,
int idim);
151 void Print(
const Option_t* opt =
"")
const override;
155 Bool_t
isInside(
const Double_t* par)
const;
164 return mMinBoundaries[
i];
169 return mMaxBoundaries[
i];
174 return (
float*)mMinBoundaries;
179 return (
float*)mMaxBoundaries;
184 return (
float*)mBoundaryMappingScale;
189 return (
float*)mBoundaryMappingOffset;
203#ifdef _INC_CREATION_Chebyshev3D_
205 int* getNcNeeded(
float xyz[3],
int dimVar,
float mn,
float mx,
float prec, Int_t npCheck = 30);
206 void estimateNumberOfPoints(
float prec,
int gridBC[3][3], Int_t npd1 = 30, Int_t npd2 = 30, Int_t npd3 = 30);
207 void saveData(
const char* outfile, Bool_t append = kFALSE)
const;
208 void saveData(FILE*
stream = stdout)
const;
210 void setuserFunction(
const char*
name);
211 void setuserFunction(
void (*
ptr)(
float*,
float*));
213 TH1* TestRMS(
int idim,
int npoints = 1000, TH1* histo =
nullptr);
214 static Int_t calculateChebyshevCoefficients(
const Float_t* funval,
int np,
Float_t* outCoefs,
Float_t prec = -1);
220 void setDimOut(
const int d,
const float* prec =
nullptr);
224#ifdef _INC_CREATION_Chebyshev3D_
225 void evaluateUserFunction();
226 void defineGrid(
const Int_t* npoints);
227 Int_t chebyshevFit();
228 Int_t chebyshevFit(
int dmOut);
229 void setPrecision(
float prec)
238 return x / mBoundaryMappingScale[
d] + mBoundaryMappingOffset[
d];
243 return x / mBoundaryMappingScale[
d] + mBoundaryMappingOffset[
d];
247 Int_t mOutputArrayDimension;
251 Float_t mBoundaryMappingScale[3];
252 Float_t mBoundaryMappingOffset[3];
253 TObjArray mChebyshevParameter;
255 Int_t mMaxCoefficients;
256 Int_t mNumberOfPoints[3];
257 Float_t mTemporaryCoefficient[3];
258 Float_t* mTemporaryUserResults;
259 Float_t* mTemporaryChebyshevGrid;
260 Int_t mTemporaryChebyshevGridOffs[3];
261 TString mUserFunctionName;
262 TMethodCall* mUserMacro;
264 static const Float_t sMinimumPrecision;
configStandalone Reconstruction rec_tpc multiplier for the combined cluster track error during track following area in cm for the search of for z only used if decrease removal by when above this local occupancy rowx Shift of TPC revert cluster flag edge bit distance to edge exceeds this ZOffset for secondary multiple of radius max P of electron K BB bands crossing max P of electron p BB bands crossing max P of electron d BB bands crossing max P of electron t BB bands crossing min accepted dEdxMaxTPC of the track Additive extra cluster error for Y2 if edge flag set Additive extra cluster error for Y2 if single set Additive extra cluster error for Y2 if or single set Additive extra cluster error for Z2 if or single set Extra errors to add to track when crossing depending on addErrorsCECrossing Inner portion of y range in sector that is not used in searching for extrapolated track candidates factor2YS for track merging factor2K for track merging Margin in cm of Y position when rejecting edge clusters based on uncorrected track Y Max fraction of shared clusters for tracklet Except pad from cluster finding if total number of charges in a fragment is above this Except pad from cluster finding if number of consecutive charges in a fragment is above this Threshold where a timebin is considered disabling the noisy pad check for that pad Treat signal above this minimum as saturated Smoothing factor for the exponential Highly Ionising Particle tail filter Number of timebins to use for the averaging Add additional custom track errors when crossing relative as fraction of Do N fit passes in final fit of< 0:reject at max -n hits") AddOptionRTC(rejectIFCLowRadiusCluster, uint8_t, 1, "", 0, "Reject clusters that get the IFC mask error during refit") AddOptionRTC(dEdxTruncLow, uint8_t, 2, "", 0, "Low truncation threshold, fraction of 128") AddOptionRTC(dEdxTruncHigh, uint8_t, 77, "", 0, "High truncation threshold, fraction of 128") AddOptionRTC(extrapolationTracking, int8_t, 1, "", 0, "Enable Extrapolation Tracking(prolong tracks to adjacent sectors to find short segments)") AddOptionRTC(disableRefitAttachment, uint8_t, 0, "", 0, "Bitmask to disable certain attachment steps during refit(1:attachment, 2:propagation, 4:loop following, 8:mirroring)") AddOptionRTC(rejectionStrategy, uint8_t, o2::gpu::GPUSettings::RejectionStrategyA, "", 0, "Enable rejection of TPC clusters for compression(0=no, 1=strategy A, 2=strategy B)") AddOptionRTC(mergeLoopersAfterburner, uint8_t, 1, "", 0, "Run afterburner for additional looper merging") AddOptionRTC(compressionTypeMask, uint8_t, o2::gpu::GPUSettings::CompressionFull, "", 0, "TPC Compression mode bits(1=truncate charge/width LSB, 2=differences, 4=track-model)") AddOptionRTC(compressionSortOrder, uint8_t, o2::gpu::GPUSettings::SortTime, "", 0, "Sort order of TPC compression(0=time, 1=pad, 2=Z-time-pad, 3=Z-pad-time, 4=no sorting(use incoming order))") AddOptionRTC(sigBitsCharge, uint8_t, 4, "", 0, "Number of significant bits for TPC cluster charge in compression mode 1") AddOptionRTC(sigBitsWidth, uint8_t, 3, "", 0, "Number of significant bits for TPC cluster width in compression mode 1") AddOptionRTC(dropLoopers, uint8_t, 0, "", 0, "Drop looping tracks starting from second loop") AddOptionRTC(mergerInterpolateErrors, uint8_t, 1, "", 0, "Use interpolation instead of extrapolation for chi2 based cluster rejection") AddOptionRTC(mergerInterpolateRejectAlsoOnCurrentPosition, uint8_t, 1, "", 0, "When using mergerInterpolateErrors, reject based on chi2 twice computed with interpolated and current track position starting from NDF > mergerNonInterpolateRejectMinNDF Merge tracks accross the central electrode Enable PID response Add sub threshold clusters in TPC dEdx computation OR mask of TPC flags that will reject the cluster in alternative dEdx Reject edge clusters based on uncorrected track Y during track fit Increase decrease removal by when on this number of pads from the edge h configStandalone Reconstruction rec_trd Max chi2 for TRD tracklets to be matched to a track Chi2 cut for strict matching mode Number of sigmas for ITS TPC track time error estimate Addition to search road around track prolongation along Y in cm Optimal tracklet rphi resolution in maximum chi2 per attached tracklet for TRD tracks take into account the full likelihood of the slope including exponential tails Tracks with less attached tracklets are discarded after the tracking Post trigger Pile up integration time in BCs fits all iterations but the last one in projections Use material lookup table for TPC refit Apply workarounds to avoid cyclic merge should not be needed tpc dyn configStandalone Processing proc_rtc Replace constant variables static by constexpr expressions Compile RTC in deterministic with NO_FAST_MATH flags and GPUCA_DETERMINISTIC_MODE define Use RTC to optimize GPU code h configStandalone Processing proc_rtctech Use a file lock to serialize access to the cache folder Print launch bounds used for RTC code as debugging option