diff --git a/PWGLF/TableProducer/cascadebuilder.cxx b/PWGLF/TableProducer/cascadebuilder.cxx index 7c6eb1aa85d..1e4e3db3113 100644 --- a/PWGLF/TableProducer/cascadebuilder.cxx +++ b/PWGLF/TableProducer/cascadebuilder.cxx @@ -31,6 +31,10 @@ // david.dobrigkeit.chinellato@cern.ch // +#include +#include +#include + #include "Framework/runDataProcessing.h" #include "Framework/AnalysisTask.h" #include "Framework/AnalysisDataModel.h" @@ -46,19 +50,15 @@ #include "DetectorsBase/GeometryManager.h" #include "DataFormatsParameters/GRPObject.h" #include "DataFormatsParameters/GRPMagField.h" -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "Framework/ASoAHelpers.h" +#include "CCDB/BasicCCDBManager.h" + +#include "TFile.h" +#include "TH2F.h" +#include "TProfile.h" +#include "TLorentzVector.h" +#include "Math/Vector4D.h" +#include "TPDGCode.h" +#include "TDatabasePDG.h" using namespace o2; using namespace o2::framework; @@ -139,12 +139,6 @@ struct cascadeBuilder { o2::parameters::GRPObject* grpo = ccdb->getForTimeStamp(grpPath, run3grp_timestamp); o2::parameters::GRPMagField* grpmag = 0x0; - if (!grpo) { - grpmag = ccdb->getForTimeStamp(grpmagPath, run3grp_timestamp); - if (!grpmag) { - LOG(fatal) << "Got nullptr from CCDB for path " << grpmagPath << " of object GRPMagField and " << grpPath << " of object GRPObject for timestamp " << run3grp_timestamp; - } - } if (grpo) { o2::base::Propagator::initFieldFromGRP(grpo); if (d_bz_input < -990) { @@ -155,7 +149,18 @@ struct cascadeBuilder { d_bz = d_bz_input; } } else { + grpmag = ccdb->getForTimeStamp(grpmagPath, run3grp_timestamp); + if (!grpmag) { + LOG(fatal) << "Got nullptr from CCDB for path " << grpmagPath << " of object GRPMagField and " << grpPath << " of object GRPObject for timestamp " << run3grp_timestamp; + } o2::base::Propagator::initFieldFromGRP(grpmag); + if (d_bz_input < -990) { + // Fetch magnetic field from ccdb for current collision + d_bz = std::lround(5.f * grpmag->getL3Current() / 30000.f); + LOG(info) << "Retrieved GRP for timestamp " << run3grp_timestamp << " with magnetic field of " << d_bz << " kZG"; + } else { + d_bz = d_bz_input; + } } o2::base::Propagator::Instance()->setMatLUT(lut); mRunNumber = bc.runNumber(); @@ -347,7 +352,7 @@ struct cascadeBuilder { covV0[4] = covVtxV0(2, 1); covV0[5] = covVtxV0(2, 2); - const std::array vertex = {(float)v0vtx[0], (float)v0vtx[1], (float)v0vtx[2]}; + const std::array vertex = {static_cast(v0vtx[0]), static_cast(v0vtx[1]), static_cast(v0vtx[2])}; const std::array momentum = {pvecpos[0] + pvecneg[0], pvecpos[1] + pvecneg[1], pvecpos[2] + pvecneg[2]}; auto tV0 = o2::track::TrackParCov(vertex, momentum, covV0, 0); @@ -366,7 +371,7 @@ struct cascadeBuilder { bTrack.rotateParam(fitterCasc.getTrack(1).getAlpha()); o2::base::Propagator::Instance()->propagateToX(tV0, finalXv0, d_bz, maxSnp, maxStep, matCorr); - //No material correction in V0 backpropagation to minimum + // No material correction in V0 backpropagation to minimum o2::base::Propagator::Instance()->propagateToX(bTrack, finalXbach, d_bz, maxSnp, maxStep, o2::base::Propagator::MatCorrType::USEMatCorrNONE); nCand2 = fitterCasc.process(tV0, bTrack); diff --git a/PWGLF/TableProducer/lambdakzerobuilder.cxx b/PWGLF/TableProducer/lambdakzerobuilder.cxx index 09068de7c0d..a8c8957c0fb 100644 --- a/PWGLF/TableProducer/lambdakzerobuilder.cxx +++ b/PWGLF/TableProducer/lambdakzerobuilder.cxx @@ -31,6 +31,10 @@ // david.dobrigkeit.chinellato@cern.ch // +#include +#include +#include + #include "Framework/runDataProcessing.h" #include "Framework/AnalysisTask.h" #include "Framework/AnalysisDataModel.h" @@ -46,21 +50,16 @@ #include "DetectorsBase/GeometryManager.h" #include "DataFormatsParameters/GRPObject.h" #include "DataFormatsParameters/GRPMagField.h" -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "Framework/ASoAHelpers.h" +#include "CCDB/BasicCCDBManager.h" + +#include "TFile.h" +#include "TH2F.h" +#include "TProfile.h" +#include "TLorentzVector.h" +#include "Math/Vector4D.h" +#include "TPDGCode.h" +#include "TDatabasePDG.h" #include "PWGHF/Utils/UtilsDebugLcK0Sp.h" -#include "Common/DataModel/TrackSelectionTables.h" using namespace o2; using namespace o2::framework; @@ -183,12 +182,6 @@ struct lambdakzeroBuilder { o2::parameters::GRPObject* grpo = ccdb->getForTimeStamp(grpPath, run3grp_timestamp); o2::parameters::GRPMagField* grpmag = 0x0; - if (!grpo) { - grpmag = ccdb->getForTimeStamp(grpmagPath, run3grp_timestamp); - if (!grpmag) { - LOG(fatal) << "Got nullptr from CCDB for path " << grpmagPath << " of object GRPMagField and " << grpPath << " of object GRPObject for timestamp " << run3grp_timestamp; - } - } if (grpo) { o2::base::Propagator::initFieldFromGRP(grpo); if (d_bz_input < -990) { @@ -199,7 +192,18 @@ struct lambdakzeroBuilder { d_bz = d_bz_input; } } else { + grpmag = ccdb->getForTimeStamp(grpmagPath, run3grp_timestamp); + if (!grpmag) { + LOG(fatal) << "Got nullptr from CCDB for path " << grpmagPath << " of object GRPMagField and " << grpPath << " of object GRPObject for timestamp " << run3grp_timestamp; + } o2::base::Propagator::initFieldFromGRP(grpmag); + if (d_bz_input < -990) { + // Fetch magnetic field from ccdb for current collision + d_bz = std::lround(5.f * grpmag->getL3Current() / 30000.f); + LOG(info) << "Retrieved GRP for timestamp " << run3grp_timestamp << " with magnetic field of " << d_bz << " kZG"; + } else { + d_bz = d_bz_input; + } } o2::base::Propagator::Instance()->setMatLUT(lut); mRunNumber = bc.runNumber();