24#error Please include GPUSettings.h!
29#ifdef QCONFIG_INSTANCE
40AddOptionRTC(hitPickUpFactor,
float, 1.
f, "", 0, "multiplier
for the combined cluster+track error during track following")
41AddOptionRTC(hitSearchArea2,
float, 2.
f, "", 0, "square
of maximum search road
of hits during seeding")
42AddOptionRTC(neighboursSearchArea,
float, 3.
f, "", 0, "area in cm
for the search
of neighbours,
for z only used if searchWindowDZDR = 0")
43AddOptionRTC(clusterError2CorrectionY,
float, 1.
f, "", 0, "correction (multiplicative)
for the squared cluster error during tracking")
44AddOptionRTC(clusterError2CorrectionZ,
float, 1.
f, "", 0, "correction (multiplicative)
for the squared cluster error during tracking")
45AddOptionRTC(clusterError2AdditionalY,
float, 0.
f, "", 0, "correction (additive)
for the squared cluster error during track fitting")
46AddOptionRTC(clusterError2AdditionalZ,
float, 0.
f, "", 0, "correction (additive)
for the squared cluster error during track fitting")
47AddOptionRTC(clusterError2AdditionalYSeeding,
float, 0.1
f, "", 0, "correction (additive)
for the squared cluster error during track seeding")
48AddOptionRTC(clusterError2AdditionalZSeeding,
float, 0.15
f, "", 0, "correction (additive)
for the squared cluster error during track seeding")
49AddOptionRTC(clusterRejectChi2TolleranceY,
float, 1.
f, "", 0, "Multiplicative factor multiplied onto chi2 in Y direction
for cluster rejection check during track fit")
50AddOptionRTC(clusterRejectChi2TolleranceZ,
float, 1.
f, "", 0, "Multiplicative factor multiplied onto chi2 in Z direction
for cluster rejection check during track fit")
51AddOptionRTC(clusterErrorOccupancyScaler,
float, 9.95e-04
f, "", 0, "Scaling factor applied to occupancy histogram bin in cluster error estimation")
52AddOptionRTC(clusterErrorChargeScaler,
float, 20.
f, "", 0, "Scaling factor applied to cluster
charge in cluster error estimation")
53AddOptionRTC(sysClusErrorNormIFCCE,
float, 1.
f, "", 0, "Systematic cluster error parameterization IFCCE clInner[0]")
54AddOptionRTC(sysClusErrorSlopeIFCCE,
float, 1.
f / 5.
f, "", 0, "Systematic cluster error parameterization IFCCE clInner[1]")
55AddOptionRTC(sysClusErrorIFCCEZRegion,
float, -5.
f, "", 0, "Systematic cluster error parameterization IFCCE
z Region")
56AddOptionRTC(sysClusErrorslopeIFCCEZ,
float, 1.
f / 2.0
f, "", 0, "Systematic cluster error parameterization IFCCE
z Region Sigma Inverse")
57AddOptionRTC(sysClusErrorNormIFC,
float, 0.5
f, "", 0, "Systematic cluster error parameterization IFC normalization")
58AddOptionRTC(sysClusErrorSlopeIFC,
float, 0.2
f, "", 0, "Systematic cluster error parameterization IFC
slope")
59AddOptionRTC(sysClusErrorMinDist,
float, 1.5
f, "", 0, "Systematic cluster error parameterization IFC Minimum Distance")
60AddOptionRTC(sysClusErrorMaskError,
float, 5.
f, "", 0, "Systematic cluster error parameterization IFC Large Error
for masking")
61AddOptionRTC(sysClusErrorC12Norm,
float, 5.3333333e-06
f, "", 0, "Systematic cluster
for Sector C1/2 normalization")
63AddOptionRTC(minNClustersTrackSeed, int32_t, -1, "", 0, "required
min number
of clusters on the track after track following (before merging)")
65AddOptionRTC(searchWindowDZDR,
float, 2.5
f, "", 0, "Use DZDR window
for seeding instead
of neighboursSearchArea")
66AddOptionRTC(trackReferenceX,
float, 1000.
f, "", 0, "Transport all tracks to this X after tracking (disabled if > 500, auto = 1000)")
67AddOptionRTC(zsThreshold,
float, 2.0
f, "", 0, "Zero-Suppression threshold")
68AddOptionRTC(tubeChi2,
float, 5.
f * 5.
f, "", 0, "Max chi2 to mark cluster adjacent to track")
69AddOptionRTC(tubeMaxSize2,
float, 2.5
f * 2.5
f, "", 0, "Square
of max tube
size (normally derrived from tpcTubeChi2)")
70AddOptionRTC(clustersShiftTimebins,
float, 0, "", 0, "Shift
of TPC
clusters (applied during CTF cluster decoding)")
71AddOptionRTC(clustersShiftTimebinsClusterizer,
float, 0, "", 0, "Shift
of TPC
clusters (applied during CTF clusterization)")
72AddOptionRTC(defaultZOffsetOverR,
float, 0.5210953
f, "", 0, "Shift
of TPC
clusters (applied during CTF cluster decoding)")
73AddOptionRTC(PID_EKrangeMin,
float, 0.47
f, "", 0, "
min P
of electron/K BB bands crossing")
74AddOptionRTC(PID_EKrangeMax,
float, 0.57
f, "", 0, "
max P
of electron/K BB bands crossing")
75AddOptionRTC(PID_EPrangeMin,
float, 0.93
f, "", 0, "
min P
of electron/p BB bands crossing")
76AddOptionRTC(PID_EPrangeMax,
float, 1.03
f, "", 0, "
max P
of electron/p BB bands crossing")
77AddOptionRTC(PID_EDrangeMin,
float, 1.88
f, "", 0, "
min P
of electron/d BB bands crossing")
78AddOptionRTC(PID_EDrangeMax,
float, 1.98
f, "", 0, "
max P
of electron/d BB bands crossing")
79AddOptionRTC(PID_ETrangeMin,
float, 2.84
f, "", 0, "
min P
of electron/t BB bands crossing")
80AddOptionRTC(PID_ETrangeMax,
float, 2.94
f, "", 0, "
max P
of electron/t BB bands crossing")
81AddOptionRTC(PID_sigma,
float, 0.06
f, "", 0, "relative sigma
for PID in combination with PID_useNsigma")
82AddOptionRTC(minTrackdEdxMax,
float, 20.0
f, "", 0, "
min accepted dEdxMaxTPC
of the track")
83AddOptionRTC(minTrackdEdxMax2Tot,
float, 0.67
f, "", 0, "
min accepted dEdxMaxTPC/dEdxTotTPC
of the track")
84AddOptionRTC(extraClusterErrorEdgeY2,
float, 0.35
f, "", 0, "Additive extra cluster error
for Y2 if edge flag set")
85AddOptionRTC(extraClusterErrorEdgeZ2,
float, 0.15
f, "", 0, "Additive extra cluster error
for Z2 if edge flag set")
86AddOptionRTC(extraClusterErrorSingleY2,
float, 0.04
f, "", 0, "Additive extra cluster error
for Y2 if single set")
87AddOptionRTC(extraClusterErrorSingleZ2,
float, 0.04
f, "", 0, "Additive extra cluster error
for Z2 if single set")
88AddOptionRTC(extraClusterErrorSplitPadSharedSingleY2,
float, 0.03
f, "", 0, "Additive extra cluster error
for Y2 if splitpad, shared, or single set")
89AddOptionRTC(extraClusterErrorFactorSplitPadSharedSingleY2,
float, 3.0
f, "", 0, "Multiplicative extra cluster error
for Y2 if splitpad, shared, or single set")
90AddOptionRTC(extraClusterErrorSplitTimeSharedSingleZ2,
float, 0.03
f, "", 0, "Additive extra cluster error
for Z2 if splittime, shared, or single set")
91AddOptionRTC(extraClusterErrorFactorSplitTimeSharedSingleZ2,
float, 3.0
f, "", 0, "Multiplicative extra cluster error
for Z2 if splittime, shared, or single set")
92AddOptionArray(errorsCECrossing,
float, 5, (0.
f, 0.
f, 0.
f, 0.
f, 0.
f), "", 0, "Extra errors to add to track when crossing CE, depending on addErrorsCECrossing")
93AddOptionRTC(extrapolationTrackingYRangeUpper,
float, 0.85
f, "", 0, "Inner portion
of y-
range in sector that is not used in searching
for extrapolated track candidates")
94AddOptionRTC(extrapolationTrackingYRangeLower,
float, 0.85
f, "", 0, "Inner portion
of y-
range in sector that is not used in searching
for extrapolated track candidates")
95AddOptionRTC(trackFollowingYFactor,
float, 4.
f, "", 0, "Weight
of y residual vs
z residual in tracklet constructor")
96AddOptionRTC(trackMergerFactor2YS,
float, 1.5
f * 1.5
f, "", 0, "factor2YS
for track merging")
97AddOptionRTC(trackMergerFactor2ZT,
float, 1.5
f * 1.5
f, "", 0, "factor2ZT
for track merging")
98AddOptionRTC(trackMergerFactor2K,
float, 2.0
f * 2.0
f, "", 0, "factor2K
for track merging")
99AddOptionRTC(trackMergerFactor2General,
float, 3.5
f * 3.5
f, "", 0, "General factor
for track merging")
100AddOptionRTC(rejectEdgeClustersMargin,
float, 0.
f, "", 0, "Margin in cm
of Y position when rejecting edge
clusters based on uncorrected track Y")
101AddOptionRTC(rejectEdgeClustersSigmaMargin,
float, 0.
f, "", 0, "Margin factor
for trackSigmaY when rejecting edge
clusters based on uncorrected track Y")
103AddOptionRTC(trackletMinSharedNormFactor,
float, 0.
f, "", 0, "Max shared defined as trackletMinSharedNormFactor*
max(current_nhits,trackletMinSharedNormFactor*minHits,1)")
104AddOptionRTC(maxTimeBinAboveThresholdIn1000Bin, uint16_t, 500, "", 0, "Except pad from cluster finding if total number
of charges in
a fragment is above this baseline (disable = 0)")
105AddOptionRTC(maxConsecTimeBinAboveThreshold, uint16_t, 200, "", 0, "Except pad from cluster finding if number
of consecutive charges in
a fragment is above this baseline (disable = 0)")
106AddOptionRTC(noisyPadSaturationThreshold, uint16_t, 700, "", 0, "Threshold where
a timebin is considered saturated, disabling the noisy pad check
for that pad")
107AddOptionRTC(occupancyMapTimeBins, uint16_t, 16, "", 0, "Number
of timebins per histogram bin
of occupancy map (0 = disable occupancy map)")
108AddOptionRTC(occupancyMapTimeBinsAverage, uint16_t, 0, "", 0, "Number
of timebins +/- to use
for the averaging")
109AddOptionRTC(trackFitCovLimit, uint16_t, 1000, "", 0, "Abort fit when
y/
z cov exceed the limit")
110AddOptionRTC(addErrorsCECrossing, uint8_t, 0, "", 0, "Add additional custom track errors when crossing CE, 0 = no custom errors but att 0.5 to sigma_z^2, 1 = only to cov diagonal, 2 = preserve correlations")
111AddOptionRTC(trackMergerMinPartHits, uint8_t, 10, "", 0, "Minimum hits
of track part during track merging")
112AddOptionRTC(trackMergerMinTotalHits, uint8_t, 20, "", 0, "Minimum total
of track part during track merging")
113AddOptionRTC(mergerCERowLimit, uint8_t, 5, "", 0, "Distance from
first / last
row in order to attempt merging accross CE")
114AddOptionRTC(mergerLooperQPtB5Limit, uint8_t, 4, "", 0, "Min Q/Pt (@
B=0.5T) to run special looper merging procedure")
115AddOptionRTC(mergerLooperSecondHorizontalQPtB5Limit, uint8_t, 2, "", 0, "Min Q/Pt (@
B=0.5T) to attempt second horizontal
merge between sectors after
a vertical
merge was found")
116AddOptionRTC(trackFollowingMaxRowGap, uint8_t, 4, "", 0, "Maximum number
of consecutive
rows without hit in track following")
117AddOptionRTC(trackFollowingMaxRowGapSeed, uint8_t, 2, "", 0, "Maximum number
of consecutive
rows without hit in track following during fit
of seed")
118AddOptionRTC(trackFitMaxRowMissedHard, uint8_t, 10, "", 0, "Hard limit
for number
of missed
rows in fit / propagation")
119AddOptionRTC(extrapolationTrackingRowRange, uint8_t, 45, "", 0, "Number
of rows from the upped/lower limit to search
for extrapolated track candidates in
for")
120AddOptionRTC(extrapolationTrackingMinRows, uint8_t, 10, "", 0, "Min
num of rows an additional extrapolated track must span over")
121AddOptionRTC(extrapolationTrackingMinHits, uint8_t, 8, "", 0, "Min
num of hits
for an additional extrapolated track")
123AddOptionRTC(cfQMaxCutoff, uint8_t, 3, "", 0, "
Cluster Finder rejects cluster with qmax below or equal to this threshold")
124AddOptionRTC(cfQTotCutoff, uint8_t, 5, "", 0, "
Cluster Finder rejects cluster with qtot below or equal to this threshold")
125AddOptionRTC(cfQMaxCutoffSingleTime, uint8_t, 0, "", 0, "
Cluster Finder rejects cluster with qMax below or equal to this threshold
for single pad or single
time bin
clusters")
126AddOptionRTC(cfQMaxCutoffSinglePad, uint8_t, 0, "", 0, "
Cluster Finder rejects cluster with qMax below or equal to this threshold
for single pad or single pad bin
clusters")
130AddOptionRTC(cfNoiseSuppressionEpsilonRelative, uint8_t, 76, "", 0, "
Cluster Finder: Difference between peak and
charge for the
charge to
count as
a minima during noise suppression, relative as fraction
of 255")
131AddOptionRTC(nWays, uint8_t, 3, "", 0, "Do N fit passes in final fit
of merger")
133AddOptionRTC(trackFitRejectMode, int8_t, 5, "", 0, "0: no limit on rejection or missed hits, >0: break after
n rejected hits, <0: reject at
max -
n hits")
134AddOptionRTC(rejectIFCLowRadiusCluster, uint8_t, 0, "", 0, "Reject
clusters that get the IFC
mask error during refit")
135AddOptionRTC(dEdxTruncLow, uint8_t, 2, "", 0, "Low truncation threshold, fraction
of 128")
136AddOptionRTC(dEdxTruncHigh, uint8_t, 77, "", 0, "High truncation threshold, fraction
of 128")
137AddOptionRTC(extrapolationTracking, int8_t, 1, "", 0, "Enable Extrapolation Tracking (prolong tracks to adjacent sectors to find
short segments)")
138AddOptionRTC(disableRefitAttachment, uint8_t, 0, "", 0, "Bitmask to disable certain
attachment steps during refit (1:
attachment, 2: propagation, 4: loop following, 8: mirroring)")
140AddOptionRTC(mergeLoopersAfterburner, uint8_t, 1, "", 0, "Run afterburner
for additional looper merging")
142AddOptionRTC(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))")
146AddOptionRTC(dropLoopers, uint8_t, 0, "", 0, "Drop looping tracks starting from second loop")
147AddOptionRTC(mergerCovSource, uint8_t, 2, "", 0, "Method to obtain covariance in track merger: 0 = simple filterErrors method, 1 = use cov from track following, 2 = refit (default)")
148AddOptionRTC(mergerInterpolateErrors, uint8_t, 1, "", 0, "Use interpolation instead
of extrapolation
for chi2 based cluster rejection")
149AddOptionRTC(mergeCE, uint8_t, 1, "", 0, "Merge tracks accross the central electrode")
150AddOptionRTC(retryRefit, int8_t, 1, "", 0, "Retry refit with seeding errors and without cluster rejection when fit fails (=2 means retry in same kernel, =1
for separate kernel")
151AddOptionRTC(looperInterpolationInExtraPass, int8_t, -1, "", 0, "Perform looper interpolation in an extra pass")
152AddOptionRTC(dropSecondaryLegsInOutput, int8_t, 1, "", 0, "Do not store secondary legs
of looping track in
TrackTPC")
155AddOptionRTC(adddEdxSubThresholdClusters, int8_t, 1, "", 0, "Add sub threshold
clusters in TPC dEdx computation")
157AddOptionRTC(rejectEdgeClustersInSeeding, int8_t, 0, "", 0, "Reject edge
clusters based on uncorrected track Y during seeding")
158AddOptionRTC(rejectEdgeClustersInTrackFit, int8_t, 0, "", 0, "Reject edge
clusters based on uncorrected track Y during track fit")
159AddOptionArray(PID_remap, int8_t, 9, (0, 1, 2, 3, 4, 5, 6, 7, 8), "", 0, "Remap Ipid to PID_reamp[Ipid] (no remap if<0)")
163BeginSubConfig(GPUSettingsRecTRD, trd, configStandalone.
rec, "RECTRD", 0, "Reconstruction settings", rec_trd)
164AddOptionRTC(minTrackPt,
float, .5
f, "", 0, "Min Pt
for tracks to be propagated through the TRD")
166AddOptionRTC(penaltyChi2,
float, 12.
f, "", 0, "Chi2 penalty
for no available TRD tracklet (effective chi2 cut
value)")
168AddOptionRTC(chi2SeparationCut,
float, 2.5
f, "", 0, "Minimum difference between chi2
of winner
match and chi2
of second best
match")
169AddOptionRTC(nSigmaTerrITSTPC,
float, 4.
f, "", 0, "Number
of sigmas
for ITS-TPC track
time error estimate")
170AddOptionRTC(addTimeRoadITSTPC,
float, 2.5
f, "", 0, "Increase
time search road by X us
for ITS-TPC tracks")
171AddOptionRTC(extraRoadY,
float, 5.
f, "", 0, "Addition to search road around track prolongation along Y in cm")
172AddOptionRTC(extraRoadZ,
float, 10.
f, "", 0, "Addition to search road around track prolongation along Z in cm")
173AddOptionRTC(trkltResRPhiIdeal,
float, 1.
f, "", 0, "Optimal tracklet rphi resolution in cm (in case phi
of track = lorentz
angle)")
174AddOptionRTC(maxChi2Red,
float, 99.
f, "", 0, "maximum chi2 per attached tracklet
for TRD tracks TODO: currently effectively disabled, requires tuning")
175AddOptionRTC(applyDeflectionCut, uint8_t, 0, "", 0, "Set to 1 to
enable tracklet selection based on deflection")
176AddOptionRTC(stopTrkAfterNMissLy, uint8_t, 6, "", 0, "Abandon track following after N layers without
a TRD
match")
178AddOptionRTC(matCorrType, uint8_t, 2, "", 0, "Material correction to use: 0 - none, 1 - TGeo, 2 - matLUT")
179AddOptionRTC(pileupFwdNBC, uint8_t, 80, "", 0, "Post-trigger Pile-up integration
time in BCs")
180AddOptionRTC(pileupBwdNBC, uint8_t, 80, "", 0, "Pre-trigger Pile-up integration
time in BCs")
185BeginSubConfig(GPUSettingsRecDynamic, dyn, configStandalone.
rec, "RECDYN", 0, "Reconstruction settings", rec_dyn)
192AddOptionRTC(bz0Pt10MeV, uint8_t, 60, "", 0, "Nominal Pt to set when bz = 0 (in 10 MeV)")
194AddOptionRTC(fitPropagateBzOnly, int8_t, -1, "", 0, "Propagate using Bz only
for n passes")
196AddOptionRTC(trackingRefitGPUModel, int8_t, 1, "", 0, "Use GPU track model
for the Global Track
Refit")
197AddCustomCPP(
void SetMinTrackPtB5(
float v) { maxTrackQPtB5 =
v > 0.001f ? (1.f /
v) : (1.f / 0.001f); })
207AddOption(cacheOutput,
bool,
false,
"", 0,
"Cache RTC compilation results")
208AddOption(optConstexpr,
bool, true, "", 0, "Replace constant variables by static constexpr expressions")
210AddOption(compilePerKernel,
bool, true, "", 0, "Run
one RTC compilation per kernel")
212AddOption(runTest, int32_t, 0, "", 0, "Do not run the actual benchmark, but just
test RTC compilation (1 full
test, 2
test only compilation)")
213AddOption(cacheMutex,
bool, true, "", 0, "Use
a file lock to serialize
access to the cache folder")
214AddOption(ignoreCacheValid,
bool, false, "", 0, "If set, allows to use RTC cached code files even if they are not valid
for the current
source code / parameters")
218BeginSubConfig(GPUSettingsProcessingParam,
param, configStandalone.proc, "PARAM", 0, "Processing settings", proc_param)
221AddOption(tpcTriggerHandling,
bool, true, "", 0, "Enable TPC trigger handling")
225BeginSubConfig(GPUSettingsProcessing, proc, configStandalone, "PROC", 0, "Processing settings", proc)
226AddOption(deviceNum, int32_t, -1, "gpuDevice", 0, "Set GPU device to use (-1: automatic, -2:
for round-robin
usage in timeslice-pipeline)")
227AddOption(gpuDeviceOnly,
bool, false, "", 0, "Use only GPU as device (
i.e. no
CPU for OpenCL)")
228AddOption(globalInitMutex,
bool, false, "", 0, "Use global mutex to synchronize initialization
of multiple GPU instances")
229AddOption(stuckProtection, int32_t, 0, "", 0, "Timeout in us, When AMD GPU is stuck, just continue processing and skip tracking, do not crash or stall the
chain")
230AddOption(trdNCandidates, int32_t, 3, "", 0, "Number
of branching track candidates
for single input track during propagation")
231AddOption(trdTrackModelO2,
bool, false, "", 0, "Use O2 track model instead
of GPU track model
for TRD tracking")
235AddOption(serializeGPU, int8_t, 0, "", 0, "Synchronize after each kernel call (bit 1) and DMA transfer (bit 2) and identify failures")
236AddOption(recoTaskTiming,
bool, 0, "", 0, "Perform summary timing after whole reconstruction tasks")
237AddOption(deterministicGPUReconstruction, int32_t, -1, "", 0, "Make
CPU and GPU
debug output comparable (sort / skip concurrent parts), -1 = automatic if debugLevel >= 6")
238AddOption(showOutputStat,
bool, false, "", 0, "Print some track
output statistics")
239AddOption(runCompressionStatistics,
bool, false, "compressionStat", 0, "Run statistics and verification
for cluster compression")
240AddOption(resetTimers, int8_t, 1, "", 0, "Reset timers every
event")
241AddOption(deviceTimers,
bool, true, "", 0, "Use device timers instead
of host-based
time measurement")
242AddOption(keepAllMemory,
bool, false, "", 0, "Allocate all
memory on both device and host, and do not reuse")
244AddOption(disableMemoryReuse,
bool, false, "", 0, "Disable
memory reusage (
for debugging only)")
245AddOption(memoryAllocationStrategy, int8_t, 0, "", 0, "
Memory Allocation Stragegy (0 = auto, 1 = individual allocations, 2 = single global allocation)")
246AddOption(forceMemoryPoolSize, uint64_t, 1, "memSize", 0, "Force
size of allocated GPU / page locked host
memory",
min(0ul))
247AddOption(forceHostMemoryPoolSize, uint64_t, 0, "hostMemSize", 0, "Force
size of allocated host page locked host
memory (overriding memSize)",
min(0ul))
248AddOption(memoryScalingFactor,
float, 1.
f, "", 0, "Factor to apply to all
memory scalers")
249AddOption(conservativeMemoryEstimate,
bool, false, "", 0, "Use some more conservative defaults
for larger
buffers during TPC processing")
250AddOption(tpcInputWithClusterRejection, uint8_t, 0, "", 0, "Indicate whether the TPC input is CTF
data with cluster rejection, to tune
buffer estimations")
252AddOption(registerStandaloneInputMemory,
bool, false, "registerInputMemory", 0, "Automatically register input
memory buffers for the GPU")
253AddOption(nHostThreads, int32_t, -1, "nThreads", 't', "Number
of host threads to run (-1: all)",
min(-1),
message("Using %s
CPU threads"))
254AddOption(ompThreads, int32_t, -1, "", 0, "Deprecated synonym
for nHostThreads")
255AddOption(inKernelParallel, uint8_t, 2, "", 0, "Parallelize with multi-threading inside kernels on the host instead
of over TPC sectors, 2
for nested parallelization over TPC sectors and inside kernels")
256AddOption(autoAdjustHostThreads,
bool, true, "", 0, "Auto-adjust number
of OMP threads, decreasing the number
for small input
data")
257AddOption(nStreams, int8_t, 8, "", 0, "Number
of GPU streams / command queues")
258AddOption(nTPCClustererLanes, int8_t, -1, "", 0, "Number
of TPC clusterers that can run in parallel (-1 = autoset)")
259AddOption(overrideClusterizerFragmentLen, int32_t, -1, "", 0, "Force the cluster
max fragment
len to
a certain
value (-1 = autodetect)")
260AddOption(trackletSelectorSectors, int8_t, -1, "", 0, "Number
of sectors to processes in parallel at
max")
261AddOption(trackletConstructorInPipeline, int8_t, -1, "", 0, "Run tracklet constructor in the pipeline")
262AddOption(trackletSelectorInPipeline, int8_t, -1, "", 0, "Run tracklet selector in the pipeline")
263AddOption(delayedOutput,
bool, true, "", 0, "Delay
output to be parallel to track fit")
264AddOption(mergerSortTracks, int8_t, -1, "", 0, "Sort track indizes
for GPU track fit")
265AddOption(alternateBorderSort, int8_t, -1, "", 0, "Alternative implementation
for sorting
of border tracks")
266AddOption(tpcCompressionGatherMode, int8_t, -1, "", 0, "TPC Compressed
Clusters Gather
Mode (0: DMA transfer gather gpu to host, 1: serial DMA to host and gather by copy on
CPU, 2. gather via GPU kernal DMA
access, 3. gather on GPU via kernel, dma afterwards")
267AddOption(tpcCompressionGatherModeKernel, int8_t, -1, "", 0, "TPC Compressed
Clusters Gather
Mode Kernel (0: unbufferd, 1-3: buffered, 4: multi-block)")
268AddOption(tpccfGatherKernel,
bool, true, "", 0, "Use
a kernel instead
of the DMA engine to gather the
clusters")
269AddOption(doublePipeline,
bool, false, "", 0, "Double pipeline
mode")
270AddOption(doublePipelineClusterizer,
bool, true, "", 0, "Include the input
data of the clusterizer in the
double-pipeline")
271AddOption(prefetchTPCpageScan, int8_t, 0, "", 0, "Prefetch Data
for TPC page scan in
CPU cache")
272AddOption(runMC,
bool, false, "", 0, "Process MC labels")
273AddOption(runQA, int32_t, 0, "qa", 'q', "Enable tracking
QA (negative number to provide bitmask
for QA tasks)",
message("Running
QA: %s"), def(1))
275AddOption(outputSharedClusterMap,
bool, false, "", 0, "Ship optional shared cluster map as
output for further use")
276AddOption(disableTPCNoisyPadFilter,
bool, false, "", 0, "Disables all TPC noisy pad filters (Not the normal noise
filter!)")
278AddOption(clearO2OutputFromGPU,
bool, false, "", 0, "Free the GPU
memory used
for O2
output after copying to host, prevents further O2 processing on the GPU")
279AddOption(ignoreNonFatalGPUErrors,
bool, false, "", 0, "Continue running after having received non fatal GPU errors, e.
g. abort due to overflow")
280AddOption(tpcIncreasedMinClustersPerRow, uint32_t, 0, "", 0, "Impose
a minimum
buffer size for the clustersPerRow during TPC clusterization")
282AddOption(o2PropagatorUseGPUField,
bool, true, "", 0, "Makes the internal O2 propagator use the fast GPU polynomial
b field approximation")
283AddOption(willProvideO2PropagatorLate,
bool, false, "", 0, "Disable check
for availability
of o2 propagator and MatLUT at initialization")
284AddOption(calibObjectsExtraMemorySize, uint32_t, 10u * 1024 * 1024, "", 0, "Extra spare
memory added
for calibration
object buffer, to allow fow updates with larger
objects")
285AddOption(fastTransformObjectsMinMemorySize, uint32_t, 400u * 1024 * 1024, "", 0, "Extra spare
memory added
for calibration
object buffer, to allow fow updates with larger
objects")
286AddOption(lateO2MatLutProvisioningSize, uint32_t, 0u, "", 0, "
Memory size to reserve
for late provisioning
of matlut table")
287AddOption(throttleAlarms,
bool, false, "", 0, "Throttle
rate at which alarms are sent to the InfoLogger in online runs")
288AddOption(outputSanityCheck,
bool, false, "", 0, "Run some simple sanity checks finding errors in the
output")
289AddOption(tpcSingleSector, int32_t, -1, "", 0, "Restrict TPC processing to
a single sector")
290AddOption(tpcDownscaledEdx, uint8_t, 0, "", 0, "If != 0, downscale dEdx processing (if
enabled) to
x %")
291AddOption(tpcMaxAttachedClustersPerSectorRow, uint32_t, 51000, "", 0, "Maximum number
of TPC attached
clusters which can be decoded per SectorRow")
292AddOption(tpcUseOldCPUDecoding,
bool, false, "", 0, "Enable old
CPU-based TPC decoding")
293AddOption(tpcApplyCFCutsAtDecoding,
bool, false, "", 0, "Apply cluster cuts from clusterization during decoding
of compressed
clusters")
295AddOption(RTCcacheFolder,
std::
string, "./rtccache/", "", 0, "Folder in which the cache
file is stored")
296AddOption(RTCprependCommand,
std::
string, "", "", 0, "Prepend RTC compilation
commands by this
string")
297AddOption(RTCoverrideArchitecture,
std::
string, "", "", 0, "Override arhcitecture part
of RTC compilation command line")
298AddOption(oclPlatformNum, int32_t, -1, "", 0, "Platform to use, in case the backend provides multiple platforms (OpenCL only, -1 = auto-select, -2 query all platforms (also incompatible))")
299AddOption(oclCompileFromSources,
bool, false, "", 0, "Compile OpenCL
binary from included
source code instead
of using included spirv code")
301AddOption(printSettings,
bool, false, "", 0, "Print all settings when initializing")
309#ifndef GPUCA_GPUCODE_DEVICE
312AddOption(animationMode, int32_t, 0,
"", 0,
"")
313AddOption(smoothPoints,
bool, true, "", 0, "Apply smoothing to points")
314AddOption(smoothLines,
bool, false, "", 0, "Apply smoothing to lines")
317AddOption(drawLinks,
bool, false, "", 0, "Highlight links")
318AddOption(drawInitLinks,
bool, false, "", 0, "Highlight cleaned-up links")
319AddOption(drawSeeds,
bool, false, "", 0, "Highlight seeds")
321AddOption(drawTracks,
bool, false, "", 0, "Highlight sector tracks")
322AddOption(drawExtrapolatedTracks,
bool, false, "", 0, "Highlight global sector tracks prolonged into adjacent sector")
323AddOption(drawFinal,
bool, false, "", 0, "Highlight final tracks")
325AddOption(drawSector, int32_t, -1, "", 0, "Show individual sector")
326AddOption(drawRelatedSectors, int32_t, 0, "", 0, "Show related sectors (if drawSector != -1)")
327AddOption(drawGrid, int32_t, 0, "", 0, "Highlight grid")
328AddOption(propagateTracks, int32_t, 0, "", 0, "Propagate final tracks further (inward / outward / show MC tracks)")
329AddOption(showCollision, int32_t, -1, "", 0, "Show only individual collision")
330AddOption(colorCollisions, int32_t, 0, "", 0, "Distinguish collisions in timeframe by
color")
334AddOption(drawTPC,
bool, true, "", 0, "Enable drawing TPC
data")
335AddOption(drawTRD,
bool, true, "", 0, "Enabale drawing TRD
data")
336AddOption(drawTOF,
bool, true, "", 0, "Enabale drawing TOF
data")
337AddOption(drawITS,
bool, true, "", 0, "Enabale drawing ITS
data")
338AddOption(drawField,
bool, false, "", 0, "Enable drawing magnetic field")
339AddOption(bFieldStepSize,
float, 5.0
f, "", 0, "Set field line step
size")
340AddOption(bFieldStepCount, int32_t, 100, "", 0, "Set field line step
count")
341AddOption(bFieldLinesCount, int32_t, 2000, "", 0, "Set field lines
count")
342AddOption(invertColors,
bool, false, "", 0, "Invert colors")
347BeginSubConfig(GPUSettingsDisplayHeavy, heavy, configStandalone.display, "GLH", 0, "Heavy OpenGL display settings", display_heavy)
348AddOption(drawTPCTracks,
bool, true, "", 0, "Show tracks with TPC contribution")
349AddOption(drawITSTracks,
bool, true, "", 0, "Show tracks with ITS contribution")
350AddOption(drawTRDTracks,
bool, true, "", 0, "Show tracks with TRD contribution")
351AddOption(drawTOFTracks,
bool, true, "", 0, "Show tracks with TOF contribution")
353AddOption(propagateLoopers,
bool, false, "", 0, "Enabale propagation
of loopers")
356AddOption(separateExtrapolatedTracks,
bool, false, "", 0, "Draw track
segments propagated to adjacent sectors separately")
357AddOption(splitCETracks, int8_t, -1, "", 0, "Split CE tracks when they cross the central electrode (-1 =
for triggered
data)")
362AddOption(hideRejectedTracks, int32_t, 1, "", 0, "Hide rejected tracks")
364AddOption(trackFilter, int32_t, 0, "", 0, "Apply
filter on tracks to be displayed")
365AddOption(projectXY, int32_t, 0, "", 0, "Project everything on the XY-plane")
366AddOption(xAdd,
float, 0, "", 0, "Separate sectors, increase X coordinate")
367AddOption(zAdd,
float, 0, "", 0, "Separate sides, increase Z coordinate")
372BeginSubConfig(GPUSettingsDisplayRenderer, renderer, configStandalone.display, "GLR", '
g', "Camera / window / renderer OpenGL display settings", display_camera)
373AddOption(camLookOrigin,
bool, false, "", 0, "Make the camera look at the origin")
374AddOption(camYUp,
bool, false, "", 0, "Orient the camera such that the
y-axis is always upwards")
378AddOption(openGLCore,
bool, false, "", 0, "Use renderer
path for OpenGL core profile")
379AddOption(drawQualityMSAA, int32_t, 0, "", 0, "MultiSample Anti Aliasing")
380AddOption(drawQualityDownsampleFSAA, int32_t, 0, "", 0, "Downsampling Anti Aliasing")
381AddOption(drawQualityVSync,
bool, true, "", 0, "Enable Vertical Sync")
382AddOption(maxFPSRate, int32_t, 0, "", 0, "Do not limit FPS but run at maximum possible
rate")
383AddOption(useGLIndirectDraw,
bool, true, "", 0, "Use OpenGL
indirect draws to reduce number
of draw calls")
384AddOption(screenshotScaleFactor, int32_t, 1, "", 0, "Resolution scale factor when taking screenshots")
385AddOption(fov, int32_t, 45, "", 0, "Display FOV")
390BeginSubConfig(GPUSettingsDisplayVulkan, vulkan, configStandalone.display, "GLV", 0, "Vulkan display settings", display_vulkan)
391AddOption(nFramesInFlight, int32_t, 0, "", 0, "Max number
of render frames in flight (0 = as many as swapchain images)")
392AddOption(uniformBuffersInDeviceMemory,
bool, 1, "", 0, "Have uniform
buffers in host-accessible device
memory")
393AddOption(forceDevice, int32_t, -1, "", 0, "Force Vulkan device number to use")
398BeginSubConfig(GPUSettingsDisplay, display, configStandalone, "GL", '
g', "OpenGL display settings", display)
400AddOption(font,
std::
string, "monospace", "", 0, "Font (search patter used
for Fontconfig)")
402AddOption(smoothFont, int32_t, -1, "", 0, "Smoth font when rendering (-1
for auto-select based on
size")
403AddOption(noFreetype,
bool, false, "", 0, "Do not use Freetype
for font rendering (can only draw text if supported by frontend)")
404AddOption(displayRenderer,
std::
string, "auto", "renderer", 0, "Renderer
for event display: opengl | vulkan | auto")
405AddOption(displayFrontend,
std::
string, "auto", "displayFrontend", 0, "Frontend to use
for event display: auto | win32 | x11 | glut | glfw | wayland")
416AddOptionVec(compareInputs,
std::
string, "QAinput", 0, "
Read histogram from these input files and include them in the
output plots")
417AddOptionVec(compareInputNames,
std::
string, "QAinputName", 0, "Legend entries
for data from comparison histogram files")
420AddOption(inputHistogramsOnly,
bool, false, "", 0, "Do not run tracking, but just create PDFs from input root files")
421AddOption(strict,
bool, true, "", 0, "Strict
QA mode: Only consider resolution
of tracks where the fit ended within 5 cm
of the
reference, and remove outliers.")
423AddOption(maxResX,
float, 1e6f, "", 0, "Maxmimum X (~radius)
for reconstructed track position to take into accound
for resolution
QA in cm")
424AddOption(recThreshold,
float, 0.9
f, "", 0, "Compute the efficiency including impure tracks with fake contamination")
425AddOption(resPrimaries, int32_t, 0, "", 0, "0: Resolution
for all tracks, 1: only
for primary tracks, 2: only
for non-primaries", def(1))
426AddOption(filterCharge, int32_t, 0, "", 0, "Filter
for positive (+1) or negative (-1)
charge")
427AddOption(filterPID, int32_t, -1, "", 0, "Filter
for Particle Type (0 Electron, 1 Muon, 2 Pion, 3 Kaon, 4 Proton)")
428AddOption(nativeFitResolutions,
bool, false, "", 0, "Create resolution histograms in the native fit
units (sin(phi), tan(lambda), Q/Pt)")
429AddOption(enableLocalOutput,
bool, true, "", 0, "Enable normal
output to local PDF files / console")
431AddOption(writeMCLabels,
bool, false, "", 0, "Store mc labels to
file for later matching")
432AddOption(writeRootFiles,
bool, false, "", 0, "Create
ROOT canvas files")
434AddOption(matchDisplayMinPt,
float, 0, "", 0, "Minimum Pt
of a matched track to be displayed")
435AddOption(noMC,
bool, false, "", 0, "Force running
QA without MC labels even if present")
436AddOption(shipToQC,
bool, false, "", 0, "Do not write
output files but ship histograms
for QC")
437AddOption(shipToQCAsCanvas,
bool, false, "", 0, "Send TCanvases with full layout to QC instead
of individual histograms")
438AddOption(clusterRejectionHistograms,
bool, false, "", 0, "
Fill histograms with cluster rejection statistics")
439AddOption(histMaxNClusters, uint32_t, 500000000, "", 0, "Maximum number
of clusters in rejection histograms")
440AddShortcut("
compare", 0, "--QAinput", "Compare
QA histograms", "--qa", "--QAinputHistogramsOnly")
446BeginSubConfig(GPUSettingsTFSim,
TF, configStandalone,
"TF",
't',
"Timeframe settings")
447AddOption(nMerge, int32_t, 0, "", 0, "Merge
n events in
a timeframe",
min(0))
450AddOption(shiftFirstEvent,
bool, true, "", 0, "Also shift the
first event in
z when merging events to
a timeframe")
451AddOption(bunchSim, int32_t, 0, "", 0, "Simulate correct bunch interactions instead
of placing only the average number
of events.
A value [
n] > 1 sets TFlen
for [
n] collisions in average. (Incompatible to TFmerge)")
452AddOption(bunchCount, int32_t, 12, "", 0, "Number
of bunches per trainsort")
453AddOption(bunchSpacing, int32_t, 50, "", 0, "Spacing between benches in ns")
454AddOption(bunchTrainCount, int32_t, 48, "", 0, "Number
of bunch trains")
455AddOption(abortGapTime, int32_t, (3000), "", 0, "Length
of abort gap in ns")
456AddOption(interactionRate, int32_t, 50000, "", 0, "Instantaneous interaction
rate")
457AddOption(timeFrameLen, int64_t, (1000000000 / 44), "", 'l', "Timeframe
len in ns")
458AddOption(noBorder,
bool, false, "", 0, "Do not simulate
border effects (partial events)")
459AddOption(noEventRepeat, int32_t, 0, "", 0, "0: Place random events, 1: Place events in timeframe
one after another, 2: Place random events but do not repat", def(1))
460AddOption(nTotalEventsInTF, int32_t, 0, "", 0, "Total number
of collisions to be placed in the interior
of all
time frames (excluding borders)")
467BeginSubConfig(GPUSettingsEG, EG, configStandalone, "EG", 0, "Event generator settings")
468AddOption(numberOfTracks, int32_t, 1, "", 0, "Number
of tracks per generated
event")
473BeginConfig(GPUSettingsStandalone, configStandalone)
478AddOption(noprompt,
bool, true, "", 0, "Do prompt
for keypress before exiting")
479AddOption(continueOnError,
bool, false, "", 0, "Continue processing after an error")
480AddOption(seed, int32_t, -1, "", 0, "Set srand seed (-1: random)")
483AddOption(runs, int32_t, 1, "runs", '
r', "Number
of iterations to perform (repeat each
event)",
min(0))
484AddOption(runs2, int32_t, 1, "runsExternal", 0, "Number
of iterations to perform (repeat full processing)",
min(1))
485AddOption(runsInit, int32_t, 1, "", 0, "Number
of initial iterations excluded from average",
min(0))
486AddOption(eventsDir, const
char*, "pp", "events", 'e', "Directory with events to
process",
message("Reading events from Directory events/%s"))
487AddOption(noEvents,
bool, false, "", 0, "Run without
data (e.
g.
for field visualization)")
489AddOption(eventGenerator,
bool, false, "", 0, "Run
event generator")
490AddOption(cont,
bool, false, "", 0, "Process continuous timeframe
data, even if input is triggered")
493AddOption(cpuAffinity, int32_t, -1, "", 0, "Pin
CPU affinity to this
CPU core",
min(-1))
494AddOption(fifoScheduler,
bool, false, "", 0, "Use FIFO realtime scheduler",
message("Setting FIFO scheduler: %s"))
495AddOption(fpe,
bool, true, "", 0, "Trap on floating point exceptions")
496AddOption(flushDenormals,
bool, true, "", 0, "Enable FTZ and DAZ (Flush all denormals to zero)")
497AddOption(solenoidBzNominalGPU,
float, -1e6f, "", 0, "Field strength
of solenoid Bz in kGaus")
498AddOption(constBz,
bool, false, "", 0, "Force constand Bz")
500AddOption(encodeZS, int32_t, -1, "", 0, "Zero-Suppress TPC
data", def(1))
501AddOption(zsFilter, int32_t, -1, "", 0, "Apply Zero-Suppression when loading
digits and remove those below threshold", def(1))
502AddOption(zsVersion, int32_t, 2, "", 0, "ZS Version: 1 = 10-bit ADC
row based, 2 = 12-bit ADC
row based, 3 = improved link based, 4 = dense link based")
504AddOption(stripDumpedEvents,
bool, false, "", 0, "Remove redundant inputs (e.
g.
digits and ZS) before dumping")
505AddOption(printSettings, int32_t, 0, "", 0, "Print all settings", def(1))
507AddOption(testSyncAsync,
bool, false, "syncAsync", 0, "
Test first synchronous and then asynchronous processing")
509AddOption(timeFrameTime,
bool, false, "tfTime", 0, "Print some
debug information about
time frame processing
time")
510AddOption(controlProfiler,
bool, false, "", 0, "Issues GPU profiler stop and
start commands to profile only the relevant processing part")
511AddOption(preloadEvents,
bool, false, "", 0, "Preload events into host
memory before
start processing")
512AddOption(recoSteps, int32_t, -1, "", 0, "Bitmask
for RecoSteps")
513AddOption(recoStepsGPU, int32_t, -1, "", 0, "Bitmask
for RecoSteps")
514AddOption(runMerger, int32_t, 1, "", 0, "Run track merging / refit",
min(0),
max(1))
515AddOption(runTRD, int32_t, -1, "", 0, "Enable TRD processing")
516AddOption(rundEdx, int32_t, -1, "", 0, "Enable dEdx processing")
517AddOption(runCompression, int32_t, 1, "", 0, "Enable TPC Compression")
518AddOption(runTransformation, int32_t, 1, "", 0, "Enable TPC Transformation")
519AddOption(runRefit,
bool, false, "", 0, "Enable final track refit")
520AddOption(setO2Settings,
bool, false, "", 0, "Set O2 defaults
for outerParam,
output of shared cluster map, referenceX")
533#if !defined(QCONFIG_PARSER_CXX) && (defined(GPUCA_O2_LIB) || defined(GPUCA_O2_INTERFACE))
534BeginSubConfig(GPUSettingsO2, global, configStandalone,
"O2", 0,
"O2 workflow settings", global)
535AddOption(solenoidBzNominalGPU,
float, -1e6f,
"", 0,
"Field strength of solenoid Bz in kGaus")
536AddOption(constBz,
bool, false, "", 0, "force constant Bz
for tests")
537AddOption(setMaxTimeBin, int32_t, -2, "", 0, "maximum
time bin
of continuous
data, 0
for triggered events, -1
for automatic continuous
mode, -2
for automatic continuous / triggered")
538AddOption(overrideNHbfPerTF, int32_t, 0, "", 0, "Overrides the number
of HBF per
TF if != 0")
539AddOption(overrideTPCTimeBinCur, int32_t, 0, "", 0, "Overrides TPC
time bin cut if > 0")
541AddOption(forceDeviceType,
bool, true, "", 0, "force device
type, otherwise allows fall-back to
CPU")
542AddOption(synchronousProcessing,
bool, false, "", 0, "Apply performance shortcuts
for synchronous processing, disable unneeded steps")
543AddOption(
dump, int32_t, 0, "", 0, "Dump events
for standalone benchmark: 1 =
dump events, 2 =
dump events and skip processing in workflow")
544AddOption(display,
bool, false, "", 0, "Enable standalone gpu tracking visualizaion")
545AddOption(rundEdx, int32_t, -1, "", 0, "Enable/disable dEdx processing (-1
for autoselect)")
546AddOption(dEdxSplineTopologyCorrFile,
std::
string, "", "", 0, "File
name of the dE/dx spline track topology correction
file")
548AddOption(dEdxPolTopologyCorrFile,
std::
string, "", "", 0, "File
name of the dE/dx polynomial track topology correction")
549AddOption(dEdxDisableTopologyPol,
bool, false, "", 0, "Disable loading
of polynomial track topology correction from CCDB")
550AddOption(dEdxDisableThresholdMap,
bool, false, "", 0, "Disable loading
of threshold map from CCDB")
551AddOption(dEdxDisableGainMap,
bool, false, "", 0, "Disable loading
of gain map from CCDB")
552AddOption(dEdxDisableResidualGainMap,
bool, false, "", 0, "Disable loading
of residual gain map from CCDB")
553AddOption(dEdxDisableResidualGain,
bool, false, "", 0, "Disable loading
of residual dE/dx gain correction from CCDB")
554AddOption(dEdxUseFullGainMap,
bool, false, "", 0, "Enable using the full gain map
for correcting the cluster
charge during calculation
of the dE/dx")
558AddOption(gainCalibFile,
std::
string, "", "", 0, "File
name of TPC pad gain calibration")
559AddOption(gainCalibDisableCCDB,
bool, false, "", 0, "Disabling loading the TPC pad gain calibration from the CCDB")
560AddOption(thresholdCalibFile,
std::
string, "", "", 0, "File
name of TPC zero supression threshold map")
563AddOption(mutexMemReg,
bool, false, "", 0, "Global mutex to serialize GPU
memory registration")
564AddOption(printSettings, int32_t, 0, "", 0, "Print all settings", def(1))
566AddOption(benchmarkMemoryRegistration,
bool, false, "", 0, "Time-benchmark
for memory registration")
567AddOption(registerSelectedSegmentIds, int32_t, -1, "", 0, "Register only
a specific managed shm
segment id (-1 = all)")
568AddOption(disableCalibUpdates,
bool, false, "", 0, "Disable all calibration updates")
569AddOption(partialOutputForNonFatalErrors,
bool, false, "", 0, "In case
of a non-fatal error that is ignored (ignoreNonFatalGPUErrors=true), forward the partial
output that was created instead
of shipping an
empty TF")
570AddOption(checkFirstTfOrbit,
bool, false, "", 0, "Check consistency
of firstTfOrbit")
571AddOption(tpcTriggeredMode,
bool, false, "", 0, "In case we have triggered TPC
data, this must be set to true")
572AddOption(zsOnTheFlyDigitsFilter,
bool, false, "", 0, "Run on the fly
digits filter during zs encoding")
573AddOption(dumpBadTFs, int32_t, 0, "", 0, "Number
of bad timeframes (with decoding / processing) errors to
decode at
max")
574AddOption(dumpBadTFMode, int32_t, 0, "", 0, "Type
of dump to create: 0 = raw-reader compatible raw
file, 1 =
buffer-wise
dump, 2 = standalone-benchmark compatible
dump")
std::vector< std::string > objects
uint8_t lookup(const char input) noexcept
#define GPUCA_RTC_SPECIAL_CODE(...)
#define GPUCA_MIN_TRACK_PTB5_REJECT_DEFAULT
#define GPUCA_MIN_TRACK_PTB5_DEFAULT
#define AddOptionVec(name, type, optname, optnameshort, help,...)
#define AddOptionArray(name, type, count, default, optname, optnameshort, help,...)
#define BeginHiddenConfig(...)
#define AddCustomCPP(...)
#define AddSubConfig(name, instance)
#define AddVariableRTC(...)
#define AddOptionRTC(...)
#define AddOption(name, type, default, optname, optnameshort, help,...)
#define BeginSubConfig(name, instance, parent, preoptname, preoptnameshort, descr, o2prefix)
#define AddOptionSet(name, type, value, optname, optnameshort, help,...)
#define AddVariable(name, type, default)
#define BeginNamespace(...)
#define EndNamespace(...)
Class for time synchronization of RawReader instances.
HMPID cluster implementation.
bool match(const std::vector< std::string > &queries, const char *pattern)
void dump(const std::string what, DPMAP m, int verbose)
GLint GLint GLsizei GLint border
const GLuint GLenum const void * binary
GLuint const GLchar * name
GLsizei const GLubyte * commands
GLenum GLenum GLsizei const GLuint GLboolean enabled
GLboolean GLboolean GLboolean b
GLsizei GLsizei GLchar * source
GLsizei GLsizei GLfloat distance
GLsizei const GLfloat * value
GLint GLint GLsizei GLint GLenum GLenum type
GLenum GLsizei GLsizei GLint * values
GLenum GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const void * bits
GLint GLenum GLboolean GLsizei stride
GLenum GLsizeiptr fontSize
GLuint GLint GLboolean GLint GLenum access
GLint GLint GLint GLint GLint GLint GLint GLbitfield GLenum filter
GLsizei const GLchar *const * path
GLuint GLsizei const GLchar * message
GLenum GLenum GLsizei len
GLboolean GLboolean GLboolean GLboolean a
GLint GLint GLsizei GLint GLenum format
GLsizei const GLint * box
GLdouble GLdouble GLdouble z
GLsizeiptr const void GLenum usage
Defining PrimaryVertex explicitly as messageable.
GPUSettingsStandalone configStandalone
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
Defining DataPointCompositeObject explicitly as copiable.
FIXME: do not use data model tables.
#define BeginConfig(name, instance)
#define AddHelpAll(cmd, cmdshort)
std::vector< std::string > split(const std::string &str, char delimiter=',')
uint32_t truncate(int32_t j, uint32_t val)
std::unique_ptr< GPUDisplayFrontendInterface > eventDisplay
void compare(std::string_view s1, std::string_view s2)
coder decode(ctfImage, triggersD, clustersD)
std::vector< Cluster > clusters
for(int irof=0;irof< 1000;irof++)
std::vector< Digit > digits
std::vector< ReadoutWindowData > rows
std::vector< Tracklet64 > tracklets