Skip to content

Commit f79e12e

Browse files
authored
Merge branch 'AliceO2Group:master' into master
2 parents a55ad77 + 5c48fd0 commit f79e12e

File tree

138 files changed

+10459
-4682
lines changed

Some content is hidden

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

138 files changed

+10459
-4682
lines changed

ALICE3/Core/FastTracker.cxx

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,34 @@ void FastTracker::AddSiliconALICE3v2(std::vector<float> pixelResolution)
144144
AddLayer("B10", 80., 250, x0OT, xrhoOT, resRPhiOT, resZOT, eff, 1);
145145
}
146146

147+
void FastTracker::AddSiliconALICE3(std::vector<float> pixelResolution)
148+
{
149+
float x0IT = 0.001; // 0.1%
150+
float x0OT = 0.01; // 1.0%
151+
float xrhoIB = 2.3292e-02; // 100 mum Si
152+
float xrhoOT = 2.3292e-01; // 1000 mum Si
153+
float eff = 1.00;
154+
155+
float resRPhiIT = pixelResolution[0];
156+
float resZIT = pixelResolution[1];
157+
float resRPhiOT = pixelResolution[2];
158+
float resZOT = pixelResolution[3];
159+
160+
AddLayer("bpipe0", 0.48, 250, 0.00042, 2.772e-02, 0.0f, 0.0f, 0.0f, 0); // 150 mum Be
161+
AddLayer("B00", 0.5, 250, x0IT, xrhoIB, resRPhiIT, resZIT, eff, 1);
162+
AddLayer("B01", 1.2, 250, x0IT, xrhoIB, resRPhiIT, resZIT, eff, 1);
163+
AddLayer("B02", 2.5, 250, x0IT, xrhoIB, resRPhiIT, resZIT, eff, 1);
164+
AddLayer("bpipe1", 3.7, 250, 0.0014, 9.24e-02, 0.0f, 0.0f, 0.0f, 0); // 500 mum Be
165+
AddLayer("B03", 7., 250, x0OT, xrhoOT, resRPhiOT, resZOT, eff, 1);
166+
AddLayer("B04", 9., 250, x0OT, xrhoOT, resRPhiOT, resZOT, eff, 1);
167+
AddLayer("B05", 12., 250, x0OT, xrhoOT, resRPhiOT, resZOT, eff, 1);
168+
AddLayer("B06", 20., 250, x0OT, xrhoOT, resRPhiOT, resZOT, eff, 1);
169+
AddLayer("B07", 30., 250, x0OT, xrhoOT, resRPhiOT, resZOT, eff, 1);
170+
AddLayer("B08", 45., 250, x0OT, xrhoOT, resRPhiOT, resZOT, eff, 1);
171+
AddLayer("B09", 60., 250, x0OT, xrhoOT, resRPhiOT, resZOT, eff, 1);
172+
AddLayer("B10", 80., 250, x0OT, xrhoOT, resRPhiOT, resZOT, eff, 1);
173+
}
174+
147175
void FastTracker::AddTPC(float phiResMean, float zResMean)
148176
{
149177
LOG(info) << " Adding standard time projection chamber";
@@ -307,7 +335,7 @@ int FastTracker::FastTrack(o2::track::TrackParCov inputTrack, o2::track::TrackPa
307335
break;
308336
}
309337
}
310-
if (firstActiveLayer <= 0) {
338+
if (firstActiveLayer < 0) {
311339
LOG(fatal) << "No active layers found in FastTracker, check layer setup";
312340
return -2; // no active layers
313341
}

ALICE3/Core/FastTracker.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,11 @@ class FastTracker
4242
// Layer and layer configuration
4343
void AddLayer(TString name, float r, float z, float x0, float xrho, float resRPhi = 0.0f, float resZ = 0.0f, float eff = 0.0f, int type = 0);
4444
DetLayer GetLayer(const int layer, bool ignoreBarrelLayers = true) const;
45+
std::vector<DetLayer> GetLayers() const { return layers; }
4546
int GetLayerIndex(const std::string& name) const;
4647
size_t GetNLayers() const { return layers.size(); }
4748
bool IsLayerInert(const int layer) const { return layers[layer].isInert(); }
49+
void ClearLayers() { layers.clear(); }
4850
void SetRadiationLength(const std::string layerName, float x0) { layers[GetLayerIndex(layerName)].setRadiationLength(x0); }
4951
void SetRadius(const std::string layerName, float r) { layers[GetLayerIndex(layerName)].setRadius(r); }
5052
void SetResolutionRPhi(const std::string layerName, float resRPhi) { layers[GetLayerIndex(layerName)].setResolutionRPhi(resRPhi); }
@@ -57,6 +59,7 @@ class FastTracker
5759

5860
void AddSiliconALICE3v4(std::vector<float> pixelResolution);
5961
void AddSiliconALICE3v2(std::vector<float> pixelResolution);
62+
void AddSiliconALICE3(std::vector<float> pixelResolution);
6063
void AddTPC(float phiResMean, float zResMean);
6164

6265
void Print();

ALICE3/TableProducer/alice3-multicharmTable.cxx

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,8 @@ struct alice3multicharmTable {
162162
Partition<alice3tracks> tracksPiFromXiC =
163163
((aod::a3DecayMap::decayMap & trackSelectionPiFromXiC) == trackSelectionPiFromXiC) && aod::track::signed1Pt > 0.0f && 1.0f / nabs(aod::track::signed1Pt) > minPiCPt&& nabs(aod::track::dcaXY) > piFromXiC_dcaXYconstant + piFromXiC_dcaXYpTdep* nabs(aod::track::signed1Pt) && nabs(aod::track::dcaZ) > piFromXiC_dcaZconstant + piFromXiC_dcaZpTdep* nabs(aod::track::signed1Pt);
164164

165-
Partition<alice3tracks> tracksPiFromXiCC = ((aod::a3DecayMap::decayMap & trackSelectionPiFromXiCC) == trackSelectionPiFromXiCC) && aod::track::signed1Pt > 0.0f && 1.0f / nabs(aod::track::signed1Pt) > minPiCCPt&& nabs(aod::track::dcaXY) > piFromXiCC_dcaXYconstant + piFromXiCC_dcaXYpTdep* nabs(aod::track::signed1Pt);
165+
Partition<alice3tracks> tracksPiFromXiCC =
166+
((aod::a3DecayMap::decayMap & trackSelectionPiFromXiCC) == trackSelectionPiFromXiCC) && aod::track::signed1Pt > 0.0f && 1.0f / nabs(aod::track::signed1Pt) > minPiCCPt&& nabs(aod::track::dcaXY) > piFromXiCC_dcaXYconstant + piFromXiCC_dcaXYpTdep* nabs(aod::track::signed1Pt) && nabs(aod::track::dcaZ) > piFromXiCC_dcaZconstant + piFromXiCC_dcaZpTdep* nabs(aod::track::signed1Pt);
166167

167168
// Helper struct to pass candidate information
168169
struct {
@@ -446,6 +447,13 @@ struct alice3multicharmTable {
446447
histos.add("hPi2cPt", "hPi2cPt", kTH1D, {axisPt});
447448
histos.add("hPiccPt", "hPiccPt", kTH1D, {axisPt});
448449

450+
histos.add("hPi1cDCAxy", "hPi1cDCAxy", kTH1D, {axisDCA});
451+
histos.add("hPi1cDCAz", "hPi1cDCAz", kTH1D, {axisDCA});
452+
histos.add("hPi2cDCAxy", "hPi2cDCAxy", kTH1D, {axisDCA});
453+
histos.add("hPi2cDCAz", "hPi2cDCAz", kTH1D, {axisDCA});
454+
histos.add("hPiccDCAxy", "hPiccDCAxy", kTH1D, {axisDCA});
455+
histos.add("hPiccDCAz", "hPiccDCAz", kTH1D, {axisDCA});
456+
449457
histos.add("hMinXiDecayRadius", "hMinXiDecayRadius", kTH1D, {axisRadius2DXi});
450458
histos.add("hMinXiCDecayRadius", "hMinXiCDecayRadius", kTH1D, {axisRadius});
451459
histos.add("hMinXiCCDecayRadius", "hMinXiCCDecayRadius", kTH1D, {axisRadius});
@@ -780,6 +788,13 @@ struct alice3multicharmTable {
780788
piFromLa.pt(), piFromLa.eta(),
781789
piFromLa.dcaXY(), piFromLa.dcaZ(),
782790
pi1c.eta(), pi2c.eta(), picc.eta());
791+
792+
histos.fill(HIST("hPi1cDCAxy"), std::abs(pi1c.dcaXY() * 1e+4));
793+
histos.fill(HIST("hPi1cDCAz"), std::abs(pi1c.dcaZ() * 1e+4));
794+
histos.fill(HIST("hPi2cDCAxy"), std::abs(pi2c.dcaXY() * 1e+4));
795+
histos.fill(HIST("hPi2cDCAz"), std::abs(pi2c.dcaZ() * 1e+4));
796+
histos.fill(HIST("hPiccDCAxy"), std::abs(picc.dcaXY() * 1e+4));
797+
histos.fill(HIST("hPiccDCAz"), std::abs(picc.dcaZ() * 1e+4));
783798
}
784799
}
785800
histos.fill(HIST("hCombinationsXiCC"), nCombinationsCC);

ALICE3/Tasks/alice3-multicharm.cxx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -255,7 +255,7 @@ struct alice3multicharm {
255255
histos.add("hBDTScoreVsXiccPt", "hBDTScoreVsXiccPt", kTH2D, {axisPt, axisBDTScore});
256256
histos.add("h3dBDTScore", "h3dBDTScore", kTH3D, {axisPt, axisXiccMass, axisBDTScore});
257257
for (const auto& score : bdt.requiredScores.value) {
258-
histPath = std::format("MLQA/RequiredBDTScore_{}/", static_cast<int>(score * 100));
258+
histPath = std::format("MLQA/RequiredBDTScore_{}/", static_cast<int>(score * 10000));
259259
histPointers.insert({histPath + "hDCAXicDaughters", histos.add((histPath + "hDCAXicDaughters").c_str(), "hDCAXicDaughters", {kTH1D, {{axisDcaDaughters}}})});
260260
histPointers.insert({histPath + "hDCAXiccDaughters", histos.add((histPath + "hDCAXiccDaughters").c_str(), "hDCAXiccDaughters", {kTH1D, {{axisDcaDaughters}}})});
261261
histPointers.insert({histPath + "hDCAxyXi", histos.add((histPath + "hDCAxyXi").c_str(), "hDCAxyXi", {kTH1D, {{axisDCA}}})});
@@ -329,7 +329,7 @@ struct alice3multicharm {
329329

330330
for (const auto& requiredScore : bdt.requiredScores.value) {
331331
if (bdtScore > requiredScore) {
332-
histPath = std::format("MLQA/RequiredBDTScore_{}/", static_cast<int>(requiredScore * 100));
332+
histPath = std::format("MLQA/RequiredBDTScore_{}/", static_cast<int>(requiredScore * 10000));
333333
getHist(TH1, histPath + "hDCAXicDaughters")->Fill(xiccCand.xicDauDCA() * 1e+4);
334334
getHist(TH1, histPath + "hDCAXiccDaughters")->Fill(xiccCand.xiccDauDCA() * 1e+4);
335335
getHist(TH1, histPath + "hDCAxyXi")->Fill(std::fabs(xiccCand.xiDCAxy() * 1e+4));
@@ -349,13 +349,13 @@ struct alice3multicharm {
349349
getHist(TH1, histPath + "hPi2cDCAz")->Fill(xiccCand.pi2cDCAz() * 1e+4);
350350
getHist(TH1, histPath + "hPiccDCAxy")->Fill(xiccCand.piccDCAxy() * 1e+4);
351351
getHist(TH1, histPath + "hPiccDCAz")->Fill(xiccCand.piccDCAz() * 1e+4);
352-
getHist(TH1, histPath + "hPi1cDCAz")->Fill(xiccCand.pi1cPt());
353-
getHist(TH1, histPath + "hPi2cDCAz")->Fill(xiccCand.pi2cPt());
354-
getHist(TH1, histPath + "hPiccDCAz")->Fill(xiccCand.piccPt());
352+
getHist(TH1, histPath + "hPi1cPt")->Fill(xiccCand.pi1cPt());
353+
getHist(TH1, histPath + "hPi2cPt")->Fill(xiccCand.pi2cPt());
354+
getHist(TH1, histPath + "hPiccPt")->Fill(xiccCand.piccPt());
355355
getHist(TH1, histPath + "hXiccMass")->Fill(xiccCand.xiccMass());
356356
getHist(TH1, histPath + "hXicMass")->Fill(xiccCand.xicMass());
357-
getHist(TH1, histPath + "hXiccPt")->Fill(xiccCand.xiccPt());
358357
getHist(TH1, histPath + "hXicPt")->Fill(xiccCand.xicPt());
358+
getHist(TH1, histPath + "hXiccPt")->Fill(xiccCand.xiccPt());
359359
getHist(TH3, histPath + "h3dXicc")->Fill(xiccCand.xiccPt(), xiccCand.xiccEta(), xiccCand.xiccMass());
360360
}
361361
}

Common/TableProducer/eventSelection.cxx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -289,6 +289,8 @@ struct BcSelectionTask {
289289
bcSOR = runInfo.orbitSOR * nBCsPerOrbit;
290290
// duration of TF in bcs
291291
nBCsPerTF = confNumberOfOrbitsPerTF < 0 ? runInfo.orbitsPerTF * nBCsPerOrbit : confNumberOfOrbitsPerTF * nBCsPerOrbit;
292+
if (strLPMProductionTag == "LHC25f3") // temporary workaround for MC production LHC25f3 anchored to Pb-Pb 2023 apass5 (to be removed once the info is in ccdb)
293+
nBCsPerTF = 8 * nBCsPerOrbit;
292294
}
293295

294296
// timestamp of the middle of the run used to access run-wise CCDB entries

Common/Tasks/centralityStudy.cxx

Lines changed: 55 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,7 @@ struct centralityStudy {
149149

150150
// For centrality studies if requested
151151
ConfigurableAxis axisCentrality{"axisCentrality", {100, 0, 100}, "FT0C percentile"};
152+
ConfigurableAxis axisImpactParameter{"axisImpactParameter", {200, 0.0f, 20.0f}, "b (fm)"};
152153
ConfigurableAxis axisPVChi2{"axisPVChi2", {300, 0, 30}, "FT0C percentile"};
153154
ConfigurableAxis axisDeltaTime{"axisDeltaTime", {300, 0, 300}, "#Delta time"};
154155

@@ -240,6 +241,15 @@ struct centralityStudy {
240241
histos.add("hNGlobalTracksVsNTPV", "hNGlobalTracksVsNTPV", kTH2F, {axisMultPVContributors, axisMultGlobalTracks});
241242
}
242243

244+
if (doprocessCollisionsWithResolutionStudy) {
245+
histos.add("hImpactParameterVsFT0A", "hImpactParameterVsFT0A", kTH2F, {axisMultFT0A, axisImpactParameter});
246+
histos.add("hImpactParameterVsFT0C", "hImpactParameterVsFT0C", kTH2F, {axisMultFT0C, axisImpactParameter});
247+
histos.add("hImpactParameterVsFT0M", "hImpactParameterVsFT0M", kTH2F, {axisMultFT0M, axisImpactParameter});
248+
histos.add("hImpactParameterVsFV0A", "hImpactParameterVsFV0A", kTH2F, {axisMultFV0A, axisImpactParameter});
249+
histos.add("hImpactParameterVsNMFTTracks", "hImpactParameterVsNMFTTracks", kTH2F, {axisMultMFTTracks, axisImpactParameter});
250+
histos.add("hImpactParameterVsNTPV", "hImpactParameterVsNTPV", kTH2F, {axisMultPVContributors, axisImpactParameter});
251+
}
252+
243253
if (doOccupancyStudyVsRawValues2d) {
244254
histos.add("hNcontribsProfileVsTrackOccupancyVsFT0C", "hNcontribsProfileVsTrackOccupancyVsFT0C", kTProfile2D, {axisTrackOccupancy, axisMultFT0C});
245255
histos.add("hNGlobalTracksProfileVsTrackOccupancyVsFT0C", "hNGlobalTracksProfileVsTrackOccupancyVsFT0C", kTProfile2D, {axisTrackOccupancy, axisMultFT0C});
@@ -676,6 +686,19 @@ struct centralityStudy {
676686
getHist(TH2, histPath + "hNGlobalTracksVsNTPV")->Fill(multNTracksPV, multNTracksGlobal);
677687
}
678688

689+
if constexpr (requires { collision.multMCExtraId(); }) {
690+
// requires monte carlo information
691+
if (collision.multMCExtraId() > -1) {
692+
auto mcCollision = collision.template multMCExtra_as<soa::Join<aod::MultMCExtras, aod::MultHepMCHIs>>();
693+
histos.fill(HIST("hImpactParameterVsFT0A"), multFT0A, mcCollision.impactParameter());
694+
histos.fill(HIST("hImpactParameterVsFT0C"), multFT0C, mcCollision.impactParameter());
695+
histos.fill(HIST("hImpactParameterVsFT0M"), (multFT0A + multFT0C), mcCollision.impactParameter());
696+
histos.fill(HIST("hImpactParameterVsFV0A"), multFV0A, mcCollision.impactParameter());
697+
histos.fill(HIST("hImpactParameterVsNMFTTracks"), mftNtracks, mcCollision.impactParameter());
698+
histos.fill(HIST("hImpactParameterVsNTPV"), multNTracksPV, mcCollision.impactParameter());
699+
}
700+
}
701+
679702
// if the table has centrality information
680703
if constexpr (requires { collision.centFT0C(); }) {
681704
// process FT0C centrality plots
@@ -709,29 +732,31 @@ struct centralityStudy {
709732
}
710733
}
711734

712-
if (doTimeStudies && collision.has_multBC()) {
713-
initRun(collision);
714-
auto multbc = collision.template multBC_as<aod::MultBCs>();
715-
uint64_t bcTimestamp = multbc.timestamp();
716-
float hoursAfterStartOfRun = static_cast<float>(bcTimestamp - startOfRunTimestamp) / 3600000.0;
717-
718-
getHist(TH2, histPath + "hFT0AVsTime")->Fill(hoursAfterStartOfRun, collision.multFT0A());
719-
getHist(TH2, histPath + "hFT0CVsTime")->Fill(hoursAfterStartOfRun, collision.multFT0C());
720-
getHist(TH2, histPath + "hFT0MVsTime")->Fill(hoursAfterStartOfRun, collision.multFT0M());
721-
getHist(TH2, histPath + "hFV0AVsTime")->Fill(hoursAfterStartOfRun, collision.multFV0A());
722-
getHist(TH2, histPath + "hFV0AOuterVsTime")->Fill(hoursAfterStartOfRun, collision.multFV0AOuter());
723-
getHist(TH2, histPath + "hMFTTracksVsTime")->Fill(hoursAfterStartOfRun, collision.mftNtracks());
724-
getHist(TH2, histPath + "hNGlobalVsTime")->Fill(hoursAfterStartOfRun, collision.multNTracksGlobal());
725-
getHist(TH2, histPath + "hNTPVContributorsVsTime")->Fill(hoursAfterStartOfRun, collision.multPVTotalContributors());
726-
getHist(TProfile, histPath + "hPVzProfileCoVsTime")->Fill(hoursAfterStartOfRun, collision.multPVz());
727-
getHist(TProfile, histPath + "hPVzProfileBcVsTime")->Fill(hoursAfterStartOfRun, multbc.multFT0PosZ());
728-
if (doTimeStudyFV0AOuterVsFT0A3d) {
729-
histos.fill(HIST("h3dFV0AVsTime"), hoursAfterStartOfRun, collision.multFV0A(), collision.multFV0AOuter());
730-
}
731-
732-
if (irDoRateVsTime) {
733-
float interactionRate = mRateFetcher.fetch(ccdb.service, bcTimestamp, mRunNumber, irSource.value, irCrashOnNull) / 1000.; // kHz
734-
getHist(TProfile, histPath + "hIRProfileVsTime")->Fill(hoursAfterStartOfRun, interactionRate);
735+
if constexpr (requires { collision.has_multBC(); }) {
736+
if (doTimeStudies && collision.has_multBC()) {
737+
initRun(collision);
738+
auto multbc = collision.template multBC_as<aod::MultBCs>();
739+
uint64_t bcTimestamp = multbc.timestamp();
740+
float hoursAfterStartOfRun = static_cast<float>(bcTimestamp - startOfRunTimestamp) / 3600000.0;
741+
742+
getHist(TH2, histPath + "hFT0AVsTime")->Fill(hoursAfterStartOfRun, collision.multFT0A());
743+
getHist(TH2, histPath + "hFT0CVsTime")->Fill(hoursAfterStartOfRun, collision.multFT0C());
744+
getHist(TH2, histPath + "hFT0MVsTime")->Fill(hoursAfterStartOfRun, collision.multFT0M());
745+
getHist(TH2, histPath + "hFV0AVsTime")->Fill(hoursAfterStartOfRun, collision.multFV0A());
746+
getHist(TH2, histPath + "hFV0AOuterVsTime")->Fill(hoursAfterStartOfRun, collision.multFV0AOuter());
747+
getHist(TH2, histPath + "hMFTTracksVsTime")->Fill(hoursAfterStartOfRun, collision.mftNtracks());
748+
getHist(TH2, histPath + "hNGlobalVsTime")->Fill(hoursAfterStartOfRun, collision.multNTracksGlobal());
749+
getHist(TH2, histPath + "hNTPVContributorsVsTime")->Fill(hoursAfterStartOfRun, collision.multPVTotalContributors());
750+
getHist(TProfile, histPath + "hPVzProfileCoVsTime")->Fill(hoursAfterStartOfRun, collision.multPVz());
751+
getHist(TProfile, histPath + "hPVzProfileBcVsTime")->Fill(hoursAfterStartOfRun, multbc.multFT0PosZ());
752+
if (doTimeStudyFV0AOuterVsFT0A3d) {
753+
histos.fill(HIST("h3dFV0AVsTime"), hoursAfterStartOfRun, collision.multFV0A(), collision.multFV0AOuter());
754+
}
755+
756+
if (irDoRateVsTime) {
757+
float interactionRate = mRateFetcher.fetch(ccdb.service, bcTimestamp, mRunNumber, irSource.value, irCrashOnNull) / 1000.; // kHz
758+
getHist(TProfile, histPath + "hIRProfileVsTime")->Fill(hoursAfterStartOfRun, interactionRate);
759+
}
735760
}
736761
}
737762
}
@@ -741,12 +766,17 @@ struct centralityStudy {
741766
genericProcessCollision(collision);
742767
}
743768

769+
void processCollisionsWithResolutionStudy(soa::Join<aod::MultsRun3, aod::MFTMults, aod::Mult2MCExtras, aod::MultsExtra, aod::MultsGlobal, aod::MultSelections, aod::Mults2BC, aod::FV0AOuterMults>::iterator const& collision, soa::Join<aod::MultMCExtras, aod::MultHepMCHIs> const&)
770+
{
771+
genericProcessCollision(collision);
772+
}
773+
744774
void processCollisionsWithCentrality(soa::Join<aod::MultsRun3, aod::MFTMults, aod::MultsExtra, aod::MultSelections, aod::CentFT0Cs, aod::MultsGlobal, aod::Mults2BC, aod::FV0AOuterMults>::iterator const& collision, aod::MultBCs const&)
745775
{
746776
genericProcessCollision(collision);
747777
}
748778

749-
void processCollisionsWithCentralityWithNeighbours(soa::Join<aod::MultsRun3, aod::MFTMults, aod::MultsExtra, aod::MultSelections, aod::CentFT0Cs, aod::MultsGlobal, aod::MultNeighs, aod::Mults2BC, aod::FV0AOuterMults>::iterator const& collision, aod::MultBCs const&)
779+
void processCollisionsWithCentralityWithNeighbours(soa::Join<aod::MultsRun3, aod::MFTMults, aod::MultsExtra, aod::MultSelections, aod::CentFT0Cs, aod::MultsGlobal, aod::MultNeighs, aod::FV0AOuterMults>::iterator const& collision)
750780
{
751781
genericProcessCollision(collision);
752782
}
@@ -814,6 +844,7 @@ struct centralityStudy {
814844
}
815845

816846
PROCESS_SWITCH(centralityStudy, processCollisions, "per-collision analysis", false);
847+
PROCESS_SWITCH(centralityStudy, processCollisionsWithResolutionStudy, "per-collision analysis, with reso study", false);
817848
PROCESS_SWITCH(centralityStudy, processCollisionsWithCentrality, "per-collision analysis", true);
818849
PROCESS_SWITCH(centralityStudy, processCollisionsWithCentralityWithNeighbours, "per-collision analysis", false);
819850
PROCESS_SWITCH(centralityStudy, processBCs, "per-BC analysis", true);

Common/Tools/EventSelectionTools.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -220,6 +220,8 @@ class BcSelectionModule
220220
bcSOR = runInfo.orbitSOR * nBCsPerOrbit;
221221
// duration of TF in bcs
222222
nBCsPerTF = bcselOpts.confNumberOfOrbitsPerTF < 0 ? runInfo.orbitsPerTF * nBCsPerOrbit : bcselOpts.confNumberOfOrbitsPerTF * nBCsPerOrbit;
223+
if (strLPMProductionTag == "LHC25f3") // temporary workaround for MC production LHC25f3 anchored to Pb-Pb 2023 apass5 (to be removed once the info is in ccdb)
224+
nBCsPerTF = 8 * nBCsPerOrbit;
223225
}
224226

225227
// timestamp of the middle of the run used to access run-wise CCDB entries

0 commit comments

Comments
 (0)