Skip to content

Commit 9468bd8

Browse files
committed
Merge remote-tracking branch 'upstream/master' into SpinCorrMix
2 parents 7c6d0c9 + bc5950b commit 9468bd8

File tree

63 files changed

+4892
-3128
lines changed

Some content is hidden

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

63 files changed

+4892
-3128
lines changed

ALICE3/TableProducer/OTF/onTheFlyTracker.cxx

Lines changed: 267 additions & 226 deletions
Large diffs are not rendered by default.

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/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
}

PWGCF/Femto/FemtoNuclei/DataModel/PionNucleiTables.h

Lines changed: 3 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ DECLARE_SOA_COLUMN(MassTOFPi, massTOFPi, float);
5757
DECLARE_SOA_COLUMN(PidTrkNu, pidTrkNu, uint32_t);
5858
DECLARE_SOA_COLUMN(PidTrkPi, pidTrkPi, uint32_t);
5959
DECLARE_SOA_COLUMN(TrackIDPi, trackIDPi, int);
60+
DECLARE_SOA_COLUMN(TrackIDNu, trackIDNu, int);
6061

6162
DECLARE_SOA_COLUMN(ItsClusterSizeNu, itsClusterSizeNu, uint32_t);
6263
DECLARE_SOA_COLUMN(ItsClusterSizePi, itsClusterSizePi, uint32_t);
@@ -76,35 +77,8 @@ DECLARE_SOA_COLUMN(MultiplicityFT0C, multiplicityFT0C, float);
7677
} // namespace pion_nuclei_tables
7778

7879
DECLARE_SOA_TABLE(PionNucleiTable, "AOD", "PINUCLEITABLE",
79-
pion_nuclei_tables::PtNu,
80-
pion_nuclei_tables::EtaNu,
81-
pion_nuclei_tables::PhiNu,
82-
pion_nuclei_tables::PtPi,
83-
pion_nuclei_tables::EtaPi,
84-
pion_nuclei_tables::PhiPi,
85-
pion_nuclei_tables::DcaxyNu,
86-
pion_nuclei_tables::DcazNu,
87-
pion_nuclei_tables::DcaxyPi,
88-
pion_nuclei_tables::DcazPi,
89-
pion_nuclei_tables::SignalTPCNu,
90-
pion_nuclei_tables::InnerParamTPCNu,
91-
pion_nuclei_tables::SignalTPCPi,
92-
pion_nuclei_tables::InnerParamTPCPi,
93-
pion_nuclei_tables::NClsTPCNu,
94-
pion_nuclei_tables::NSigmaTPCNu,
95-
pion_nuclei_tables::NSigmaTPCPi,
96-
pion_nuclei_tables::Chi2TPCNu,
97-
pion_nuclei_tables::Chi2TPCPi,
98-
pion_nuclei_tables::MassTOFNu,
99-
pion_nuclei_tables::MassTOFPi,
100-
pion_nuclei_tables::PidTrkNu,
101-
pion_nuclei_tables::PidTrkPi,
102-
pion_nuclei_tables::ItsClusterSizeNu,
103-
pion_nuclei_tables::ItsClusterSizePi,
104-
pion_nuclei_tables::SharedClustersNu,
105-
pion_nuclei_tables::SharedClustersPi,
106-
pion_nuclei_tables::IsBkgUS,
107-
pion_nuclei_tables::IsBkgEM)
80+
pion_nuclei_tables::TrackIDPi,
81+
pion_nuclei_tables::TrackIDNu)
10882
DECLARE_SOA_TABLE(PionHyperTable, "AOD", "PIHYPERTABLE",
10983
pion_nuclei_tables::PtHyp,
11084
pion_nuclei_tables::EtaHyp,

PWGCF/Femto/FemtoNuclei/TableProducer/PiNucleiFemto.cxx

Lines changed: 2 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -947,35 +947,8 @@ struct PiNucleiFemto {
947947
void fillTable(const PiNucandidate& piNucand, const Tcoll& collision)
948948
{
949949
mOutputDataTable(
950-
piNucand.recoPtNu(),
951-
piNucand.recoEtaNu(),
952-
piNucand.recoPhiNu(),
953-
piNucand.recoPtPi(),
954-
piNucand.recoEtaPi(),
955-
piNucand.recoPhiPi(),
956-
piNucand.dcaxyNu,
957-
piNucand.dcazNu,
958-
piNucand.dcaxyPi,
959-
piNucand.dcazPi,
960-
piNucand.tpcSignalNu,
961-
piNucand.momNuTPC,
962-
piNucand.tpcSignalPi,
963-
piNucand.momPiTPC,
964-
piNucand.nTPCClustersNu,
965-
piNucand.nSigmaNu,
966-
piNucand.nSigmaPi,
967-
piNucand.chi2TPCNu,
968-
piNucand.chi2TPCPi,
969-
piNucand.massTOFNu,
970-
piNucand.massTOFPi,
971-
piNucand.pidTrkNu,
972-
piNucand.pidTrkPi,
973-
piNucand.itsClSizeNu,
974-
piNucand.itsClSizePi,
975-
piNucand.sharedClustersNu,
976-
piNucand.sharedClustersPi,
977-
piNucand.isBkgUS,
978-
piNucand.isBkgEM);
950+
piNucand.trackIDPi,
951+
piNucand.trackIDNu);
979952
if (settingFillMultiplicity) {
980953
mOutputMultiplicityTable(
981954
collision.globalIndex(),

PWGCF/FemtoDream/Core/femtoDreamContainer.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -270,7 +270,7 @@ class FemtoDreamContainer
270270
}
271271
if (extendedplots) {
272272
mHistogramRegistry->fill(HIST(mFolderSuffix[mEventType]) + HIST(o2::aod::femtodreamMCparticle::MCTypeName[mc]) + HIST("/relPairkstarmTPtPart1PtPart2MultPercentile"), femtoObs, mT, part1.pt(), part2.pt(), multPercentile);
273-
if constexpr (std::is_same_v<T1, o2::aod::FDParticle> && std::is_same_v<T2, o2::aod::FDParticle>) {
273+
if constexpr (requires { part1.mLambda(); part2.mLambda(); }) {
274274
mHistogramRegistry->fill(HIST(mFolderSuffix[mEventType]) + HIST(o2::aod::femtodreamMCparticle::MCTypeName[mc]) + HIST("/invMassPart1invMassPart2kstar"), part1.mLambda(), part2.mLambda(), femtoObs);
275275
}
276276
}

PWGCF/FemtoDream/Core/femtoDreamResoSelection.h

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ class FemtoDreamResoSelection
6565
virtual ~FemtoDreamResoSelection() = default;
6666

6767
template <typename V>
68-
uint32_t getType(V const& track1, V const& track2, bool resoIsNotAnti);
68+
int getType(V const& track1, V const& track2, bool resoIsNotAnti);
6969

7070
/// assigns value from configurbale to private class member
7171
template <typename V>
@@ -218,7 +218,7 @@ class FemtoDreamResoSelection
218218
}; // namespace femtoDream
219219

220220
template <typename V>
221-
uint32_t FemtoDreamResoSelection::getType(V const& track1, V const& track2, bool resoIsNotAnti)
221+
int FemtoDreamResoSelection::getType(V const& track1, V const& track2, bool resoIsNotAnti)
222222
{
223223
float posThresh = 0.;
224224
float negThresh = 0.;
@@ -403,13 +403,9 @@ float FemtoDreamResoSelection::getNSigTotal(T const& track, V const& pid, float
403403
return std::abs(nSigTPC);
404404
}
405405

406-
float nSigTOF = 0.;
407-
if (!track.hasTOF()) {
408-
nSigTOF = 999.f;
409-
} else {
410-
nSigTOF = o2::aod::pidutils::tofNSigma(pid, track);
411-
}
412-
return std::sqrt(nSigTPC * nSigTPC + nSigTOF * nSigTOF);
406+
float nSigTOF = track.hasTOF() ? o2::aod::pidutils::tofNSigma(pid, track) : 999.f;
407+
408+
return std::hypot(nSigTPC, nSigTOF);
413409
}
414410

415411
//// new getCutContainer

0 commit comments

Comments
 (0)