Skip to content

Commit 3bf4e60

Browse files
committed
Use CorrectionMapsHelper to allow TPC scaled transform
1 parent b16662e commit 3bf4e60

39 files changed

Lines changed: 453 additions & 217 deletions

Detectors/GlobalTracking/include/GlobalTracking/MatchCosmics.h

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,11 @@ namespace o2
3535
namespace tpc
3636
{
3737
class VDriftCorrFact;
38+
}
39+
namespace gpu
40+
{
3841
class CorrectionMapsHelper;
3942
}
40-
4143
namespace globaltracking
4244
{
4345

@@ -83,7 +85,7 @@ class MatchCosmics
8385
GTrackID origID; ///< track origin id
8486
int matchID = MinusOne; ///< entry (none if MinusOne) of its match in the vector of matches
8587
};
86-
void setTPCCorrMaps(o2::tpc::CorrectionMapsHelper* maph);
88+
void setTPCCorrMaps(o2::gpu::CorrectionMapsHelper* maph);
8789
void setTPCVDrift(const o2::tpc::VDriftCorrFact& v);
8890
void setITSROFrameLengthMUS(float fums) { mITSROFrameLengthMUS = fums; }
8991
void setITSDict(const o2::itsmft::TopologyDictionary* dict) { mITSDict = dict; }
@@ -136,7 +138,7 @@ class MatchCosmics
136138
std::vector<MatchRecord> mRecords;
137139
std::vector<int> mWinners;
138140
const o2::itsmft::TopologyDictionary* mITSDict = nullptr; // cluster patterns dictionary
139-
o2::tpc::CorrectionMapsHelper* mTPCCorrMapsHelper = nullptr;
141+
o2::gpu::CorrectionMapsHelper* mTPCCorrMapsHelper = nullptr;
140142
int mTFCount = 0;
141143
float mTPCVDriftRef = -1.; ///< TPC nominal drift speed in cm/microseconds
142144
float mTPCVDriftCorrFact = 1.; ///< TPC nominal correction factort (wrt ref)

Detectors/GlobalTracking/include/GlobalTracking/MatchTOF.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
#include "ReconstructionDataFormats/PID.h"
4040
#include "TPCFastTransform.h"
4141
#include "CommonDataFormat/InteractionRecord.h"
42-
#include "TPCCalibration/CorrectionMapsHelper.h"
42+
#include "CorrectionMapsHelper.h"
4343

4444
// from FIT
4545
#include "DataFormatsFT0/RecPoints.h"
@@ -146,10 +146,10 @@ class MatchTOF
146146
std::vector<o2::dataformats::MatchInfoTOF>& getMatchedTrackVector(trkType index) { return mMatchedTracks[index]; }
147147
std::vector<o2::dataformats::CalibInfoTOF>& getCalibVector() { return mCalibInfoTOF; }
148148

149-
std::vector<o2::MCCompLabel>& getMatchedTOFLabelsVector(trkType index) { return mOutTOFLabels[index]; } ///< get vector of TOF label of matched tracks
149+
std::vector<o2::MCCompLabel>& getMatchedTOFLabelsVector(trkType index) { return mOutTOFLabels[index]; } ///< get vector of TOF labels of matched tracks
150150

151151
void setTPCVDrift(const o2::tpc::VDriftCorrFact& v);
152-
void setTPCCorrMaps(o2::tpc::CorrectionMapsHelper* maph);
152+
void setTPCCorrMaps(o2::gpu::CorrectionMapsHelper* maph);
153153

154154
///< set input TPC tracks cluster indices
155155
void setTPCTrackClusIdxInp(const gsl::span<const o2::tpc::TPCClRefElem> inp)
@@ -268,7 +268,7 @@ class MatchTOF
268268
gsl::span<const unsigned char> mTPCRefitterShMap; ///< externally set TPC clusters sharing map
269269
const o2::tpc::ClusterNativeAccess* mTPCClusterIdxStruct = nullptr; ///< struct holding the TPC cluster indices
270270

271-
o2::tpc::CorrectionMapsHelper* mTPCCorrMapsHelper = nullptr; ///< TPC cluster transformation
271+
o2::gpu::CorrectionMapsHelper* mTPCCorrMapsHelper = nullptr; ///< TPC cluster transformation
272272
std::unique_ptr<o2::gpu::GPUO2InterfaceRefit> mTPCRefitter; ///< TPC refitter used for TPC tracks refit during the reconstruction
273273

274274
const o2::dataformats::MCTruthContainer<o2::MCCompLabel>* mTOFClusLabels; ///< input TOF clusters MC labels (pointer to read from tree)

Detectors/GlobalTracking/include/GlobalTracking/MatchTPCITS.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@
5353
#include "DataFormatsITSMFT/TopologyDictionary.h"
5454
#include "DataFormatsITSMFT/TrkClusRef.h"
5555
#include "ITSMFTReconstruction/ChipMappingITS.h"
56-
#include "TPCCalibration/CorrectionMapsHelper.h"
56+
#include "CorrectionMapsHelper.h"
5757

5858
class TTree;
5959

@@ -351,7 +351,7 @@ class MatchTPCITS
351351
mVDriftCalibOn = v;
352352
}
353353
void setTPCVDrift(const o2::tpc::VDriftCorrFact& v);
354-
void setTPCCorrMaps(o2::tpc::CorrectionMapsHelper* maph);
354+
void setTPCCorrMaps(o2::gpu::CorrectionMapsHelper* maph);
355355

356356
///< print settings
357357
void print() const;
@@ -558,7 +558,7 @@ class MatchTPCITS
558558
float mMinITSTrackPtInv = 999.; ///< cutoff on ITS track inverse pT
559559

560560
bool mVDriftCalibOn = false; ///< flag to produce VDrift calibration data
561-
o2::tpc::CorrectionMapsHelper* mTPCCorrMapsHelper = nullptr;
561+
o2::gpu::CorrectionMapsHelper* mTPCCorrMapsHelper = nullptr;
562562

563563
std::unique_ptr<o2::gpu::GPUO2InterfaceRefit> mTPCRefitter; ///< TPC refitter used for TPC tracks refit during the reconstruction
564564

Detectors/GlobalTracking/src/MatchCosmics.cxx

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
#include "CommonConstants/GeomConstants.h"
3333
#include "DataFormatsTPC/WorkflowHelper.h"
3434
#include "DataFormatsTPC/VDriftCorrFact.h"
35-
#include "TPCCalibration/CorrectionMapsHelper.h"
35+
#include "CorrectionMapsHelper.h"
3636
#include <algorithm>
3737
#include <numeric>
3838

@@ -92,7 +92,7 @@ void MatchCosmics::refitWinners(const o2::globaltracking::RecoContainer& data)
9292
std::unique_ptr<o2::gpu::GPUO2InterfaceRefit> tpcRefitter;
9393
if (data.inputsTPCclusters) {
9494
tpcRefitter = std::make_unique<o2::gpu::GPUO2InterfaceRefit>(&data.inputsTPCclusters->clusterIndex,
95-
mTPCCorrMapsHelper->getCorrMap(), mBz,
95+
mTPCCorrMapsHelper, mBz,
9696
tpcClusRefs.data(), tpcClusShMap.data(),
9797
nullptr, o2::base::Propagator::Instance());
9898
}
@@ -580,18 +580,12 @@ void MatchCosmics::setTPCVDrift(const o2::tpc::VDriftCorrFact& v)
580580
mTPCVDrift = v.refVDrift * v.corrFact;
581581
mTPCVDriftCorrFact = v.corrFact;
582582
mTPCVDriftRef = v.refVDrift;
583-
if (mTPCCorrMapsHelper) {
584-
o2::tpc::TPCFastTransformHelperO2::instance()->updateCalibration(*mTPCCorrMapsHelper->getCorrMap(), 0, mTPCVDriftCorrFact, mTPCVDriftRef);
585-
}
586583
}
587584

588585
//______________________________________________
589-
void MatchCosmics::setTPCCorrMaps(o2::tpc::CorrectionMapsHelper* maph)
586+
void MatchCosmics::setTPCCorrMaps(o2::gpu::CorrectionMapsHelper* maph)
590587
{
591588
mTPCCorrMapsHelper = maph;
592-
if (mTPCVDrift > 0.f) {
593-
o2::tpc::TPCFastTransformHelperO2::instance()->updateCalibration(*mTPCCorrMapsHelper->getCorrMap(), 0, mTPCVDriftCorrFact, mTPCVDriftRef);
594-
}
595589
}
596590

597591
#endif

Detectors/GlobalTracking/src/MatchTOF.cxx

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -151,18 +151,12 @@ void MatchTOF::setTPCVDrift(const o2::tpc::VDriftCorrFact& v)
151151
mTPCVDrift = v.refVDrift * v.corrFact;
152152
mTPCVDriftCorrFact = v.corrFact;
153153
mTPCVDriftRef = v.refVDrift;
154-
if (mTPCCorrMapsHelper) {
155-
o2::tpc::TPCFastTransformHelperO2::instance()->updateCalibration(*mTPCCorrMapsHelper->getCorrMap(), 0, mTPCVDriftCorrFact, mTPCVDriftRef);
156-
}
157154
}
158155

159156
//______________________________________________
160-
void MatchTOF::setTPCCorrMaps(o2::tpc::CorrectionMapsHelper* maph)
157+
void MatchTOF::setTPCCorrMaps(o2::gpu::CorrectionMapsHelper* maph)
161158
{
162159
mTPCCorrMapsHelper = maph;
163-
if (mTPCVDrift > 0.f) {
164-
o2::tpc::TPCFastTransformHelperO2::instance()->updateCalibration(*mTPCCorrMapsHelper->getCorrMap(), 0, mTPCVDriftCorrFact, mTPCVDriftRef);
165-
}
166160
}
167161

168162
//______________________________________________
@@ -1445,7 +1439,7 @@ bool MatchTOF::makeConstrainedTPCTrack(int matchedID, o2::dataformats::TrackTPCT
14451439
void MatchTOF::checkRefitter()
14461440
{
14471441
if (mTPCClusterIdxStruct) {
1448-
mTPCRefitter = std::make_unique<o2::gpu::GPUO2InterfaceRefit>(mTPCClusterIdxStruct, mTPCCorrMapsHelper->getCorrMap(), mBz,
1442+
mTPCRefitter = std::make_unique<o2::gpu::GPUO2InterfaceRefit>(mTPCClusterIdxStruct, mTPCCorrMapsHelper, mBz,
14491443
mTPCTrackClusIdx.data(), mTPCRefitterShMap.data(),
14501444
nullptr, o2::base::Propagator::Instance());
14511445
}

Detectors/GlobalTracking/src/MatchTPCITS.cxx

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -178,18 +178,12 @@ void MatchTPCITS::setTPCVDrift(const o2::tpc::VDriftCorrFact& v)
178178
mTPCVDrift = v.refVDrift * v.corrFact;
179179
mTPCVDriftCorrFact = v.corrFact;
180180
mTPCVDriftRef = v.refVDrift;
181-
if (mTPCCorrMapsHelper) {
182-
o2::tpc::TPCFastTransformHelperO2::instance()->updateCalibration(*mTPCCorrMapsHelper->getCorrMap(), 0, mTPCVDriftCorrFact, mTPCVDriftRef);
183-
}
184181
}
185182

186183
//______________________________________________
187-
void MatchTPCITS::setTPCCorrMaps(o2::tpc::CorrectionMapsHelper* maph)
184+
void MatchTPCITS::setTPCCorrMaps(o2::gpu::CorrectionMapsHelper* maph)
188185
{
189186
mTPCCorrMapsHelper = maph;
190-
if (mTPCVDrift > 0.f) {
191-
o2::tpc::TPCFastTransformHelperO2::instance()->updateCalibration(*mTPCCorrMapsHelper->getCorrMap(), 0, mTPCVDriftCorrFact, mTPCVDriftRef);
192-
}
193187
}
194188

195189
//______________________________________________
@@ -525,7 +519,7 @@ bool MatchTPCITS::prepareTPCData()
525519
mITSROFofTPCBin[ib] = itsROF;
526520
}
527521
*/
528-
mTPCRefitter = std::make_unique<o2::gpu::GPUO2InterfaceRefit>(mTPCClusterIdxStruct, mTPCCorrMapsHelper->getCorrMap(), mBz, mTPCTrackClusIdx.data(), mTPCRefitterShMap.data(), nullptr, o2::base::Propagator::Instance());
522+
mTPCRefitter = std::make_unique<o2::gpu::GPUO2InterfaceRefit>(mTPCClusterIdxStruct, mTPCCorrMapsHelper, mBz, mTPCTrackClusIdx.data(), mTPCRefitterShMap.data(), nullptr, o2::base::Propagator::Instance());
529523

530524
mTimer[SWPrepTPC].Stop();
531525
return mTPCWork.size() > 0;

Detectors/GlobalTrackingWorkflow/src/CosmicsMatchingSpec.cxx

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@
4747
#include "ITSMFTReconstruction/ClustererParam.h"
4848
#include "DetectorsBase/GRPGeomHelper.h"
4949
#include "TPCCalibration/VDriftHelper.h"
50-
#include "TPCCalibration/CorrectionMapsHelper.h"
50+
#include "TPCCalibration/CorrectionMapsLoader.h"
5151

5252
using namespace o2::framework;
5353
using MCLabelsTr = gsl::span<const o2::MCCompLabel>;
@@ -74,7 +74,7 @@ class CosmicsMatchingSpec : public Task
7474
std::shared_ptr<DataRequest> mDataRequest;
7575
std::shared_ptr<o2::base::GRPGeomRequest> mGGCCDBRequest;
7676
o2::tpc::VDriftHelper mTPCVDriftHelper{};
77-
o2::tpc::CorrectionMapsHelper mTPCCorrMapsHelper{};
77+
o2::tpc::CorrectionMapsLoader mTPCCorrMapsLoader{};
7878
o2::globaltracking::MatchCosmics mMatching; // matching engine
7979
bool mUseMC = true;
8080
TStopwatch mTimer;
@@ -109,7 +109,7 @@ void CosmicsMatchingSpec::updateTimeDependentParams(ProcessingContext& pc)
109109
{
110110
o2::base::GRPGeomHelper::instance().checkUpdates(pc);
111111
o2::tpc::VDriftHelper::extractCCDBInputs(pc);
112-
o2::tpc::CorrectionMapsHelper::extractCCDBInputs(pc);
112+
o2::tpc::CorrectionMapsLoader::extractCCDBInputs(pc);
113113
static bool initOnceDone = false;
114114
if (!initOnceDone) { // this params need to be queried only once
115115
initOnceDone = true;
@@ -126,15 +126,21 @@ void CosmicsMatchingSpec::updateTimeDependentParams(ProcessingContext& pc)
126126
}
127127
mMatching.init();
128128
}
129-
if (mTPCCorrMapsHelper.isUpdated()) {
130-
mMatching.setTPCCorrMaps(&mTPCCorrMapsHelper);
131-
mTPCCorrMapsHelper.acknowledgeUpdate();
129+
bool updateMaps = false;
130+
if (mTPCCorrMapsLoader.isUpdated()) {
131+
mMatching.setTPCCorrMaps(&mTPCCorrMapsLoader);
132+
mTPCCorrMapsLoader.acknowledgeUpdate();
133+
updateMaps = true;
132134
}
133135
if (mTPCVDriftHelper.isUpdated()) {
134136
LOGP(info, "Updating TPC fast transform map with new VDrift factor of {} wrt reference {} from source {}",
135137
mTPCVDriftHelper.getVDriftObject().corrFact, mTPCVDriftHelper.getVDriftObject().refVDrift, mTPCVDriftHelper.getSourceName());
136138
mMatching.setTPCVDrift(mTPCVDriftHelper.getVDriftObject());
137139
mTPCVDriftHelper.acknowledgeUpdate();
140+
updateMaps = true;
141+
}
142+
if (updateMaps) {
143+
mTPCCorrMapsLoader.updateVDrift(mTPCVDriftHelper.getVDriftObject().corrFact, mTPCVDriftHelper.getVDriftObject().refVDrift);
138144
}
139145
}
140146

@@ -146,7 +152,7 @@ void CosmicsMatchingSpec::finaliseCCDB(ConcreteDataMatcher& matcher, void* obj)
146152
if (mTPCVDriftHelper.accountCCDBInputs(matcher, obj)) {
147153
return;
148154
}
149-
if (mTPCCorrMapsHelper.accountCCDBInputs(matcher, obj)) {
155+
if (mTPCCorrMapsLoader.accountCCDBInputs(matcher, obj)) {
150156
return;
151157
}
152158
if (matcher == ConcreteDataMatcher("ITS", "CLUSDICT", 0)) {
@@ -185,7 +191,7 @@ DataProcessorSpec getCosmicsMatchingSpec(GTrackID::mask_t src, bool useMC)
185191
dataRequest->inputs,
186192
true);
187193
o2::tpc::VDriftHelper::requestCCDBInputs(dataRequest->inputs);
188-
o2::tpc::CorrectionMapsHelper::requestCCDBInputs(dataRequest->inputs);
194+
o2::tpc::CorrectionMapsLoader::requestCCDBInputs(dataRequest->inputs);
189195

190196
return DataProcessorSpec{
191197
"cosmics-matcher",

Detectors/GlobalTrackingWorkflow/src/SecondaryVertexingSpec.cxx

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
#include "DetectorsBase/GRPGeomHelper.h"
2727
#include "TStopwatch.h"
2828
#include "TPCCalibration/VDriftHelper.h"
29-
#include "TPCCalibration/CorrectionMapsHelper.h"
29+
#include "TPCCalibration/CorrectionMapsLoader.h"
3030
#include "Framework/ConfigParamRegistry.h"
3131

3232
using namespace o2::framework;
@@ -62,7 +62,7 @@ class SecondaryVertexingSpec : public Task
6262
std::shared_ptr<DataRequest> mDataRequest;
6363
std::shared_ptr<o2::base::GRPGeomRequest> mGGCCDBRequest;
6464
o2::tpc::VDriftHelper mTPCVDriftHelper{};
65-
o2::tpc::CorrectionMapsHelper mTPCCorrMapsHelper{};
65+
o2::tpc::CorrectionMapsLoader mTPCCorrMapsLoader{};
6666
bool mEnableCascades = false;
6767
o2::vertexing::SVertexer mVertexer;
6868
TStopwatch mTimer;
@@ -114,7 +114,7 @@ void SecondaryVertexingSpec::finaliseCCDB(ConcreteDataMatcher& matcher, void* ob
114114
if (mTPCVDriftHelper.accountCCDBInputs(matcher, obj)) {
115115
return;
116116
}
117-
if (mTPCCorrMapsHelper.accountCCDBInputs(matcher, obj)) {
117+
if (mTPCCorrMapsLoader.accountCCDBInputs(matcher, obj)) {
118118
return;
119119
}
120120
}
@@ -123,22 +123,28 @@ void SecondaryVertexingSpec::updateTimeDependentParams(ProcessingContext& pc)
123123
{
124124
o2::base::GRPGeomHelper::instance().checkUpdates(pc);
125125
o2::tpc::VDriftHelper::extractCCDBInputs(pc);
126-
o2::tpc::CorrectionMapsHelper::extractCCDBInputs(pc);
126+
o2::tpc::CorrectionMapsLoader::extractCCDBInputs(pc);
127127
static bool initOnceDone = false;
128128
if (!initOnceDone) { // this params need to be queried only once
129129
initOnceDone = true;
130130
mVertexer.init();
131131
}
132132
// we may have other params which need to be queried regularly
133-
if (mTPCCorrMapsHelper.isUpdated()) {
134-
mVertexer.setTPCCorrMaps(&mTPCCorrMapsHelper);
135-
mTPCCorrMapsHelper.acknowledgeUpdate();
133+
bool updateMaps = false;
134+
if (mTPCCorrMapsLoader.isUpdated()) {
135+
mVertexer.setTPCCorrMaps(&mTPCCorrMapsLoader);
136+
mTPCCorrMapsLoader.acknowledgeUpdate();
137+
updateMaps = true;
136138
}
137139
if (mTPCVDriftHelper.isUpdated()) {
138140
LOGP(info, "Updating TPC fast transform map with new VDrift factor of {} wrt reference {} from source {}",
139141
mTPCVDriftHelper.getVDriftObject().corrFact, mTPCVDriftHelper.getVDriftObject().refVDrift, mTPCVDriftHelper.getSourceName());
140142
mVertexer.setTPCVDrift(mTPCVDriftHelper.getVDriftObject());
141143
mTPCVDriftHelper.acknowledgeUpdate();
144+
updateMaps = true;
145+
}
146+
if (updateMaps) {
147+
mTPCCorrMapsLoader.updateVDrift(mTPCVDriftHelper.getVDriftObject().corrFact, mTPCVDriftHelper.getVDriftObject().refVDrift);
142148
}
143149
}
144150

@@ -159,7 +165,7 @@ DataProcessorSpec getSecondaryVertexingSpec(GTrackID::mask_t src, bool enableCas
159165
dataRequest->inputs,
160166
true);
161167
o2::tpc::VDriftHelper::requestCCDBInputs(dataRequest->inputs);
162-
o2::tpc::CorrectionMapsHelper::requestCCDBInputs(dataRequest->inputs);
168+
o2::tpc::CorrectionMapsLoader::requestCCDBInputs(dataRequest->inputs);
163169

164170
outputs.emplace_back("GLO", "V0S", 0, Lifetime::Timeframe); // found V0s
165171
outputs.emplace_back("GLO", "PVTX_V0REFS", 0, Lifetime::Timeframe); // prim.vertex -> V0s refs

Detectors/GlobalTrackingWorkflow/src/TOFMatcherSpec.cxx

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
#include "Framework/Task.h"
2424
#include "Framework/DataProcessorSpec.h"
2525
#include "TPCCalibration/VDriftHelper.h"
26-
#include "TPCCalibration/CorrectionMapsHelper.h"
26+
#include "TPCCalibration/CorrectionMapsLoader.h"
2727

2828
// from Tracks
2929
#include "ReconstructionDataFormats/GlobalTrackID.h"
@@ -70,7 +70,7 @@ class TOFMatcherSpec : public Task
7070
std::shared_ptr<DataRequest> mDataRequest;
7171
std::shared_ptr<o2::base::GRPGeomRequest> mGGCCDBRequest;
7272
o2::tpc::VDriftHelper mTPCVDriftHelper{};
73-
o2::tpc::CorrectionMapsHelper mTPCCorrMapsHelper{};
73+
o2::tpc::CorrectionMapsLoader mTPCCorrMapsLoader{};
7474
bool mUseMC = true;
7575
bool mUseFIT = false;
7676
bool mDoTPCRefit = false;
@@ -95,7 +95,7 @@ void TOFMatcherSpec::updateTimeDependentParams(ProcessingContext& pc)
9595
{
9696
o2::base::GRPGeomHelper::instance().checkUpdates(pc);
9797
o2::tpc::VDriftHelper::extractCCDBInputs(pc);
98-
o2::tpc::CorrectionMapsHelper::extractCCDBInputs(pc);
98+
o2::tpc::CorrectionMapsLoader::extractCCDBInputs(pc);
9999
static bool initOnceDone = false;
100100
if (!initOnceDone) { // this params need to be queried only once
101101
const auto bcs = o2::base::GRPGeomHelper::instance().getGRPLHCIF()->getBunchFilling().getFilledBCs();
@@ -106,15 +106,21 @@ void TOFMatcherSpec::updateTimeDependentParams(ProcessingContext& pc)
106106
// put here init-once stuff
107107
}
108108
// we may have other params which need to be queried regularly
109-
if (mTPCCorrMapsHelper.isUpdated()) {
110-
mMatcher.setTPCCorrMaps(&mTPCCorrMapsHelper);
111-
mTPCCorrMapsHelper.acknowledgeUpdate();
109+
bool updateMaps = false;
110+
if (mTPCCorrMapsLoader.isUpdated()) {
111+
mMatcher.setTPCCorrMaps(&mTPCCorrMapsLoader);
112+
mTPCCorrMapsLoader.acknowledgeUpdate();
113+
updateMaps = true;
112114
}
113115
if (mTPCVDriftHelper.isUpdated()) {
114116
LOGP(info, "Updating TPC fast transform map with new VDrift factor of {} wrt reference {} from source {}",
115117
mTPCVDriftHelper.getVDriftObject().corrFact, mTPCVDriftHelper.getVDriftObject().refVDrift, mTPCVDriftHelper.getSourceName());
116118
mMatcher.setTPCVDrift(mTPCVDriftHelper.getVDriftObject());
117119
mTPCVDriftHelper.acknowledgeUpdate();
120+
updateMaps = true;
121+
if (updateMaps) {
122+
mTPCCorrMapsLoader.updateVDrift(mTPCVDriftHelper.getVDriftObject().corrFact, mTPCVDriftHelper.getVDriftObject().refVDrift);
123+
}
118124
}
119125
}
120126

@@ -126,7 +132,7 @@ void TOFMatcherSpec::finaliseCCDB(ConcreteDataMatcher& matcher, void* obj)
126132
if (mTPCVDriftHelper.accountCCDBInputs(matcher, obj)) {
127133
return;
128134
}
129-
if (mTPCCorrMapsHelper.accountCCDBInputs(matcher, obj)) {
135+
if (mTPCCorrMapsLoader.accountCCDBInputs(matcher, obj)) {
130136
return;
131137
}
132138
}
@@ -227,7 +233,7 @@ DataProcessorSpec getTOFMatcherSpec(GID::mask_t src, bool useMC, bool useFIT, bo
227233
dataRequest->inputs,
228234
true);
229235
o2::tpc::VDriftHelper::requestCCDBInputs(dataRequest->inputs);
230-
o2::tpc::CorrectionMapsHelper::requestCCDBInputs(dataRequest->inputs);
236+
o2::tpc::CorrectionMapsLoader::requestCCDBInputs(dataRequest->inputs);
231237
std::vector<OutputSpec> outputs;
232238
if (GID::includesSource(GID::TPC, src)) {
233239
outputs.emplace_back(o2::header::gDataOriginTOF, "MTC_TPC", ss, Lifetime::Timeframe);

0 commit comments

Comments
 (0)