Skip to content

Commit 3da74bd

Browse files
authored
Merge branch 'AliceO2Group:master' into pwglf-antitriton
2 parents 0b74031 + 5e783d0 commit 3da74bd

25 files changed

Lines changed: 2302 additions & 591 deletions

ALICE3/Macros/drawFastTracker.C

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@
99
// granted to it by virtue of its status as an Intergovernmental Organization
1010
// or submit itself to any jurisdiction.
1111

12-
#include "FastTracker.h"
13-
#include "TrackUtilities.h"
12+
#include "ALICE3/Core/FastTracker.h"
13+
#include "ALICE3/Core/TrackUtilities.h"
1414

1515
#include <DataFormatsParameters/GRPMagField.h>
1616
#include <DetectorsBase/Propagator.h>

ALICE3/TableProducer/OTF/onTheFlyTracker.cxx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2116,7 +2116,7 @@ struct OnTheFlyTracker {
21162116
}
21172117
}
21182118

2119-
if (!reconstructed && processUnreconstructedTracks) {
2119+
if (!reconstructed && !processUnreconstructedTracks) {
21202120
continue; // failed to reconstruct track
21212121
}
21222122

Common/Core/PID/PIDTOFParamService.cxx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -180,9 +180,10 @@ void o2::pid::tof::TOFResponseImpl::initSetup(o2::ccdb::BasicCCDBManager* ccdb,
180180
LOG(info) << "Initializing the time shift for " << (isPositive ? "positive" : "negative")
181181
<< " from ccdb '" << nameShift << "' and timestamp " << mTimestamp
182182
<< " and pass '" << mReconstructionPass << "'";
183+
bool fatalWhenNull = mCcdb->getFatalWhenNull();
183184
mCcdb->setFatalWhenNull(false);
184185
parameters.setTimeShiftParameters(mCcdb->getSpecific<TGraph>(nameShift, mTimestamp, metadata), isPositive);
185-
mCcdb->setFatalWhenNull(true);
186+
mCcdb->setFatalWhenNull(fatalWhenNull);
186187
}
187188
LOG(info) << " test getTimeShift at 0 " << (isPositive ? "pos" : "neg") << ": "
188189
<< parameters.getTimeShift(0, isPositive);
@@ -269,9 +270,10 @@ void o2::pid::tof::TOFResponseImpl::processSetup(const int runNumber, const int6
269270
LOG(info) << "Updating the time shift for " << (isPositive ? "positive" : "negative")
270271
<< " from ccdb '" << nameShift << "' and timestamp " << mTimestamp
271272
<< " and pass '" << mReconstructionPass << "'";
273+
bool fatalWhenNull = mCcdb->getFatalWhenNull();
272274
mCcdb->setFatalWhenNull(false);
273275
parameters.setTimeShiftParameters(mCcdb->getSpecific<TGraph>(nameShift, mTimestamp, metadata), isPositive);
274-
mCcdb->setFatalWhenNull(true);
276+
mCcdb->setFatalWhenNull(fatalWhenNull);
275277
LOG(info) << " test getTimeShift at 0 " << (isPositive ? "pos" : "neg") << ": "
276278
<< parameters.getTimeShift(0, isPositive);
277279
};

Common/Core/fwdtrackUtilities.h

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,31 @@ o2::track::TrackParCovFwd getTrackParCovFwdShift(TFwdTrack const& track, float z
101101
return o2::track::TrackParCovFwd(track.z() + zshift, tpars, tcovs, chi2);
102102
}
103103

104+
inline o2::track::TrackParCovFwd getTrackParCovFwdShiftManual(
105+
const double x, const double y, const double phi, const double tgl, const double signed1Pt,
106+
const double cXX,
107+
const double cXY, const double cYY,
108+
const double cPhiX, const double cPhiY, const double cPhiPhi,
109+
const double cTglX, const double cTglY, const double cTglPhi, const double cTglTgl,
110+
const double c1PtX, const double c1PtY, const double c1PtPhi, const double c1PtTgl, const double c1Pt21Pt2,
111+
const float z, const float zshift, const float chi2)
112+
{
113+
SMatrix5 tpars(x, y, phi, tgl, signed1Pt);
114+
115+
SMatrix55 tcovs;
116+
std::vector<double> v1{
117+
cXX,
118+
cXY, cYY,
119+
cPhiX, cPhiY, cPhiPhi,
120+
cTglX, cTglY, cTglPhi, cTglTgl,
121+
c1PtX, c1PtY, c1PtPhi, c1PtTgl, c1Pt21Pt2};
122+
tcovs = SMatrix55(v1.begin(), v1.end());
123+
v1.clear();
124+
v1.shrink_to_fit();
125+
126+
return o2::track::TrackParCovFwd(z + zshift, tpars, tcovs, chi2);
127+
}
128+
104129
template <typename TFwdTrack, typename TFwdTrackCov>
105130
o2::track::TrackParCovFwd getTrackParCovFwd(TFwdTrack const& track, TFwdTrackCov const& cov)
106131
{

Common/TableProducer/propagationService.cxx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ struct propagationService {
7777
o2::pwglf::strangenessbuilder::v0Configurables v0BuilderOpts;
7878
o2::pwglf::strangenessbuilder::cascadeConfigurables cascadeBuilderOpts;
7979
o2::pwglf::strangenessbuilder::preSelectOpts preSelectOpts;
80+
o2::pwglf::strangenessbuilder::eventSelectOpts eventSelectOpts;
8081
o2::pwglf::strangenessbuilder::BuilderModule strangenessBuilderModule;
8182

8283
// the track tuner object -> needs to be here as it inherits from ConfigurableGroup (+ has its own copy of ccdbApi)
@@ -99,7 +100,7 @@ struct propagationService {
99100

100101
// task-specific
101102
trackPropagation.init(trackPropagationConfigurables, trackTunerObj, histos, initContext);
102-
strangenessBuilderModule.init(baseOpts, v0BuilderOpts, cascadeBuilderOpts, preSelectOpts, histos, initContext);
103+
strangenessBuilderModule.init(baseOpts, v0BuilderOpts, cascadeBuilderOpts, preSelectOpts, eventSelectOpts, histos, initContext);
103104
}
104105

105106
void processRealData(soa::Join<aod::Collisions, aod::EvSels> const& collisions, aod::V0s const& v0s, aod::Cascades const& cascades, aod::TrackedCascades const& trackedCascades, FullTracksExtIU const& tracks, aod::BCsWithTimestamps const& bcs)

Common/TableProducer/propagationServiceRun2.cxx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ struct propagationServiceRun2 {
7575
o2::pwglf::strangenessbuilder::v0Configurables v0BuilderOpts;
7676
o2::pwglf::strangenessbuilder::cascadeConfigurables cascadeBuilderOpts;
7777
o2::pwglf::strangenessbuilder::preSelectOpts preSelectOpts;
78+
o2::pwglf::strangenessbuilder::eventSelectOpts eventSelectOpts;
7879
o2::pwglf::strangenessbuilder::BuilderModule strangenessBuilderModule;
7980

8081
// registry
@@ -89,7 +90,7 @@ struct propagationServiceRun2 {
8990
ccdb->setFatalWhenNull(false);
9091

9192
// task-specific
92-
strangenessBuilderModule.init(baseOpts, v0BuilderOpts, cascadeBuilderOpts, preSelectOpts, histos, initContext);
93+
strangenessBuilderModule.init(baseOpts, v0BuilderOpts, cascadeBuilderOpts, preSelectOpts, eventSelectOpts, histos, initContext);
9394
}
9495

9596
void processRealData(soa::Join<aod::Collisions, aod::EvSels> const& collisions, aod::V0s const& v0s, aod::Cascades const& cascades, FullTracksExt const& tracks, aod::BCsWithTimestamps const& bcs)

Common/TableProducer/propagationServiceV2.cxx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ struct propagationServiceV2 {
8282
o2::pwglf::strangenessbuilder::v0Configurables v0BuilderOpts;
8383
o2::pwglf::strangenessbuilder::cascadeConfigurables cascadeBuilderOpts;
8484
o2::pwglf::strangenessbuilder::preSelectOpts preSelectOpts;
85+
o2::pwglf::strangenessbuilder::eventSelectOpts eventSelectOpts;
8586
o2::pwglf::strangenessbuilder::BuilderModule strangenessBuilderModule;
8687

8788
// the track tuner object -> needs to be here as it inherits from ConfigurableGroup (+ has its own copy of ccdbApi)
@@ -106,7 +107,7 @@ struct propagationServiceV2 {
106107

107108
// task-specific
108109
trackPropagation.init(trackPropagationConfigurables, trackTunerObj, histos, initContext);
109-
strangenessBuilderModule.init(baseOpts, v0BuilderOpts, cascadeBuilderOpts, preSelectOpts, histos, initContext);
110+
strangenessBuilderModule.init(baseOpts, v0BuilderOpts, cascadeBuilderOpts, preSelectOpts, eventSelectOpts, histos, initContext);
110111
}
111112

112113
// Load MatLUT once (needs rectifyPtrFromFile, kept manual), set B-field and mean vertex

Common/Tasks/centralityStudy.cxx

Lines changed: 47 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -450,45 +450,7 @@ struct centralityStudy {
450450
reportSuccess(hCentralityNTPV, "NTPV");
451451
reportSuccess(hCentralityNGlo, "NGlobals");
452452
reportSuccess(hCentralityMFT, "MFT");
453-
454453
LOGF(info, "Centrality calibration loading done.");
455-
auto getCent = [](TH1* hist, float mult) -> float {
456-
return hist ? hist->GetBinContent(mult) : 0.0;
457-
};
458-
459-
centFV0A = getCent(hCentralityFV0A, collision.multFV0A());
460-
centFT0A = getCent(hCentralityFT0A, collision.multFT0A());
461-
centFT0C = getCent(hCentralityFT0C, collision.multFT0C());
462-
centFT0M = getCent(hCentralityFT0M, collision.multFT0A() + collision.multFT0C());
463-
centFDDM = getCent(hCentralityFDDM, collision.multFDDA() + collision.multFDDC());
464-
centNTPV = getCent(hCentralityNTPV, collision.multNTracksPV());
465-
centNGlo = getCent(hCentralityNGlo, collision.multNTracksGlobal());
466-
centMFT = getCent(hCentralityMFT, collision.mftNtracks());
467-
} else if (doprocessCollisionsWithCentrality) {
468-
if constexpr (requires { collision.centFV0A(); }) {
469-
centFV0A = collision.centFV0A();
470-
}
471-
if constexpr (requires { collision.centFT0A(); }) {
472-
centFT0A = collision.centFT0A();
473-
}
474-
if constexpr (requires { collision.centFT0C(); }) {
475-
centFT0C = collision.centFT0C();
476-
}
477-
if constexpr (requires { collision.centFT0M(); }) {
478-
centFT0M = collision.centFT0M();
479-
}
480-
if constexpr (requires { collision.centFDDM(); }) {
481-
centFDDM = collision.centFDDM();
482-
}
483-
if constexpr (requires { collision.centNTPV(); }) {
484-
centNTPV = collision.centNTPV();
485-
}
486-
if constexpr (requires { collision.centNGlobal(); }) {
487-
centNGlo = collision.centNGlobal();
488-
}
489-
if constexpr (requires { collision.centMFT(); }) {
490-
centMFT = collision.centMFT();
491-
}
492454
}
493455

494456
if (!studies.doRunByRunHistograms) {
@@ -594,11 +556,58 @@ struct centralityStudy {
594556
}
595557
}
596558

559+
template <typename TCollision>
560+
void configureCentrality(const TCollision& collision)
561+
{
562+
if (ccdbSettings.fetchCentralityCalibration) {
563+
auto getCent = [](TH1* hist, float mult) -> float {
564+
static constexpr float CentralityNotFound = 105.f;
565+
return hist ? hist->GetBinContent(mult) : CentralityNotFound;
566+
};
567+
568+
centFV0A = getCent(hCentralityFV0A, collision.multFV0A());
569+
centFT0A = getCent(hCentralityFT0A, collision.multFT0A());
570+
centFT0C = getCent(hCentralityFT0C, collision.multFT0C());
571+
centFT0M = getCent(hCentralityFT0M, collision.multFT0A() + collision.multFT0C());
572+
centFDDM = getCent(hCentralityFDDM, collision.multFDDA() + collision.multFDDC());
573+
centNTPV = getCent(hCentralityNTPV, collision.multNTracksPV());
574+
centNGlo = getCent(hCentralityNGlo, collision.multNTracksGlobal());
575+
centMFT = getCent(hCentralityMFT, collision.mftNtracks());
576+
} else if (doprocessCollisionsWithCentrality) {
577+
if constexpr (requires { collision.centFV0A(); }) {
578+
centFV0A = collision.centFV0A();
579+
}
580+
if constexpr (requires { collision.centFT0A(); }) {
581+
centFT0A = collision.centFT0A();
582+
}
583+
if constexpr (requires { collision.centFT0C(); }) {
584+
centFT0C = collision.centFT0C();
585+
}
586+
if constexpr (requires { collision.centFT0M(); }) {
587+
centFT0M = collision.centFT0M();
588+
}
589+
if constexpr (requires { collision.centFDDM(); }) {
590+
centFDDM = collision.centFDDM();
591+
}
592+
if constexpr (requires { collision.centNTPV(); }) {
593+
centNTPV = collision.centNTPV();
594+
}
595+
if constexpr (requires { collision.centNGlobal(); }) {
596+
centNGlo = collision.centNGlobal();
597+
}
598+
if constexpr (requires { collision.centMFT(); }) {
599+
centMFT = collision.centMFT();
600+
}
601+
}
602+
}
603+
597604
template <typename TCollision>
598605
void genericProcessCollision(const TCollision& collision)
599606
// process this collisions
600607
{
601608
initRun(collision);
609+
configureCentrality(collision);
610+
602611
histos.fill(HIST("hCollisionSelection"), 0); // all collisions
603612
if (studies.doRunByRunHistograms) {
604613
getHist(TH1, histPath + "hCollisionSelection")->Fill(0);

Common/Tools/TrackTuner.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -940,7 +940,7 @@ struct TrackTuner : o2::framework::ConfigurableGroup {
940940

941941
// double dd0mrpn=std::abs(sd0mrpn)-std::abs(sd0mrpo);
942942
// double deltaDcaXYmean = std::abs(dcaXYMeanData) - std::abs(dcaXYMeanMC) ;
943-
double deltaDcaXYmean = dcaXYMeanData - dcaXYMeanMC;
943+
double deltaDcaXYmean = dcaXYMeanData; // - dcaXYMeanMC; // Remove the shift of the mean, already introduced in deltaDcaXYTuned
944944

945945
// double d0rpn =d0rpmc+dd0rpn-dd0mrpn;
946946
double trackParDcaXYTuned = trackParDcaXYMC + deltaDcaXYTuned + deltaDcaXYmean;

0 commit comments

Comments
 (0)