Skip to content

Commit 0b8dfca

Browse files
committed
GPU: No need to store if Bz was constant as constant RTC param
1 parent 69169ba commit 0b8dfca

File tree

5 files changed

+10
-13
lines changed

5 files changed

+10
-13
lines changed

GPU/GPUTracking/Base/GPUParam.cxx

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ using namespace o2::gpu;
3030

3131
#include "utils/qconfigrtc.h"
3232

33-
void GPUParam::SetDefaults(float solenoidBz)
33+
void GPUParam::SetDefaults(float solenoidBz, bool assumeConstantBz)
3434
{
3535
memset((void*)this, 0, sizeof(*this));
3636
new (&rec) GPUSettingsRec;
@@ -84,7 +84,7 @@ void GPUParam::SetDefaults(float solenoidBz)
8484
#endif
8585

8686
par.dAlpha = 0.349066f;
87-
UpdateBzOnly(solenoidBz);
87+
UpdateBzOnly(solenoidBz, assumeConstantBz);
8888
par.dodEdx = 0;
8989

9090
constexpr float plusZmin = 0.0529937;
@@ -109,7 +109,6 @@ void GPUParam::SetDefaults(float solenoidBz)
109109
SectorParam[i].AngleMax = SectorParam[i].Alpha + par.dAlpha / 2.f;
110110
}
111111

112-
par.assumeConstantBz = false;
113112
par.toyMCEventsFlag = false;
114113
par.continuousTracking = false;
115114
continuousMaxTimeBin = 0;
@@ -120,8 +119,7 @@ void GPUParam::SetDefaults(float solenoidBz)
120119
void GPUParam::UpdateSettings(const GPUSettingsGRP* g, const GPUSettingsProcessing* p, const GPURecoStepConfiguration* w, const GPUSettingsRecDynamic* d)
121120
{
122121
if (g) {
123-
UpdateBzOnly(g->solenoidBzNominalGPU);
124-
par.assumeConstantBz = g->constBz;
122+
UpdateBzOnly(g->solenoidBzNominalGPU, g->constBz);
125123
par.toyMCEventsFlag = g->homemadeEvents;
126124
par.continuousTracking = g->grpContinuousMaxTimeBin != 0;
127125
continuousMaxTimeBin = g->grpContinuousMaxTimeBin == -1 ? GPUSettings::TPC_MAX_TF_TIME_BIN : g->grpContinuousMaxTimeBin;
@@ -143,12 +141,12 @@ void GPUParam::UpdateSettings(const GPUSettingsGRP* g, const GPUSettingsProcessi
143141
}
144142
}
145143

146-
void GPUParam::UpdateBzOnly(float newSolenoidBz)
144+
void GPUParam::UpdateBzOnly(float newSolenoidBz, bool assumeConstantBz)
147145
{
148146
bzkG = newSolenoidBz;
149147
bzCLight = bzkG * o2::gpu::gpu_common_constants::kCLight;
150148
polynomialField.Reset();
151-
if (par.assumeConstantBz) {
149+
if (assumeConstantBz) {
152150
GPUTPCGMPolynomialFieldManager::GetPolynomialField(GPUTPCGMPolynomialFieldManager::kUniform, bzkG, polynomialField);
153151
} else {
154152
GPUTPCGMPolynomialFieldManager::GetPolynomialField(bzkG, polynomialField);
@@ -158,7 +156,7 @@ void GPUParam::UpdateBzOnly(float newSolenoidBz)
158156

159157
void GPUParam::SetDefaults(const GPUSettingsGRP* g, const GPUSettingsRec* r, const GPUSettingsProcessing* p, const GPURecoStepConfiguration* w)
160158
{
161-
SetDefaults(g->solenoidBzNominalGPU);
159+
SetDefaults(g->solenoidBzNominalGPU, g->constBz);
162160
if (r) {
163161
rec = *r;
164162
if (rec.fitPropagateBzOnly == -1) {

GPU/GPUTracking/Base/GPUParam.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,10 +77,10 @@ struct GPUParam_t {
7777
struct GPUParam : public internal::GPUParam_t<GPUSettingsRec, GPUSettingsParam> {
7878

7979
#ifndef GPUCA_GPUCODE
80-
void SetDefaults(float solenoidBz);
80+
void SetDefaults(float solenoidBz, bool assumeConstantBz);
8181
void SetDefaults(const GPUSettingsGRP* g, const GPUSettingsRec* r = nullptr, const GPUSettingsProcessing* p = nullptr, const GPURecoStepConfiguration* w = nullptr);
8282
void UpdateSettings(const GPUSettingsGRP* g, const GPUSettingsProcessing* p = nullptr, const GPURecoStepConfiguration* w = nullptr, const GPUSettingsRecDynamic* d = nullptr);
83-
void UpdateBzOnly(float newSolenoidBz);
83+
void UpdateBzOnly(float newSolenoidBz, bool assumeConstantBz);
8484
void UpdateRun3ClusterErrors(const float* yErrorParam, const float* zErrorParam);
8585
#endif
8686

GPU/GPUTracking/Definitions/GPUSettingsList.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -652,7 +652,6 @@ EndConfig()
652652
// Derrived parameters used in GPUParam
653653
BeginHiddenConfig(GPUSettingsParam, param)
654654
AddVariableRTC(dAlpha, float, 0.f) // angular size
655-
AddVariableRTC(assumeConstantBz, int8_t, 0) // Assume a constant magnetic field
656655
AddVariableRTC(toyMCEventsFlag, int8_t, 0) // events were build with home-made event generator
657656
AddVariableRTC(continuousTracking, int8_t, 0) // Continuous tracking, estimate bz and errors for abs(z) = 125cm during seeding
658657
AddVariableRTC(dodEdx, int8_t, 0) // Do dEdx computation

GPU/GPUTracking/Interface/GPUO2InterfaceRefit.cxx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ GPUO2InterfaceRefit::GPUO2InterfaceRefit(const ClusterNativeAccess* cl, const Co
129129

130130
void GPUO2InterfaceRefit::updateCalib(const CorrectionMapsHelper* trans, float bzNominalGPU)
131131
{
132-
mParam->UpdateBzOnly(bzNominalGPU);
132+
mParam->UpdateBzOnly(bzNominalGPU, false);
133133
mRefit->SetFastTransformHelper(trans);
134134
}
135135

GPU/GPUTracking/Interface/GPUO2InterfaceUtils.cxx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ template <>
5151
void GPUO2InterfaceUtils::RunZSEncoder<DigitArray>(const DigitArray& in, std::unique_ptr<uint64_t[]>* outBuffer, uint32_t* outSizes, o2::raw::RawFileWriter* raw, const o2::InteractionRecord* ir, int32_t version, bool verify, float threshold, bool padding, std::function<void(std::vector<o2::tpc::Digit>&)> digitsFilter)
5252
{
5353
GPUParam param;
54-
param.SetDefaults(5.00668);
54+
param.SetDefaults(5.00668, false);
5555
o2::gpu::GPUReconstructionConvert::RunZSEncoder(in, outBuffer, outSizes, raw, ir, param, version, verify, threshold, padding, digitsFilter);
5656
}
5757
template <>

0 commit comments

Comments
 (0)