Skip to content

Commit b9eeed6

Browse files
shahor02chiarazampolli
authored andcommitted
Load CTP lumi by default, even if it is not used for corrections scaling
CTP Lumi is loaded (unless --disable-ctp-lumi-request explicitly passed) even if TPC IDC scaler is used for distortions rescaling. Can be extracted as CorrectionMapsHelper::getInstLumiCTP(), while the getInstLumi() will return whathever instantaneous rate is used for the corrections scaling (e.g. the same CTPLumi or IDC scaler for mLumiScaleType == 1 and 2 respectively). The TPCCorrMap.lumiInst now overrides only the CTP Lumi (if !=0) but does not affect IDC scaler. Therefore it cannot be used anymore to disable the corrections via negative value. Instead, TPCCorrMap.meanLumi < 0 will disable all corrections. Similarly, the TPCCorrMap.lumiInstFactor is now applied only to CTP Lumi but not to IDC scaler. Note that the TPCCorrMap.lumiInstFactor will be used as a multiplier also in the case of the overridden inst. CTP lumi, i.e. TPCCorrMap.lumiInst*TPCCorrMap.lumiInstFactor will be used as overridden CTP lumi.
1 parent 32ecd75 commit b9eeed6

5 files changed

Lines changed: 101 additions & 62 deletions

File tree

Detectors/TPC/calibration/include/TPCCalibration/CorrMapParam.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ struct CorrMapParam : public o2::conf::ConfigurableParamHelper<CorrMapParam> {
2828
float lumiInst = 0.; // override instantaneous lumi (if > 0) for TPC corr.map scaling, disable corrections if < 0"
2929
float lumiMean = 0.; // override TPC corr.map mean lumi (if > 0), disable corrections if < 0
3030
float lumiMeanRef = 0.; // override TPC corr.mapRef mean lumi (if > 0)"
31-
float lumiInstFactor = 1.; // scaling to apply to instantaneous lumi from CTP (but not corrmap-lumi-inst)
31+
float lumiInstFactor = 1.; // scaling to apply to instantaneous lumi from CTP (but not to IDC scaler)
3232
int ctpLumiSource = 0; // CTP lumi source: 0 = LumiInfo.getLumi(), 1 = LumiInfo.getLumiAlt()
3333

3434
O2ParamDef(CorrMapParam, "TPCCorrMap");

Detectors/TPC/calibration/include/TPCCalibration/CorrectionMapsLoader.h

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,10 @@ namespace tpc
3838
{
3939

4040
struct CorrectionMapsLoaderGloOpts {
41-
int lumiType = 0; ///< 0: no scaling, 1: CTP, 2: IDC
42-
int lumiMode = 0; ///< 0: classical scaling, 1: Using of the derivative map, 2: Using of the derivative map for MC
41+
int lumiType = 0; ///< what estimator to used for corrections scaling: 0: no scaling, 1: CTP, 2: IDC
42+
int lumiMode = 0; ///< what corrections method to use: 0: classical scaling, 1: Using of the derivative map, 2: Using of the derivative map for MC
4343
bool enableMShapeCorrection = false;
44+
bool requestCTPLumi = true; //< request CTP Lumi regardless of what is used for corrections scaling
4445

4546
bool needTPCScalersWorkflow() const
4647
{
@@ -72,8 +73,8 @@ class CorrectionMapsLoader : public o2::gpu::CorrectionMapsHelper
7273
static void addOption(std::vector<o2::framework::ConfigParamSpec>& options, o2::framework::ConfigParamSpec&& osp);
7374
static void addInput(std::vector<o2::framework::InputSpec>& inputs, o2::framework::InputSpec&& isp);
7475

75-
float mInstLumiFactor = 1.0; // multiplicative factor for inst. lumi
76-
int mCTPLumiSource = 0; // 0: main, 1: alternative CTP lumi source
76+
float mInstLumiCTPFactor = 1.0; // multiplicative factor for inst. lumi
77+
int mLumiCTPSource = 0; // 0: main, 1: alternative CTP lumi source
7778
std::unique_ptr<GPUCA_NAMESPACE::gpu::TPCFastTransform> mCorrMapMShape{nullptr};
7879
#endif
7980
};

Detectors/TPC/calibration/src/CorrectionMapsLoader.cxx

Lines changed: 49 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,8 @@ void CorrectionMapsLoader::extractCCDBInputs(ProcessingContext& pc)
5252
int dumRep = 0;
5353
o2::ctp::LumiInfo lumiObj;
5454
static o2::ctp::LumiInfo lumiPrev;
55-
if (getLumiScaleType() == 1 && mInstLumiOverride <= 0.) {
55+
56+
if (getLumiCTPAvailable() && mInstCTPLumiOverride <= 0.) {
5657
if (pc.inputs().get<gsl::span<char>>("CTPLumi").size() == sizeof(o2::ctp::LumiInfo)) {
5758
lumiPrev = lumiObj = pc.inputs().get<o2::ctp::LumiInfo>("CTPLumi");
5859
} else {
@@ -61,10 +62,14 @@ void CorrectionMapsLoader::extractCCDBInputs(ProcessingContext& pc)
6162
}
6263
lumiObj = lumiPrev;
6364
}
64-
setInstLumi(mInstLumiFactor * (mCTPLumiSource == 0 ? lumiObj.getLumi() : lumiObj.getLumiAlt()));
65-
} else if (getLumiScaleType() == 2 && mInstLumiOverride <= 0.) {
65+
setInstLumiCTP(mInstLumiCTPFactor * (mLumiCTPSource == 0 ? lumiObj.getLumi() : lumiObj.getLumiAlt()));
66+
if (getLumiScaleType() == 1) {
67+
setInstLumi(getInstLumiCTP());
68+
}
69+
}
70+
if (getLumiScaleType() == 2) {
6671
float tpcScaler = pc.inputs().get<float>("tpcscaler");
67-
setInstLumi(mInstLumiFactor * tpcScaler);
72+
setInstLumi(tpcScaler);
6873
}
6974
if (getUseMShapeCorrection()) {
7075
LOGP(info, "Setting M-Shape map");
@@ -80,6 +85,7 @@ void CorrectionMapsLoader::extractCCDBInputs(ProcessingContext& pc)
8085
if (!mScaleInverse) {
8186
updateInverse();
8287
}
88+
reportScaling();
8389
}
8490

8591
//________________________________________________________
@@ -99,9 +105,11 @@ void CorrectionMapsLoader::requestCCDBInputs(std::vector<InputSpec>& inputs, std
99105
LOG(fatal) << "Correction mode unknown! Choose either 0 (default) or 1 (derivative map) for flag corrmap-lumi-mode.";
100106
}
101107

102-
if (gloOpts.lumiType == 1) {
108+
if (gloOpts.requestCTPLumi) {
103109
addInput(inputs, {"CTPLumi", "CTP", "LUMI", 0, Lifetime::Timeframe});
104-
} else if (gloOpts.lumiType == 2) {
110+
}
111+
112+
if (gloOpts.lumiType == 2) {
105113
addInput(inputs, {"tpcscaler", o2::header::gDataOriginTPC, "TPCSCALER", 0, Lifetime::Timeframe});
106114
}
107115

@@ -126,9 +134,10 @@ void CorrectionMapsLoader::addOptions(std::vector<ConfigParamSpec>& options)
126134
void CorrectionMapsLoader::addGlobalOptions(std::vector<ConfigParamSpec>& options)
127135
{
128136
// these are options which should be added at the workflow level, since they modify the inputs of the devices
129-
addOption(options, ConfigParamSpec{"lumi-type", o2::framework::VariantType::Int, 0, {"1 = require CTP lumi for TPC correction scaling, 2 = require TPC scalers for TPC correction scaling"}});
137+
addOption(options, ConfigParamSpec{"lumi-type", o2::framework::VariantType::Int, 0, {"1 = use CTP lumi for TPC correction scaling, 2 = use TPC scalers for TPC correction scaling"}});
130138
addOption(options, ConfigParamSpec{"corrmap-lumi-mode", o2::framework::VariantType::Int, 0, {"scaling mode: (default) 0 = static + scale * full; 1 = full + scale * derivative; 2 = full + scale * derivative (for MC)"}});
131139
addOption(options, ConfigParamSpec{"enable-M-shape-correction", o2::framework::VariantType::Bool, false, {"Enable M-shape distortion correction"}});
140+
addOption(options, ConfigParamSpec{"disable-ctp-lumi-request", o2::framework::VariantType::Bool, false, {"do not request CTP lumi (regardless what is used for corrections)"}});
132141
}
133142

134143
//________________________________________________________
@@ -138,6 +147,10 @@ CorrectionMapsLoaderGloOpts CorrectionMapsLoader::parseGlobalOptions(const o2::f
138147
tpcopt.lumiType = opts.get<int>("lumi-type");
139148
tpcopt.lumiMode = opts.get<int>("corrmap-lumi-mode");
140149
tpcopt.enableMShapeCorrection = opts.get<bool>("enable-M-shape-correction");
150+
tpcopt.requestCTPLumi = !opts.get<bool>("disable-ctp-lumi-request");
151+
if (!tpcopt.requestCTPLumi && tpcopt.lumiType == 1) {
152+
LOGP(fatal, "Scaling with CTP Lumi is requested but this input is disabled");
153+
}
141154
return tpcopt;
142155
}
143156

@@ -164,7 +177,7 @@ bool CorrectionMapsLoader::accountCCDBInputs(const ConcreteDataMatcher& matcher,
164177
setCorrMap((o2::gpu::TPCFastTransform*)obj);
165178
mCorrMap->rectifyAfterReadingFromFile();
166179
if (getMeanLumiOverride() == 0 && mCorrMap->getLumi() > 0.) {
167-
setMeanLumi(mCorrMap->getLumi());
180+
setMeanLumi(mCorrMap->getLumi(), false);
168181
}
169182
LOGP(debug, "MeanLumiOverride={} MeanLumiMap={} -> meanLumi = {}", getMeanLumiOverride(), mCorrMap->getLumi(), getMeanLumi());
170183
setUpdatedMap();
@@ -182,29 +195,34 @@ bool CorrectionMapsLoader::accountCCDBInputs(const ConcreteDataMatcher& matcher,
182195
}
183196
if (matcher == ConcreteDataMatcher("TPC", "CorrMapParam", 0)) {
184197
const auto& par = o2::tpc::CorrMapParam::Instance();
185-
mMeanLumiOverride = par.lumiMean;
198+
mMeanLumiOverride = par.lumiMean; // negative value switches off corrections !!!
186199
mMeanLumiRefOverride = par.lumiMeanRef;
187-
mInstLumiOverride = par.lumiInst;
188-
mInstLumiFactor = par.lumiInstFactor;
189-
mCTPLumiSource = par.ctpLumiSource;
200+
mInstCTPLumiOverride = par.lumiInst;
201+
mInstLumiCTPFactor = par.lumiInstFactor;
202+
mLumiCTPSource = par.ctpLumiSource;
190203

191204
if (mMeanLumiOverride != 0.) {
192205
setMeanLumi(mMeanLumiOverride, false);
193206
}
194207
if (mMeanLumiRefOverride != 0.) {
195208
setMeanLumiRef(mMeanLumiRefOverride);
196209
}
197-
if (mInstLumiOverride != 0.) {
198-
setInstLumi(mInstLumiOverride, false);
210+
if (mInstCTPLumiOverride != 0.) {
211+
setInstLumiCTP(mInstCTPLumiOverride * mInstLumiCTPFactor);
212+
if (getLumiScaleType() == 1) {
213+
setInstLumi(getInstLumiCTP(), false);
214+
}
199215
}
200216
setUpdatedLumi();
201217
int scaleType = getLumiScaleType();
202218
const std::array<std::string, 3> lumiS{"OFF", "CTP", "TPC scaler"};
203219
if (scaleType >= lumiS.size()) {
204220
LOGP(fatal, "Wrong lumi-scale-type provided!");
205221
}
206-
LOGP(info, "TPC correction map params updated (corr.map scaling type={}): override values: lumiMean={} lumiRefMean={} lumiInst={} lumiScaleMode={}, LumiInst scale={}, CTP Lumi source={}",
207-
lumiS[scaleType], mMeanLumiOverride, mMeanLumiRefOverride, mInstLumiOverride, mLumiScaleMode, mInstLumiFactor, mCTPLumiSource);
222+
223+
LOGP(info, "TPC correction map params updated: SP corrections: {} (corr.map scaling type={}, override values: lumiMean={} lumiRefMean={} lumiScaleMode={}), CTP Lumi: source={} lumiInstOverride={} , LumiInst scale={} ",
224+
canUseCorrections() ? "ON" : "OFF",
225+
lumiS[scaleType], mMeanLumiOverride, mMeanLumiRefOverride, mLumiScaleMode, mLumiCTPSource, mInstCTPLumiOverride, mInstLumiCTPFactor);
208226
}
209227
return false;
210228
}
@@ -216,20 +234,22 @@ void CorrectionMapsLoader::init(o2::framework::InitContext& ic)
216234
LOGP(fatal, "TPC correction lumi scaling mode is not set");
217235
}
218236
const auto& inputRouts = ic.services().get<const o2::framework::DeviceSpec>().inputs;
237+
bool foundCTP = false, foundTPCScl = false, foundMShape = false;
219238
for (const auto& route : inputRouts) {
220239
if (route.matcher == InputSpec{"CTPLumi", "CTP", "LUMI", 0, Lifetime::Timeframe}) {
221-
if (getLumiScaleType() != 1) {
222-
LOGP(fatal, "Lumi scaling source CTP is not compatible with TPC correction lumi scaler type {}", getLumiScaleType());
223-
}
240+
foundCTP = true;
224241
} else if (route.matcher == InputSpec{"tpcscaler", o2::header::gDataOriginTPC, "TPCSCALER", 0, Lifetime::Timeframe}) {
225-
if (getLumiScaleType() != 2) {
226-
LOGP(fatal, "Lumi scaling source TPCScaler is not compatible with TPC correction lumi scaler type {}", getLumiScaleType());
227-
}
228-
setLumiScaleType(2);
242+
foundTPCScl = true;
229243
} else if (route.matcher == InputSpec{"mshape", o2::header::gDataOriginTPC, "TPCMSHAPE", 0, Lifetime::Timeframe}) {
230-
enableMShapeCorrection(true);
244+
foundMShape = true;
231245
}
232246
}
247+
setLumiCTPAvailable(foundCTP);
248+
enableMShapeCorrection(foundMShape);
249+
if ((getLumiScaleType() == 1 && !foundCTP) || (getLumiScaleType() == 2 && !foundTPCScl)) {
250+
LOGP(fatal, "Lumi scaling source {}({}) is not available for TPC correction", getLumiScaleType(), getLumiScaleType() == 1 ? "CTP" : "TPCScaler");
251+
}
252+
233253
if ((getLumiScaleMode() == 1) || (getLumiScaleMode() == 2)) {
234254
mScaleInverse = ic.options().get<bool>("do-not-recalculate-inverse-correction");
235255
} else {
@@ -243,16 +263,18 @@ void CorrectionMapsLoader::init(o2::framework::InitContext& ic)
243263
void CorrectionMapsLoader::copySettings(const CorrectionMapsLoader& src)
244264
{
245265
setInstLumi(src.getInstLumi(), false);
266+
setInstLumiCTP(src.getInstLumiCTP());
246267
setMeanLumi(src.getMeanLumi(), false);
268+
setLumiCTPAvailable(src.getLumiCTPAvailable());
247269
setMeanLumiRef(src.getMeanLumiRef());
248270
setLumiScaleType(src.getLumiScaleType());
249271
setMeanLumiOverride(src.getMeanLumiOverride());
250272
setMeanLumiRefOverride(src.getMeanLumiRefOverride());
251-
setInstLumiOverride(src.getInstLumiOverride());
273+
setInstCTPLumiOverride(src.getInstCTPLumiOverride());
252274
setLumiScaleMode(src.getLumiScaleMode());
253275
enableMShapeCorrection(src.getUseMShapeCorrection());
254-
mInstLumiFactor = src.mInstLumiFactor;
255-
mCTPLumiSource = src.mCTPLumiSource;
276+
mInstLumiCTPFactor = src.mInstLumiCTPFactor;
277+
mLumiCTPSource = src.mLumiCTPSource;
256278
mLumiScaleMode = src.mLumiScaleMode;
257279
mScaleInverse = src.getScaleInverse();
258280
}

GPU/TPCFastTransformation/CorrectionMapsHelper.cxx

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,12 @@ void CorrectionMapsHelper::clear()
2222
delete mCorrMapRef;
2323
delete mCorrMapMShape;
2424
}
25+
mLumiCTPAvailable = false;
2526
mCorrMap = nullptr;
2627
mCorrMapRef = nullptr;
2728
mCorrMapMShape = nullptr;
2829
mUpdatedFlags = 0;
30+
mInstLumiCTP = 0.f;
2931
mInstLumi = 0.f;
3032
mMeanLumi = 0.f;
3133
mMeanLumiRef = 0.f;
@@ -95,8 +97,26 @@ void CorrectionMapsHelper::setCorrMapMShape(std::unique_ptr<TPCFastTransform>&&
9597
mCorrMapMShape = m.release();
9698
}
9799

100+
void CorrectionMapsHelper::updateLumiScale(bool report)
101+
{
102+
if (canUseCorrections()) {
103+
mLumiScale = -1.f;
104+
} else if ((mLumiScaleMode == 1) || (mLumiScaleMode == 2)) {
105+
mLumiScale = mMeanLumiRef ? (mInstLumi - mMeanLumi) / mMeanLumiRef : 0.f;
106+
LOGP(debug, "mInstLumi: {} mMeanLumi: {} mMeanLumiRef: {}", mInstLumi, mMeanLumi, mMeanLumiRef);
107+
} else {
108+
mLumiScale = mMeanLumi ? mInstLumi / mMeanLumi : 0.f;
109+
}
110+
setUpdatedLumi();
111+
if (report) {
112+
reportScaling();
113+
}
114+
}
115+
98116
//________________________________________________________
99117
void CorrectionMapsHelper::reportScaling()
100118
{
101-
LOGP(info, "Map scaling update: InstLumiOverride={}, LumiScaleType={} -> instLumi={}, meanLumiRef={}, meanLumi={} -> LumiScale={}, lumiScaleMode={}, is M-Shape map valid: {}, is M-Shape default: {}", getInstLumiOverride(), getLumiScaleType(), getInstLumi(), getMeanLumiRef(), getMeanLumi(), getLumiScale(), getLumiScaleMode(), (mCorrMapMShape != nullptr), isCorrMapMShapeDummy());
119+
LOGP(info, "Map scaling update: LumiScaleType={} instLumi(CTP)={} instLumi(scaling)={} meanLumiRef={}, meanLumi={} -> LumiScale={} lumiScaleMode={}, M-Shape map valid: {}, M-Shape default: {}",
120+
mLumiScaleType == 0 ? "NoScaling" : (mLumiScaleType == 1 ? "LumiCTP" : "TPCScaler"), getInstLumiCTP(), getInstLumi(), getMeanLumiRef(), getMeanLumi(), getLumiScale(),
121+
mLumiScaleMode == 0 ? "Linear" : "Derivative", (mCorrMapMShape != nullptr), isCorrMapMShapeDummy());
102122
}

GPU/TPCFastTransformation/CorrectionMapsHelper.h

Lines changed: 25 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ class CorrectionMapsHelper
3434
CorrectionMapsHelper() = default;
3535
~CorrectionMapsHelper() { clear(); }
3636
CorrectionMapsHelper(const CorrectionMapsHelper&) = delete;
37+
void updateLumiScale(bool report = false);
3738
void clear();
3839

3940
GPUd() void Transform(int slice, int row, float pad, float time, float& x, float& y, float& z, float vertexTime = 0) const
@@ -66,15 +67,22 @@ class CorrectionMapsHelper
6667
void setCorrMapRef(GPUCA_NAMESPACE::gpu::TPCFastTransform* m);
6768
void setCorrMapMShape(GPUCA_NAMESPACE::gpu::TPCFastTransform* m);
6869
void reportScaling();
69-
void setInstLumi(float v, bool report = true)
70+
void setInstLumiCTP(float v)
71+
{
72+
if (v != mInstLumiCTP) {
73+
mInstLumiCTP = v;
74+
}
75+
}
76+
77+
void setInstLumi(float v, bool report = false)
7078
{
7179
if (v != mInstLumi) {
7280
mInstLumi = v;
7381
updateLumiScale(report);
7482
}
7583
}
7684

77-
void setMeanLumi(float v, bool report = true)
85+
void setMeanLumi(float v, bool report = false)
7886
{
7987
if (v != mMeanLumi) {
8088
mMeanLumi = v;
@@ -93,26 +101,11 @@ class CorrectionMapsHelper
93101
{
94102
if (v != mLumiScaleMode) {
95103
mLumiScaleMode = v;
96-
updateLumiScale();
97-
}
98-
}
99-
100-
void updateLumiScale(bool report = true)
101-
{
102-
if (mMeanLumi < 0.f || mInstLumi < 0.f) {
103-
mLumiScale = -1.f;
104-
} else if ((mLumiScaleMode == 1) || (mLumiScaleMode == 2)) {
105-
mLumiScale = mMeanLumiRef ? (mInstLumi - mMeanLumi) / mMeanLumiRef : 0.f;
106-
LOGP(debug, "mInstLumi: {} mMeanLumi: {} mMeanLumiRef: {}", mInstLumi, mMeanLumi, mMeanLumiRef);
107-
} else {
108-
mLumiScale = mMeanLumi ? mInstLumi / mMeanLumi : 0.f;
109-
}
110-
setUpdatedLumi();
111-
if (report) {
112-
reportScaling();
104+
updateLumiScale(false);
113105
}
114106
}
115107

108+
GPUd() float getInstLumiCTP() const { return mInstLumiCTP; }
116109
GPUd() float getInstLumi() const { return mInstLumi; }
117110
GPUd() float getMeanLumi() const { return mMeanLumi; }
118111
GPUd() float getMeanLumiRef() const { return mMeanLumiRef; }
@@ -137,19 +130,20 @@ class CorrectionMapsHelper
137130
#endif
138131
void setOwner(bool v);
139132
void acknowledgeUpdate() { mUpdatedFlags = 0; }
140-
133+
void setLumiCTPAvailable(bool v) { mLumiCTPAvailable = v; }
134+
bool getLumiCTPAvailable() const { return mLumiCTPAvailable; }
141135
void setLumiScaleType(int v) { mLumiScaleType = v; }
142136
int getLumiScaleType() const { return mLumiScaleType; }
143137
void enableMShapeCorrection(bool v) { mEnableMShape = v; }
144138
bool getUseMShapeCorrection() const { return mEnableMShape; }
145-
139+
bool canUseCorrections() const { return mMeanLumi >= 0.; }
146140
void setMeanLumiOverride(float f) { mMeanLumiOverride = f; }
147141
void setMeanLumiRefOverride(float f) { mMeanLumiRefOverride = f; }
148142
float getMeanLumiOverride() const { return mMeanLumiOverride; }
149143
float getMeanLumiRefOverride() const { return mMeanLumiRefOverride; }
150144

151-
void setInstLumiOverride(float f) { mInstLumiOverride = f; }
152-
float getInstLumiOverride() const { return mInstLumiOverride; }
145+
void setInstCTPLumiOverride(float f) { mInstCTPLumiOverride = f; }
146+
float getInstCTPLumiOverride() const { return mInstCTPLumiOverride; }
153147

154148
int getUpdateFlags() const { return mUpdatedFlags; }
155149

@@ -171,24 +165,26 @@ class CorrectionMapsHelper
171165
LumiBit = 0x4,
172166
MapMShapeBit = 0x10 };
173167
bool mOwner = false; // is content of pointers owned by the helper
168+
bool mLumiCTPAvailable = false; // is CTP Lumi available
174169
// these 2 are global options, must be set by the workflow global options
175-
int mLumiScaleType = -1; // require CTP Lumi for mInstLumi
170+
int mLumiScaleType = -1; // use CTP Lumi (1) or TPCScaler (2) for the correction scaling, 0 - no scaling
176171
int mLumiScaleMode = -1; // scaling-mode of the correciton maps
177172
int mUpdatedFlags = 0;
178-
float mInstLumi = 0.; // instanteneous luminosity (a.u)
179-
float mMeanLumi = 0.; // mean luminosity of the map (a.u)
180-
float mMeanLumiRef = 0.; // mean luminosity of the ref map (a.u)
173+
float mInstLumiCTP = 0.; // instanteneous luminosity from CTP (a.u)
174+
float mInstLumi = 0.; // instanteneous luminosity (a.u) used for TPC corrections scaling
175+
float mMeanLumi = 0.; // mean luminosity of the map (a.u) used for TPC corrections scaling
176+
float mMeanLumiRef = 0.; // mean luminosity of the ref map (a.u) used for TPC corrections scaling reference
181177
float mLumiScale = 0.; // precalculated mInstLumi/mMeanLumi
182178
float mMeanLumiOverride = -1.f; // optional value to override mean lumi
183179
float mMeanLumiRefOverride = -1.f; // optional value to override ref mean lumi
184-
float mInstLumiOverride = -1.f; // optional value to override inst lumi
180+
float mInstCTPLumiOverride = -1.f; // optional value to override inst lumi from CTP
185181
bool mEnableMShape = false; ///< use v shape correction
186182
bool mScaleInverse{false}; // if set to false the inverse correction is already scaled and will not scaled again
187183
GPUCA_NAMESPACE::gpu::TPCFastTransform* mCorrMap{nullptr}; // current transform
188184
GPUCA_NAMESPACE::gpu::TPCFastTransform* mCorrMapRef{nullptr}; // reference transform
189185
GPUCA_NAMESPACE::gpu::TPCFastTransform* mCorrMapMShape{nullptr}; // correction map for v-shape distortions on A-side
190186
#ifndef GPUCA_ALIROOT_LIB
191-
ClassDefNV(CorrectionMapsHelper, 5);
187+
ClassDefNV(CorrectionMapsHelper, 6);
192188
#endif
193189
};
194190

0 commit comments

Comments
 (0)