Skip to content

Commit f0db501

Browse files
shahor02martenole
authored andcommitted
Add options to rescale CTP lumi and select its source used for TPC corrections
1 parent f02ab6f commit f0db501

3 files changed

Lines changed: 12 additions & 2 deletions

File tree

DataFormats/Detectors/CTP/include/DataFormatsCTP/LumiInfo.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,10 @@ struct LumiInfo {
3232
int inp2 = 6; // VBA
3333
float getLumi() const { return nHBFCounted > 0 ? float(counts / (nHBFCounted * o2::constants::lhc::LHCOrbitMUS * 1e-6)) : 0.f; }
3434
float getLumiFV0() const { return nHBFCountedFV0 > 0 ? float(countsFV0 / (nHBFCountedFV0 * o2::constants::lhc::LHCOrbitMUS * 1e-6)) : 0.f; }
35+
float getLumiAlt() const { return getLumiFV0(); }
3536
float getLumiError() const { return nHBFCounted > 0 ? float(std::sqrt(counts) / (nHBFCounted * o2::constants::lhc::LHCOrbitMUS * 1e-6)) : 0.f; }
3637
float getLumiFV0Error() const { return nHBFCountedFV0 > 0 ? float(std::sqrt(countsFV0) / (nHBFCountedFV0 * o2::constants::lhc::LHCOrbitMUS * 1e-6)) : 0.f; }
38+
float getLumiAltError() const { return getLumiFV0Error(); }
3739
void printInputs() const;
3840
ClassDefNV(LumiInfo, 3);
3941
};

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,9 @@ class CorrectionMapsLoader : public o2::gpu::CorrectionMapsHelper
5454
protected:
5555
static void addOption(std::vector<o2::framework::ConfigParamSpec>& options, o2::framework::ConfigParamSpec&& osp);
5656
static void addInput(std::vector<o2::framework::InputSpec>& inputs, o2::framework::InputSpec&& isp);
57+
58+
float mInstLumiFactor = 1.0; // multiplicative factor for inst. lumi
59+
int mCTPLumiSource = 0; // 0: main, 1: alternative CTP lumi source
5760
#endif
5861
};
5962

Detectors/TPC/calibration/src/CorrectionMapsLoader.cxx

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ void CorrectionMapsLoader::extractCCDBInputs(ProcessingContext& pc)
4444
pc.inputs().get<o2::gpu::TPCFastTransform*>("tpcCorrMapRef"); // not used at the moment
4545
if (getUseCTPLumi() && mInstLumiOverride <= 0.) {
4646
auto lumiObj = pc.inputs().get<o2::ctp::LumiInfo>("CTPLumi");
47-
setInstLumi(lumiObj.getLumi());
47+
setInstLumi(mInstLumiFactor * (mCTPLumiSource == 0 ? lumiObj.getLumi() : lumiObj.getLumiAlt()));
4848
}
4949
}
5050

@@ -72,6 +72,8 @@ void CorrectionMapsLoader::addOptions(std::vector<ConfigParamSpec>& options)
7272
addOption(options, ConfigParamSpec{"corrmap-lumi-mean", VariantType::Float, 0.f, {"override TPC corr.map mean lumi (if > 0), disable corrections if < 0"}});
7373
addOption(options, ConfigParamSpec{"corrmap-lumi-inst", VariantType::Float, 0.f, {"override instantaneous CTP lumi (if > 0) for TPC corr.map scaling, disable corrections if < 0"}});
7474
addOption(options, ConfigParamSpec{"corrmap-lumi-mode", VariantType::Int, 0, {"scaling mode: (default) 0 = static + scale * full; 1 = full + scale * derivative"}});
75+
addOption(options, ConfigParamSpec{"ctp-lumi-factor", VariantType::Float, 1.0f, {"scaling to apply to instantaneous lumi from CTP (but not corrmap-lumi-inst)"}});
76+
addOption(options, ConfigParamSpec{"ctp-lumi-source", VariantType::Int, 0, {"CTP lumi source: 0 = LumiInfo.getLumi(), 1 = LumiInfo.getLumiAlt()"}});
7577
}
7678

7779
//________________________________________________________
@@ -125,12 +127,15 @@ void CorrectionMapsLoader::init(o2::framework::InitContext& ic)
125127
mMeanLumiOverride = ic.options().get<float>("corrmap-lumi-mean");
126128
mInstLumiOverride = ic.options().get<float>("corrmap-lumi-inst");
127129
mLumiScaleMode = ic.options().get<int>("corrmap-lumi-mode");
130+
mInstLumiFactor = ic.options().get<float>("ctp-lumi-factor");
131+
mCTPLumiSource = ic.options().get<int>("ctp-lumi-source");
128132
if (mMeanLumiOverride != 0.) {
129133
setMeanLumi(mMeanLumiOverride);
130134
}
131135
if (mInstLumiOverride != 0.) {
132136
setInstLumi(mInstLumiOverride);
133137
}
134-
LOGP(info, "CTP Lumi request for TPC corr.map scaling={}, override values: lumiMean={} lumiInst={} lumiScaleMode={}", getUseCTPLumi() ? "ON" : "OFF", mMeanLumiOverride, mInstLumiOverride, mLumiScaleMode);
138+
LOGP(info, "CTP Lumi request for TPC corr.map scaling={}, override values: lumiMean={} lumiInst={} lumiScaleMode={}, LumiInst scale={}, CTP Lumi source={}",
139+
getUseCTPLumi() ? "ON" : "OFF", mMeanLumiOverride, mInstLumiOverride, mLumiScaleMode, mInstLumiFactor, mCTPLumiSource);
135140
}
136141
#endif // #ifndef GPUCA_GPUCODE_DEVICE

0 commit comments

Comments
 (0)