Skip to content

Commit 6922323

Browse files
committed
mean pT fluctuations
2 parents bca0735 + 4abec76 commit 6922323

File tree

148 files changed

+12048
-8861
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

148 files changed

+12048
-8861
lines changed

.clang-tidy

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,16 @@
11
CheckOptions:
2-
- { key: CheckPathRegex, value: ".*/O2/.*" }
32
# Naming conventions
43
- { key: readability-identifier-naming.ClassCase, value: CamelCase }
54
- { key: readability-identifier-naming.ClassMemberPrefix, value: m }
65
- { key: readability-identifier-naming.ConceptCase, value: CamelCase }
76
- { key: readability-identifier-naming.ConstexprVariableCase, value: CamelCase }
8-
- { key: readability-identifier-naming.ConstexprVariableIgnoredRegexp, value: "^k[A-Z].*$" } # Allow "k" prefix.
7+
- { key: readability-identifier-naming.ConstexprVariableIgnoredRegexp, value: "^k[A-Z][a-zA-Z0-9]*$" } # Allow "k" prefix.
98
- { key: readability-identifier-naming.EnumCase, value: CamelCase }
109
- { key: readability-identifier-naming.EnumConstantCase, value: CamelCase }
11-
- { key: readability-identifier-naming.EnumConstantIgnoredRegexp, value: "^k[A-Z].*$" } # Allow "k" prefix.
10+
- { key: readability-identifier-naming.EnumConstantIgnoredRegexp, value: "^k?[A-Z][a-zA-Z0-9_]*$" } # Allow "k" prefix and underscores.
1211
- { key: readability-identifier-naming.FunctionCase, value: camelBack }
1312
- { key: readability-identifier-naming.MacroDefinitionCase, value: UPPER_CASE }
14-
- { key: readability-identifier-naming.MacroDefinitionIgnoredRegexp, value: "^[A-Z]+(_[A-Z]+)*_$" } # Allow the trailing underscore in header guards.
13+
- { key: readability-identifier-naming.MacroDefinitionIgnoredRegexp, value: "^[A-Z][A-Z0-9_]*_$" } # Allow the trailing underscore in header guards.
1514
- { key: readability-identifier-naming.MemberCase, value: camelBack }
1615
- { key: readability-identifier-naming.NamespaceCase, value: lower_case }
1716
- { key: readability-identifier-naming.ParameterCase, value: camelBack }

.mega-linter.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,5 +39,6 @@ PYTHON_PYRIGHT_CONFIG_FILE: pyproject.toml
3939
PYTHON_RUFF_CONFIG_FILE: pyproject.toml
4040
CPP_CPPLINT_FILE_EXTENSIONS: [".C", ".c", ".c++", ".cc", ".cl", ".cpp", ".cu", ".cuh", ".cxx", ".cxx.in", ".h", ".h++", ".hh", ".h.in", ".hpp", ".hxx", ".inc", ".inl", ".macro"]
4141
CPP_CLANG_FORMAT_FILE_EXTENSIONS: [".C", ".c", ".c++", ".cc", ".cl", ".cpp", ".cu", ".cuh", ".cxx", ".cxx.in", ".h", ".h++", ".hh", ".h.in", ".hpp", ".hxx", ".inc", ".inl", ".macro"]
42+
CPP_CPPCHECK_FILE_EXTENSIONS: [".C", ".c", ".c++", ".cc", ".cl", ".cpp", ".cu", ".cuh", ".cxx", ".cxx.in", ".h", ".h++", ".hh", ".h.in", ".hpp", ".hxx", ".inc", ".inl", ".macro"]
4243
CPP_CPPCHECK_ARGUMENTS: --language=c++ --std=c++20 --check-level=exhaustive --suppressions-list=cppcheck_config
4344
REPOSITORY_GITLEAKS_PR_COMMITS_SCAN: true

ALICE3/TableProducer/OTF/onTheFlyTracker.cxx

Lines changed: 147 additions & 106 deletions
Large diffs are not rendered by default.

CODEOWNERS

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
/PWGEM @alibuild @feisenhu @dsekihat @ivorobye
4040
/PWGEM/Dilepton @alibuild @mikesas @rbailhac @dsekihat @ivorobye @feisenhu @hscheid
4141
/PWGEM/PhotonMeson @alibuild @mikesas @rbailhac @m-c-danisch @novitzky @mhemmer-cern @dsekihat
42-
/PWGHF @alibuild @vkucera @fcolamar @fgrosa @fcatalan92 @mfaggin @mmazzilli @deepathoms @NicoleBastid @hahassan7 @jpxrk @apalasciano @zhangbiao-phy @gluparel @stefanopolitano
42+
/PWGHF @alibuild @vkucera @fcolamar @fgrosa @fcatalan92 @mfaggin @mmazzilli @deepathoms @NicoleBastid @hahassan7 @jpxrk @apalasciano @zhangbiao-phy @gluparel @stefanopolitano @xinyepeng
4343
# PWG-LF
4444
/PWGLF @alibuild @sustripathy @skundu692 @mpuccio
4545
/PWGLF/DataModel @alibuild @sustripathy @skundu692 @mpuccio @gbencedi @abmodak @fmazzasc @maciacco @dmallick2 @smaff92 @ercolessi @romainschotter
@@ -68,7 +68,7 @@
6868
/Tutorials/PWGCF @alibuild @jgrosseo @victor-gonzalez @zchochul
6969
/Tutorials/PWGDQ @alibuild @iarsene @mcoquet @lucamicheletti93
7070
/Tutorials/PWGEM @alibuild @mikesas @rbailhac @dsekihat @ivorobye @feisenhu
71-
/Tutorials/PWGHF @alibuild @vkucera @fcolamar @fgrosa @gluparel
71+
/Tutorials/PWGHF @alibuild @vkucera @fcolamar @fgrosa @gluparel @xinyepeng
7272
/Tutorials/PWGJE @alibuild @lhavener @maoyx @nzardosh @mfasDa @fjonasALICE
7373
/Tutorials/PWGLF @alibuild @alcaliva @lbariogl @chiarapinto @BongHwi @lbarnby @ercolessi @iravasen @njacazio @romainschotter @skundu692
7474
/Tutorials/PWGMM @alibuild @aalkin @ddobrigk

Common/Core/fwdtrackUtilities.h

Lines changed: 71 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
#ifndef COMMON_CORE_FWDTRACKUTILITIES_H_
1919
#define COMMON_CORE_FWDTRACKUTILITIES_H_
2020

21+
#include "Framework/AnalysisDataModel.h"
2122
#include <DetectorsBase/GeometryManager.h>
2223
#include <Field/MagneticField.h>
2324
#include <GlobalTracking/MatchGlobalFwd.h>
@@ -29,6 +30,7 @@
2930
#include <Math/SMatrix.h>
3031
#include <TGeoGlobalMagField.h>
3132

33+
#include <type_traits>
3234
#include <vector>
3335

3436
namespace o2::aod
@@ -40,30 +42,71 @@ enum class propagationPoint : int {
4042
kToVertex = 0,
4143
kToDCA = 1,
4244
kToRabs = 2,
45+
kToMatchingPlane = 3,
4346
};
4447
using SMatrix55 = ROOT::Math::SMatrix<double, 5, 5, ROOT::Math::MatRepSym<double, 5>>;
4548
using SMatrix55Std = ROOT::Math::SMatrix<double, 5>;
4649
using SMatrix5 = ROOT::Math::SVector<double, 5>;
4750

48-
/// propagate fwdtrack to a certain point.
49-
template <typename TFwdTrack, typename TCollision>
50-
o2::dataformats::GlobalFwdTrack propagateMuon(TFwdTrack const& muon, TCollision const& collision, const propagationPoint endPoint)
51+
template <typename TFwdTrack, typename TFwdTrackCov>
52+
o2::track::TrackParCovFwd getTrackParCovFwd(TFwdTrack const& track, TFwdTrackCov const& cov)
5153
{
52-
double chi2 = muon.chi2();
53-
SMatrix5 tpars(muon.x(), muon.y(), muon.phi(), muon.tgl(), muon.signed1Pt());
54-
std::vector<double> v1{muon.cXX(), muon.cXY(), muon.cYY(), muon.cPhiX(), muon.cPhiY(),
55-
muon.cPhiPhi(), muon.cTglX(), muon.cTglY(), muon.cTglPhi(), muon.cTglTgl(),
56-
muon.c1PtX(), muon.c1PtY(), muon.c1PtPhi(), muon.c1PtTgl(), muon.c1Pt21Pt2()};
54+
// This function works for both (saMuon, saMuon) and (MFTTrack, MFTTrackCov).
55+
// Don't use covariant matrix of global muons stored in AO2D.root.
56+
57+
double chi2 = track.chi2();
58+
if constexpr (std::is_same_v<std::decay_t<TFwdTrackCov>, aod::MFTTracksCov::iterator>) {
59+
chi2 = track.chi2();
60+
} else {
61+
if (track.trackType() == o2::aod::fwdtrack::ForwardTrackTypeEnum::GlobalMuonTrack) {
62+
chi2 = track.chi2();
63+
} else if (track.trackType() == o2::aod::fwdtrack::ForwardTrackTypeEnum::MuonStandaloneTrack) {
64+
chi2 = track.chi2() * (2.f * track.nClusters() - 5.f);
65+
}
66+
}
67+
68+
SMatrix5 tpars(track.x(), track.y(), track.phi(), track.tgl(), track.signed1Pt());
69+
std::vector<double> v1{cov.cXX(), cov.cXY(), cov.cYY(), cov.cPhiX(), cov.cPhiY(),
70+
cov.cPhiPhi(), cov.cTglX(), cov.cTglY(), cov.cTglPhi(), cov.cTglTgl(),
71+
cov.c1PtX(), cov.c1PtY(), cov.c1PtPhi(), cov.c1PtTgl(), cov.c1Pt21Pt2()};
5772
SMatrix55 tcovs(v1.begin(), v1.end());
58-
o2::track::TrackParCovFwd fwdtrack{muon.z(), tpars, tcovs, chi2};
73+
o2::track::TrackParCovFwd trackparCov{track.z(), tpars, tcovs, chi2}; // this is chi2! Not chi2/ndf.
74+
v1.clear();
75+
v1.shrink_to_fit();
76+
return trackparCov;
77+
}
78+
79+
/// propagate fwdtrack to a certain point.
80+
template <typename TFwdTrack, typename TFwdTrackCov, typename TCollision>
81+
o2::dataformats::GlobalFwdTrack propagateMuon(TFwdTrack const& muon, TFwdTrackCov const& cov, TCollision const& collision, const propagationPoint endPoint, const float matchingZ, const float bzkG)
82+
{
83+
o2::track::TrackParCovFwd trackParCovFwd;
84+
if (muon.trackType() == o2::aod::fwdtrack::ForwardTrackTypeEnum::GlobalMuonTrack) {
85+
trackParCovFwd = getTrackParCovFwd(muon, cov);
86+
} else if (muon.trackType() == o2::aod::fwdtrack::ForwardTrackTypeEnum::MuonStandaloneTrack) {
87+
trackParCovFwd = getTrackParCovFwd(muon, muon);
88+
} else {
89+
trackParCovFwd = getTrackParCovFwd(muon, muon);
90+
}
91+
92+
o2::dataformats::GlobalFwdTrack propmuon = propagateTrackParCovFwd(trackParCovFwd, muon.trackType(), collision, endPoint, matchingZ, bzkG);
93+
return propmuon;
94+
}
95+
96+
template <typename TFwdTrackParCov, typename TCollision>
97+
o2::dataformats::GlobalFwdTrack propagateTrackParCovFwd(TFwdTrackParCov const& fwdtrackORG, uint8_t trackType, TCollision const& collision, const propagationPoint endPoint, const float matchingZ, const float bzkG)
98+
{
99+
// TFwdTrackParCov is o2::track::TrackParCovFwd
100+
101+
o2::track::TrackParCovFwd fwdtrack(fwdtrackORG);
59102
o2::dataformats::GlobalFwdTrack propmuon;
60103
o2::globaltracking::MatchGlobalFwd mMatching;
61104

62-
if (static_cast<int>(muon.trackType()) > 2) { // MCH-MID or MCH standalone
105+
if (trackType > 2) { // MCH-MID or MCH standalone
63106
o2::dataformats::GlobalFwdTrack track;
64-
track.setParameters(tpars);
107+
track.setParameters(fwdtrack.getParameters());
65108
track.setZ(fwdtrack.getZ());
66-
track.setCovariances(tcovs);
109+
track.setCovariances(fwdtrack.getCovariances());
67110
auto mchTrack = mMatching.FwdtoMCH(track);
68111

69112
if (endPoint == propagationPoint::kToVertex) {
@@ -72,37 +115,42 @@ o2::dataformats::GlobalFwdTrack propagateMuon(TFwdTrack const& muon, TCollision
72115
o2::mch::TrackExtrap::extrapToVertexWithoutBranson(mchTrack, collision.posZ());
73116
} else if (endPoint == propagationPoint::kToRabs) {
74117
o2::mch::TrackExtrap::extrapToZ(mchTrack, -505.);
118+
} else if (endPoint == propagationPoint::kToMatchingPlane) {
119+
o2::mch::TrackExtrap::extrapToVertexWithoutBranson(mchTrack, matchingZ);
75120
}
76121

77122
auto proptrack = mMatching.MCHtoFwd(mchTrack);
78123
propmuon.setParameters(proptrack.getParameters());
79124
propmuon.setZ(proptrack.getZ());
80125
propmuon.setCovariances(proptrack.getCovariances());
81-
} else if (static_cast<int>(muon.trackType()) < 2) { // MFT-MCH-MID
82-
const double centerMFT[3] = {0, 0, -61.4};
83-
o2::field::MagneticField* field = static_cast<o2::field::MagneticField*>(TGeoGlobalMagField::Instance()->GetField());
84-
auto Bz = field->getBz(centerMFT); // Get field at centre of MFT
85-
auto geoMan = o2::base::GeometryManager::meanMaterialBudget(muon.x(), muon.y(), muon.z(), collision.posX(), collision.posY(), collision.posZ());
126+
} else if (trackType < 2) { // MFT-MCH-MID
127+
// const double centerMFT[3] = {0, 0, -61.4};
128+
// o2::field::MagneticField* field = static_cast<o2::field::MagneticField*>(TGeoGlobalMagField::Instance()->GetField());
129+
// auto Bz = field->getBz(centerMFT); // Get field at centre of MFT in kG.
130+
131+
auto geoMan = o2::base::GeometryManager::meanMaterialBudget(fwdtrack.getX(), fwdtrack.getY(), fwdtrack.getZ(), collision.posX(), collision.posY(), collision.posZ());
86132
auto x2x0 = static_cast<float>(geoMan.meanX2X0);
133+
87134
if (endPoint == propagationPoint::kToVertex) {
88-
fwdtrack.propagateToVtxhelixWithMCS(collision.posZ(), {collision.posX(), collision.posY()}, {collision.covXX(), collision.covYY()}, Bz, x2x0);
135+
fwdtrack.propagateToVtxhelixWithMCS(collision.posZ(), {collision.posX(), collision.posY()}, {collision.covXX(), collision.covYY()}, bzkG, x2x0);
89136
} else if (endPoint == propagationPoint::kToDCA) {
90-
fwdtrack.propagateToZhelix(collision.posZ(), Bz);
137+
fwdtrack.propagateToZhelix(collision.posZ(), bzkG);
138+
} else if (endPoint == propagationPoint::kToMatchingPlane) {
139+
fwdtrack.propagateToZhelix(matchingZ, bzkG);
91140
}
92141
propmuon.setParameters(fwdtrack.getParameters());
93142
propmuon.setZ(fwdtrack.getZ());
94143
propmuon.setCovariances(fwdtrack.getCovariances());
95144
}
96145

97-
v1.clear();
98-
v1.shrink_to_fit();
99-
100146
return propmuon;
101147
}
102148

103149
template <typename TFwdTrack, typename TMFTTrack>
104150
o2::dataformats::GlobalFwdTrack refitGlobalMuonCov(TFwdTrack const& muon, TMFTTrack const& mft)
105151
{
152+
// TFwdTrack and TMFTTrack are o2::track::TrackParCovFwd.
153+
106154
auto muonCov = muon.getCovariances();
107155
auto mftCov = mft.getCovariances();
108156

@@ -135,6 +183,7 @@ o2::dataformats::GlobalFwdTrack refitGlobalMuonCov(TFwdTrack const& muon, TMFTTr
135183

136184
o2::dataformats::GlobalFwdTrack globalTrack;
137185
globalTrack.setParameters(mft.getParameters());
186+
globalTrack.setZ(mft.getZ());
138187
globalTrack.setInvQPt(invQPtGlob);
139188
globalTrack.setCovariances(globalCov);
140189

Common/TableProducer/propagationServiceRun2.cxx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@ struct propagationServiceRun2 {
9191
ccdb->setCaching(true);
9292
ccdb->setLocalObjectValidityChecking();
9393
ccdb->setURL(ccdburl.value);
94+
ccdb->setFatalWhenNull(false);
9495

9596
// task-specific
9697
strangenessBuilderModule.init(baseOpts, v0BuilderOpts, cascadeBuilderOpts, preSelectOpts, histos, initContext);

Common/Tasks/qaMuon.cxx

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2591,8 +2591,15 @@ struct muonQa {
25912591
double mass = GetMuMuInvariantMass(fgValuesMuonPV1, fgValuesMuonPV2);
25922592
double pT = GetMuMuPt(fgValuesMuonPV1, fgValuesMuonPV2);
25932593
double yPair = GetMuMuRap(fgValuesMuonPV1, fgValuesMuonPV2);
2594-
double dcaXPair = muonPosPV.dcaX - muonNegPV.dcaX;
2595-
double dcaYPair = muonPosPV.dcaY - muonNegPV.dcaY;
2594+
double dcaXPair;
2595+
double dcaYPair;
2596+
if (configRealign.fDoRealign) {
2597+
dcaXPair = muonPos.dcaX - muonNeg.dcaX;
2598+
dcaYPair = muonPos.dcaY - muonNeg.dcaY;
2599+
} else {
2600+
dcaXPair = muonPosPV.dcaX - muonNegPV.dcaX;
2601+
dcaYPair = muonPosPV.dcaY - muonNegPV.dcaY;
2602+
}
25962603
// mass cuts only used for DCA of Jpsi candidates
25972604
double minJpsiMass = 2.8;
25982605
double maxJpsiMass = 3.4;

Common/Tools/Multiplicity/MultModule.h

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -772,29 +772,35 @@ class MultModule
772772
//_______________________________________________________________________
773773
// vertex-Z equalized signals
774774
if (internalOpts.mEnabledTables[kFV0MultZeqs]) {
775-
if (std::fabs(collision.posZ()) < 15.0f && lCalibLoaded) {
775+
if (mults.multFV0A > -1.0f && std::fabs(collision.posZ()) < 15.0f && lCalibLoaded) {
776776
mults.multFV0AZeq = hVtxZFV0A->Interpolate(0.0) * mults.multFV0A / hVtxZFV0A->Interpolate(collision.posZ());
777777
} else {
778778
mults.multFV0AZeq = 0.0f;
779779
}
780780
cursors.tableFV0Zeqs(mults.multFV0AZeq);
781781
}
782782
if (internalOpts.mEnabledTables[kFT0MultZeqs]) {
783-
if (std::fabs(collision.posZ()) < 15.0f && lCalibLoaded) {
783+
if (mults.multFT0A > -1.0f && std::fabs(collision.posZ()) < 15.0f && lCalibLoaded) {
784784
mults.multFT0AZeq = hVtxZFT0A->Interpolate(0.0) * mults.multFT0A / hVtxZFT0A->Interpolate(collision.posZ());
785-
mults.multFT0CZeq = hVtxZFT0C->Interpolate(0.0) * mults.multFT0C / hVtxZFT0C->Interpolate(collision.posZ());
786785
} else {
787786
mults.multFT0AZeq = 0.0f;
787+
}
788+
if (mults.multFT0C > -1.0f && std::fabs(collision.posZ()) < 15.0f && lCalibLoaded) {
789+
mults.multFT0CZeq = hVtxZFT0C->Interpolate(0.0) * mults.multFT0C / hVtxZFT0C->Interpolate(collision.posZ());
790+
} else {
788791
mults.multFT0CZeq = 0.0f;
789792
}
790793
cursors.tableFT0Zeqs(mults.multFT0AZeq, mults.multFT0CZeq);
791794
}
792795
if (internalOpts.mEnabledTables[kFDDMultZeqs]) {
793-
if (std::fabs(collision.posZ()) < 15.0f && lCalibLoaded) {
796+
if (mults.multFDDA > -1.0f && std::fabs(collision.posZ()) < 15.0f && lCalibLoaded) {
794797
mults.multFDDAZeq = hVtxZFDDA->Interpolate(0.0) * mults.multFDDA / hVtxZFDDA->Interpolate(collision.posZ());
795-
mults.multFDDCZeq = hVtxZFDDC->Interpolate(0.0) * mults.multFDDC / hVtxZFDDC->Interpolate(collision.posZ());
796798
} else {
797799
mults.multFDDAZeq = 0.0f;
800+
}
801+
if (mults.multFDDC > -1.0f && std::fabs(collision.posZ()) < 15.0f && lCalibLoaded) {
802+
mults.multFDDCZeq = hVtxZFDDC->Interpolate(0.0) * mults.multFDDC / hVtxZFDDC->Interpolate(collision.posZ());
803+
} else {
798804
mults.multFDDCZeq = 0.0f;
799805
}
800806
cursors.tableFDDZeqs(mults.multFDDAZeq, mults.multFDDCZeq);

Common/Tools/StandardCCDBLoader.h

Lines changed: 23 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818

1919
#include <DataFormatsCalibration/MeanVertexObject.h>
2020
#include <DataFormatsParameters/GRPMagField.h>
21+
#include <DataFormatsParameters/GRPObject.h>
2122
#include <DetectorsBase/MatLayerCylSet.h>
2223
#include <DetectorsBase/Propagator.h>
2324
#include <Framework/Configurable.h>
@@ -43,6 +44,7 @@ struct StandardCCDBLoaderConfigurables : o2::framework::ConfigurableGroup {
4344
o2::framework::Configurable<std::string> ccdburl{"ccdb-url", "http://alice-ccdb.cern.ch", "url of the ccdb repository"};
4445
o2::framework::Configurable<std::string> lutPath{"lutPath", "GLO/Param/MatLUT", "Path of the Lut parametrization"};
4546
o2::framework::Configurable<std::string> grpmagPath{"grpmagPath", "GLO/Config/GRPMagField", "CCDB path of the GRPMagField object"};
47+
o2::framework::Configurable<std::string> grpPath{"grpPath", "GLO/GRP/GRP", "Path of the grp file"};
4648
o2::framework::Configurable<std::string> mVtxPath{"mVtxPath", "GLO/Calib/MeanVertex", "Path of the mean vertex file"};
4749
};
4850

@@ -81,25 +83,36 @@ class StandardCCDBLoader
8183
return;
8284
}
8385

86+
grpmag = ccdb->template getForRun<o2::parameters::GRPMagField>(cGroup.grpmagPath.value, currentRunNumber);
87+
if (grpmag) {
88+
LOG(info) << "Setting global propagator magnetic field to current " << grpmag->getL3Current() << " A for run " << currentRunNumber << " from its GRPMagField CCDB object";
89+
o2::base::Propagator::initFieldFromGRP(grpmag);
90+
} else {
91+
LOGF(info, "GRPMagField object returned nullptr, will attempt alternate method");
92+
93+
o2::parameters::GRPObject* grpo = 0x0;
94+
grpo = ccdb->template getForRun<o2::parameters::GRPObject>(cGroup.grpPath.value, currentRunNumber);
95+
if (!grpo) {
96+
LOG(fatal) << "Alternate path failed! Got nullptr from CCDB for path " << cGroup.grpPath << " of object GRPObject for run " << currentRunNumber;
97+
}
98+
o2::base::Propagator::initFieldFromGRP(grpo);
99+
}
100+
if (getMeanVertex) {
101+
// only try this if explicitly requested
102+
mMeanVtx = ccdb->template getForRun<o2::dataformats::MeanVertexObject>(cGroup.mVtxPath.value, currentRunNumber);
103+
} else {
104+
mMeanVtx = nullptr;
105+
}
106+
84107
// load matLUT for this timestamp
85108
if (!lut) {
86109
LOG(info) << "Loading material look-up table for timestamp: " << currentRunNumber;
87110
lut = o2::base::MatLayerCylSet::rectifyPtrFromFile(ccdb->template getForRun<o2::base::MatLayerCylSet>(cGroup.lutPath.value, currentRunNumber));
88111
} else {
89112
LOG(info) << "Material look-up table already in place. Not reloading.";
90113
}
91-
92-
grpmag = ccdb->template getForRun<o2::parameters::GRPMagField>(cGroup.grpmagPath.value, currentRunNumber);
93-
LOG(info) << "Setting global propagator magnetic field to current " << grpmag->getL3Current() << " A for run " << currentRunNumber << " from its GRPMagField CCDB object";
94-
o2::base::Propagator::initFieldFromGRP(grpmag);
95114
LOG(info) << "Setting global propagator material propagation LUT";
96115
o2::base::Propagator::Instance()->setMatLUT(lut);
97-
if (getMeanVertex) {
98-
// only try this if explicitly requested
99-
mMeanVtx = ccdb->template getForRun<o2::dataformats::MeanVertexObject>(cGroup.mVtxPath.value, currentRunNumber);
100-
} else {
101-
mMeanVtx = nullptr;
102-
}
103116

104117
runNumber = currentRunNumber;
105118
}

0 commit comments

Comments
 (0)