From 5601ba0286cf05e85a9595bb4a7117b8ac56775e Mon Sep 17 00:00:00 2001 From: Nicola Nicassio Date: Tue, 24 Jun 2025 11:42:15 +0200 Subject: [PATCH 1/3] Adding dummy nSigma values in RICH tables to avoid mismatch with track size --- ALICE3/TableProducer/OTF/onTheFlyRichPid.cxx | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/ALICE3/TableProducer/OTF/onTheFlyRichPid.cxx b/ALICE3/TableProducer/OTF/onTheFlyRichPid.cxx index 82816062390..c8cf8846e38 100644 --- a/ALICE3/TableProducer/OTF/onTheFlyRichPid.cxx +++ b/ALICE3/TableProducer/OTF/onTheFlyRichPid.cxx @@ -745,10 +745,15 @@ struct OnTheFlyRichPid { } for (const auto& track : tracks) { + + float nSigmaBarrelRich[5] = {error_value, error_value, error_value, error_value, error_value}; + // first step: find precise arrival time (if any) // --- convert track into perfect track - if (!track.has_mcParticle()) // should always be OK but check please + if (!track.has_mcParticle()){ // should always be OK but check please + upgradeRich(nSigmaBarrelRich[0], nSigmaBarrelRich[1], nSigmaBarrelRich[2], nSigmaBarrelRich[3], nSigmaBarrelRich[4]); continue; + } auto mcParticle = track.mcParticle(); o2::track::TrackParCov o2track = o2::upgrade::convertMCParticleToO2Track(mcParticle, pdg); @@ -761,12 +766,14 @@ struct OnTheFlyRichPid { // get particle to calculate Cherenkov angle and resolution auto pdgInfo = pdg->GetParticle(mcParticle.pdgCode()); if (pdgInfo == nullptr) { + upgradeRich(nSigmaBarrelRich[0], nSigmaBarrelRich[1], nSigmaBarrelRich[2], nSigmaBarrelRich[3], nSigmaBarrelRich[4]); continue; } // find track bRICH sector int i_sector = findSector(o2track.getEta()); if (i_sector < 0) { + upgradeRich(nSigmaBarrelRich[0], nSigmaBarrelRich[1], nSigmaBarrelRich[2], nSigmaBarrelRich[3], nSigmaBarrelRich[4]); continue; } @@ -794,12 +801,12 @@ struct OnTheFlyRichPid { } // Straight to Nsigma - float deltaThetaBarrelRich[5], nSigmaBarrelRich[5]; + float deltaThetaBarrelRich[5];//, nSigmaBarrelRich[5]; int lpdg_array[5] = {kElectron, kMuonMinus, kPiPlus, kKPlus, kProton}; float masses[5]; for (int ii = 0; ii < 5; ii++) { - nSigmaBarrelRich[ii] = error_value; + //nSigmaBarrelRich[ii] = error_value; auto pdgInfoThis = pdg->GetParticle(lpdg_array[ii]); masses[ii] = pdgInfoThis->Mass(); From b2d1831552ec8dbb438cd9fcfe57779d8200aea7 Mon Sep 17 00:00:00 2001 From: Nicola Nicassio Date: Tue, 24 Jun 2025 12:00:27 +0200 Subject: [PATCH 2/3] Adding dummy nSigma values in RICH tables to avoid mismatch with track size --- ALICE3/TableProducer/OTF/onTheFlyRichPid.cxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ALICE3/TableProducer/OTF/onTheFlyRichPid.cxx b/ALICE3/TableProducer/OTF/onTheFlyRichPid.cxx index c8cf8846e38..0c51c73a716 100644 --- a/ALICE3/TableProducer/OTF/onTheFlyRichPid.cxx +++ b/ALICE3/TableProducer/OTF/onTheFlyRichPid.cxx @@ -750,7 +750,7 @@ struct OnTheFlyRichPid { // first step: find precise arrival time (if any) // --- convert track into perfect track - if (!track.has_mcParticle()){ // should always be OK but check please + if (!track.has_mcParticle()) { // should always be OK but check please upgradeRich(nSigmaBarrelRich[0], nSigmaBarrelRich[1], nSigmaBarrelRich[2], nSigmaBarrelRich[3], nSigmaBarrelRich[4]); continue; } @@ -806,7 +806,7 @@ struct OnTheFlyRichPid { float masses[5]; for (int ii = 0; ii < 5; ii++) { - //nSigmaBarrelRich[ii] = error_value; + // nSigmaBarrelRich[ii] = error_value; auto pdgInfoThis = pdg->GetParticle(lpdg_array[ii]); masses[ii] = pdgInfoThis->Mass(); From 22238761ea4a4e1b25bc24d8ab1a0a5d78ada9c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=B2=20Jacazio?= Date: Tue, 24 Jun 2025 12:53:26 +0200 Subject: [PATCH 3/3] Update onTheFlyRichPid.cxx --- ALICE3/TableProducer/OTF/onTheFlyRichPid.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ALICE3/TableProducer/OTF/onTheFlyRichPid.cxx b/ALICE3/TableProducer/OTF/onTheFlyRichPid.cxx index 0c51c73a716..e3c740966d1 100644 --- a/ALICE3/TableProducer/OTF/onTheFlyRichPid.cxx +++ b/ALICE3/TableProducer/OTF/onTheFlyRichPid.cxx @@ -801,7 +801,7 @@ struct OnTheFlyRichPid { } // Straight to Nsigma - float deltaThetaBarrelRich[5];//, nSigmaBarrelRich[5]; + float deltaThetaBarrelRich[5]; //, nSigmaBarrelRich[5]; int lpdg_array[5] = {kElectron, kMuonMinus, kPiPlus, kKPlus, kProton}; float masses[5];