Skip to content

Conversation

@Archita-Dash
Copy link
Contributor

@Archita-Dash Archita-Dash commented Sep 10, 2025

Hi Nima,

In this PR, I have added the deltaEta and deltaPhi columns following Marvin's PR : #12244

Also, I have fixed few minor bugs in my analysis task.

Cheers,
Archita

… modified the usage of dEta and dPhi accordingly in the EMCAL Hadronic correction task
@github-actions
Copy link

github-actions bot commented Sep 10, 2025

O2 linter results: ❌ 112 errors, ⚠️ 0 warnings, 🔕 0 disabled

@github-actions github-actions bot changed the title Addition of deltaEta and deltaPhi columns to the EmcalMatchedTracks tables in the JE framework + [PWGJE] Addition of deltaEta and deltaPhi columns to the EmcalMatchedTracks tables in the JE framework + Sep 10, 2025
@Archita-Dash Archita-Dash changed the title [PWGJE] Addition of deltaEta and deltaPhi columns to the EmcalMatchedTracks tables in the JE framework + Addition of deltaEta and deltaPhi columns to the EmcalMatchedTracks tables in the JE framework + fixed some bugs in the full-jet-spectra task Sep 10, 2025
@github-actions github-actions bot changed the title Addition of deltaEta and deltaPhi columns to the EmcalMatchedTracks tables in the JE framework + fixed some bugs in the full-jet-spectra task [PWGJE] Addition of deltaEta and deltaPhi columns to the EmcalMatchedTracks tables in the JE framework + fixed some bugs in the full-jet-spectra task Sep 10, 2025
@Archita-Dash
Copy link
Contributor Author

okay, now I have no clue why the alibuild checks are failing. From the logs, it is not very clear to me either.

@mhemmer-cern
Copy link
Collaborator

Hey @Archita-Dash
the only thing that is really a concern for you is PWGJE/Tasks/fullJetSpectra.cxx:2673: Add #include <algorithm> for sort [build/include_what_you_use] [4] which is why MegaLinter is failing.
the macOS build is currently failing for everyone on every PR here and in O2. People are already working on a fix, but yeah that is not related to you.

@alibuild
Copy link
Collaborator

Error while checking build/O2Physics/o2 for 8ec6fe3 at 2025-09-11 02:22:

No log files found

Full log here.

@alibuild
Copy link
Collaborator

Error while checking build/O2Physics/o2 for 66781f9 at 2025-09-11 12:19:

No log files found

Full log here.

@nzardosh
Copy link
Collaborator

Hi Archita. The PR looks good to me. Only small thing is the naming of DeltaEta and DeltaPhi. Are these really anglular differences? Maybe we can find a better name so its not confused for the DeltaEta and DeltaPhi used for DeltaR calculations.

Thanks,
Nima

@mhemmer-cern
Copy link
Collaborator

Hi Nima,
Those values are the difference between tracks and cluster. If you think the naming is confusing maybe one could add emc or tm for track matching to the columns? 🤔

@Archita-Dash
Copy link
Contributor Author

Archita-Dash commented Sep 15, 2025

Hi Archita. The PR looks good to me. Only small thing is the naming of DeltaEta and DeltaPhi. Are these really anglular differences? Maybe we can find a better name so its not confused for the DeltaEta and DeltaPhi used for DeltaR calculations.

Thanks, Nima

Hi Nima,
as rightly mentioned above by Marvin, these are not the angular differences but the differences between tracks and clusters. I stuck to this naming because it is implemented likewise in the emcal task and emcal utilities. If you suggest any specific naming convention in the JE task then I can do that or I can also change the name according to what Marvin suggested above.

Cheers.
Archita

@nzardosh
Copy link
Collaborator

Thanks for the info. Howabout EtaDiff and PhiDiff?

@Archita-Dash
Copy link
Contributor Author

Thanks for the info. Howabout EtaDiff and PhiDiff?

Okay but do these names require to be first changed in the emcal table producer task? Or I can only change within the JE framework?

@mhemmer-cern
Copy link
Collaborator

Thanks for the info. Howabout EtaDiff and PhiDiff?

Okay but do these names require to be first changed in the emcal table producer task? Or I can only change within the JE framework?

You can change them just in the JE framework. The emcal table or table producer does not need to be changed for this.

@Archita-Dash
Copy link
Contributor Author

Thanks for the info. Howabout EtaDiff and PhiDiff?

Okay but do these names require to be first changed in the emcal table producer task? Or I can only change within the JE framework?

You can change them just in the JE framework. The emcal table or table producer does not need to be changed for this.

Can either of you please guide me where exactly to make the necessary changes? If I am being correct, JetReducedData.h is the place according to my understanding and that's where I made the suggested changes:

namespace jemctrack
{
DECLARE_SOA_INDEX_COLUMN(JTrack, track);
DECLARE_SOA_COLUMN(EtaEMCAL, etaEmcal, float);
DECLARE_SOA_COLUMN(PhiEMCAL, phiEmcal, float);
DECLARE_SOA_COLUMN(EtaDiff, etaDiff, float);
DECLARE_SOA_COLUMN(PhiDiff, phiDiff, float);
} // namespace jemctrack

DECLARE_SOA_TABLE_STAGED(JEMCTracks, "JEMCTrack",
                         jemctrack::JTrackId,
                         jemctrack::EtaEMCAL,
                         jemctrack::PhiEMCAL,
                         jemctrack::EtaDiff,
                         jemctrack::PhiDiff);

And then replaced all previous instances of deltaEta() and deltaPhi() from the other JE tasks - deriveddataproducer, deriveddataWriter and emcalHadronic correction tasks. However, that throws me the following errors when building locally:

2025-09-16@14:10:51:DEBUG:O2Physics:O2Physics:0: /home/adash/alice/sw/SOURCES/O2Physics/triggerjets/0/PWGJE/TableProducer/derivedDataProducer.cxx: In member function 'void JetDerivedDataProducerTask::processClusters(const o2::aod::Collision&, const o2::aod::EMCALClusters&, const o2::aod::EMCALClusterCells&, const o2::aod::Calos&, const o2::aod::EMCALMatchedTracks&, o2::soa::Join<o2::soa::JoinFull<o2::aod::Hash<3324719623>, o2::soa::Table<o2::aod::Hash<599863064>, o2::aod::Hash<2944948204>, o2::aod::Hash<2286545062> >, o2::soa::Table<o2::aod::Hash<3243953376>, o2::aod::Hash<3324719623>, o2::aod::Hash<1926198916> > >, o2::soa::JoinFull<o2::aod::Hash<1274903626>, o2::soa::Table<o2::aod::Hash<184273500>, o2::aod::Hash<1996537442>, o2::aod::Hash<2286545062> >, o2::soa::Table<o2::aod::Hash<518516411>, o2::aod::Hash<1274903626>, o2::aod::Hash<1926198916> > > >&)':
2025-09-16@14:10:51:DEBUG:O2Physics:O2Physics:0: /home/adash/alice/sw/SOURCES/O2Physics/triggerjets/0/PWGJE/TableProducer/derivedDataProducer.cxx:471:121: error: 'const struct o2::soa::Table<o2::aod::Hash<3327768819>, o2::aod::Hash<2452470612>, o2::aod::Hash<2286545062> >::TableIteratorBase<o2::soa::DefaultIndexPolicy, o2::soa::Table<o2::aod::Hash<3327768819>, o2::aod::Hash<2452470612>, o2::aod::Hash<2286545062> > >' has no member named 'etaDiff'
2025-09-16@14:10:51:DEBUG:O2Physics:O2Physics:0:   471 |         products.jTracksEMCalTable(JClusterID->second, emcTrack.trackEtaEmcal(), emcTrack.trackPhiEmcal(), clusterTrack.etaDiff(), clusterTrack.phiDiff());
2025-09-16@14:10:51:DEBUG:O2Physics:O2Physics:0:       |                                                                                                                         ^~~~~~~
2025-09-16@14:10:51:DEBUG:O2Physics:O2Physics:0: /home/adash/alice/sw/SOURCES/O2Physics/triggerjets/0/PWGJE/TableProducer/derivedDataProducer.cxx:471:145: error: 'const struct o2::soa::Table<o2::aod::Hash<3327768819>, o2::aod::Hash<2452470612>, o2::aod::Hash<2286545062> >::TableIteratorBase<o2::soa::DefaultIndexPolicy, o2::soa::Table<o2::aod::Hash<3327768819>, o2::aod::Hash<2452470612>, o2::aod::Hash<2286545062> > >' has no member named 'phiDiff'
2025-09-16@14:10:51:DEBUG:O2Physics:O2Physics:0:   471 |         products.jTracksEMCalTable(JClusterID->second, emcTrack.trackEtaEmcal(), emcTrack.trackPhiEmcal(), clusterTrack.etaDiff(), clusterTrack.phiDiff());
2025-09-16@14:10:51:DEBUG:O2Physics:O2Physics:0:       |                                                                                                                                                 ^~~~~~~
2025-09-16@14:11:38:DEBUG:O2Physics:O2Physics:0: [139/387] Building CXX object PWGJE/TableProducer/CMakeFiles/O2Physicsexe-analysis-je-jet-deriveddata-selector.dir/derivedDataSelector.cxx.o
2025-09-16@14:12:18:DEBUG:O2Physics:O2Physics:0: [140/387] Building CXX object PWGJE/TableProducer/CMakeFiles/O2Physicsexe-analysis-je-jet-luminosity-producer.dir/luminosityProducer.cxx.o
2025-09-16@14:12:57:DEBUG:O2Physics:O2Physics:0: [141/387] Building CXX object PWGJE/TableProducer/CMakeFiles/O2Physicsexe-analysis-je-jet-deriveddata-writer.dir/derivedDataWriter.cxx.o

@Archita-Dash
Copy link
Contributor Author

hi Nima,
it would be really great if you could help me in fixing the above errors that I run into when I change the names of the columns. I really need this PR to be merged as soon as possible because I have many checks to do with Had Correction and also to run the systematics. And the PR is now kinda stuck due to naming conventions only.

Cheers,
Archita

@mhemmer-cern
Copy link
Collaborator

Thanks for the info. Howabout EtaDiff and PhiDiff?

Okay but do these names require to be first changed in the emcal table producer task? Or I can only change within the JE framework?

You can change them just in the JE framework. The emcal table or table producer does not need to be changed for this.

Can either of you please guide me where exactly to make the necessary changes? If I am being correct, JetReducedData.h is the place according to my understanding and that's where I made the suggested changes:

namespace jemctrack
{
DECLARE_SOA_INDEX_COLUMN(JTrack, track);
DECLARE_SOA_COLUMN(EtaEMCAL, etaEmcal, float);
DECLARE_SOA_COLUMN(PhiEMCAL, phiEmcal, float);
DECLARE_SOA_COLUMN(EtaDiff, etaDiff, float);
DECLARE_SOA_COLUMN(PhiDiff, phiDiff, float);
} // namespace jemctrack

DECLARE_SOA_TABLE_STAGED(JEMCTracks, "JEMCTrack",
                         jemctrack::JTrackId,
                         jemctrack::EtaEMCAL,
                         jemctrack::PhiEMCAL,
                         jemctrack::EtaDiff,
                         jemctrack::PhiDiff);

And then replaced all previous instances of deltaEta() and deltaPhi() from the other JE tasks - deriveddataproducer, deriveddataWriter and emcalHadronic correction tasks. However, that throws me the following errors when building locally:

2025-09-16@14:10:51:DEBUG:O2Physics:O2Physics:0: /home/adash/alice/sw/SOURCES/O2Physics/triggerjets/0/PWGJE/TableProducer/derivedDataProducer.cxx: In member function 'void JetDerivedDataProducerTask::processClusters(const o2::aod::Collision&, const o2::aod::EMCALClusters&, const o2::aod::EMCALClusterCells&, const o2::aod::Calos&, const o2::aod::EMCALMatchedTracks&, o2::soa::Join<o2::soa::JoinFull<o2::aod::Hash<3324719623>, o2::soa::Table<o2::aod::Hash<599863064>, o2::aod::Hash<2944948204>, o2::aod::Hash<2286545062> >, o2::soa::Table<o2::aod::Hash<3243953376>, o2::aod::Hash<3324719623>, o2::aod::Hash<1926198916> > >, o2::soa::JoinFull<o2::aod::Hash<1274903626>, o2::soa::Table<o2::aod::Hash<184273500>, o2::aod::Hash<1996537442>, o2::aod::Hash<2286545062> >, o2::soa::Table<o2::aod::Hash<518516411>, o2::aod::Hash<1274903626>, o2::aod::Hash<1926198916> > > >&)':
2025-09-16@14:10:51:DEBUG:O2Physics:O2Physics:0: /home/adash/alice/sw/SOURCES/O2Physics/triggerjets/0/PWGJE/TableProducer/derivedDataProducer.cxx:471:121: error: 'const struct o2::soa::Table<o2::aod::Hash<3327768819>, o2::aod::Hash<2452470612>, o2::aod::Hash<2286545062> >::TableIteratorBase<o2::soa::DefaultIndexPolicy, o2::soa::Table<o2::aod::Hash<3327768819>, o2::aod::Hash<2452470612>, o2::aod::Hash<2286545062> > >' has no member named 'etaDiff'
2025-09-16@14:10:51:DEBUG:O2Physics:O2Physics:0:   471 |         products.jTracksEMCalTable(JClusterID->second, emcTrack.trackEtaEmcal(), emcTrack.trackPhiEmcal(), clusterTrack.etaDiff(), clusterTrack.phiDiff());
2025-09-16@14:10:51:DEBUG:O2Physics:O2Physics:0:       |                                                                                                                         ^~~~~~~
2025-09-16@14:10:51:DEBUG:O2Physics:O2Physics:0: /home/adash/alice/sw/SOURCES/O2Physics/triggerjets/0/PWGJE/TableProducer/derivedDataProducer.cxx:471:145: error: 'const struct o2::soa::Table<o2::aod::Hash<3327768819>, o2::aod::Hash<2452470612>, o2::aod::Hash<2286545062> >::TableIteratorBase<o2::soa::DefaultIndexPolicy, o2::soa::Table<o2::aod::Hash<3327768819>, o2::aod::Hash<2452470612>, o2::aod::Hash<2286545062> > >' has no member named 'phiDiff'
2025-09-16@14:10:51:DEBUG:O2Physics:O2Physics:0:   471 |         products.jTracksEMCalTable(JClusterID->second, emcTrack.trackEtaEmcal(), emcTrack.trackPhiEmcal(), clusterTrack.etaDiff(), clusterTrack.phiDiff());
2025-09-16@14:10:51:DEBUG:O2Physics:O2Physics:0:       |                                                                                                                                                 ^~~~~~~
2025-09-16@14:11:38:DEBUG:O2Physics:O2Physics:0: [139/387] Building CXX object PWGJE/TableProducer/CMakeFiles/O2Physicsexe-analysis-je-jet-deriveddata-selector.dir/derivedDataSelector.cxx.o
2025-09-16@14:12:18:DEBUG:O2Physics:O2Physics:0: [140/387] Building CXX object PWGJE/TableProducer/CMakeFiles/O2Physicsexe-analysis-je-jet-luminosity-producer.dir/luminosityProducer.cxx.o
2025-09-16@14:12:57:DEBUG:O2Physics:O2Physics:0: [141/387] Building CXX object PWGJE/TableProducer/CMakeFiles/O2Physicsexe-analysis-je-jet-deriveddata-writer.dir/derivedDataWriter.cxx.o

Hey Archita,

When you fill the table, you still use the emcal table so you need to use the clusterTrack.deltaEta() and clusterTrack.deltaPhi().

@Archita-Dash
Copy link
Contributor Author

Thanks for the info. Howabout EtaDiff and PhiDiff?

Okay but do these names require to be first changed in the emcal table producer task? Or I can only change within the JE framework?

You can change them just in the JE framework. The emcal table or table producer does not need to be changed for this.

Can either of you please guide me where exactly to make the necessary changes? If I am being correct, JetReducedData.h is the place according to my understanding and that's where I made the suggested changes:

namespace jemctrack
{
DECLARE_SOA_INDEX_COLUMN(JTrack, track);
DECLARE_SOA_COLUMN(EtaEMCAL, etaEmcal, float);
DECLARE_SOA_COLUMN(PhiEMCAL, phiEmcal, float);
DECLARE_SOA_COLUMN(EtaDiff, etaDiff, float);
DECLARE_SOA_COLUMN(PhiDiff, phiDiff, float);
} // namespace jemctrack

DECLARE_SOA_TABLE_STAGED(JEMCTracks, "JEMCTrack",
                         jemctrack::JTrackId,
                         jemctrack::EtaEMCAL,
                         jemctrack::PhiEMCAL,
                         jemctrack::EtaDiff,
                         jemctrack::PhiDiff);

And then replaced all previous instances of deltaEta() and deltaPhi() from the other JE tasks - deriveddataproducer, deriveddataWriter and emcalHadronic correction tasks. However, that throws me the following errors when building locally:

2025-09-16@14:10:51:DEBUG:O2Physics:O2Physics:0: /home/adash/alice/sw/SOURCES/O2Physics/triggerjets/0/PWGJE/TableProducer/derivedDataProducer.cxx: In member function 'void JetDerivedDataProducerTask::processClusters(const o2::aod::Collision&, const o2::aod::EMCALClusters&, const o2::aod::EMCALClusterCells&, const o2::aod::Calos&, const o2::aod::EMCALMatchedTracks&, o2::soa::Join<o2::soa::JoinFull<o2::aod::Hash<3324719623>, o2::soa::Table<o2::aod::Hash<599863064>, o2::aod::Hash<2944948204>, o2::aod::Hash<2286545062> >, o2::soa::Table<o2::aod::Hash<3243953376>, o2::aod::Hash<3324719623>, o2::aod::Hash<1926198916> > >, o2::soa::JoinFull<o2::aod::Hash<1274903626>, o2::soa::Table<o2::aod::Hash<184273500>, o2::aod::Hash<1996537442>, o2::aod::Hash<2286545062> >, o2::soa::Table<o2::aod::Hash<518516411>, o2::aod::Hash<1274903626>, o2::aod::Hash<1926198916> > > >&)':
2025-09-16@14:10:51:DEBUG:O2Physics:O2Physics:0: /home/adash/alice/sw/SOURCES/O2Physics/triggerjets/0/PWGJE/TableProducer/derivedDataProducer.cxx:471:121: error: 'const struct o2::soa::Table<o2::aod::Hash<3327768819>, o2::aod::Hash<2452470612>, o2::aod::Hash<2286545062> >::TableIteratorBase<o2::soa::DefaultIndexPolicy, o2::soa::Table<o2::aod::Hash<3327768819>, o2::aod::Hash<2452470612>, o2::aod::Hash<2286545062> > >' has no member named 'etaDiff'
2025-09-16@14:10:51:DEBUG:O2Physics:O2Physics:0:   471 |         products.jTracksEMCalTable(JClusterID->second, emcTrack.trackEtaEmcal(), emcTrack.trackPhiEmcal(), clusterTrack.etaDiff(), clusterTrack.phiDiff());
2025-09-16@14:10:51:DEBUG:O2Physics:O2Physics:0:       |                                                                                                                         ^~~~~~~
2025-09-16@14:10:51:DEBUG:O2Physics:O2Physics:0: /home/adash/alice/sw/SOURCES/O2Physics/triggerjets/0/PWGJE/TableProducer/derivedDataProducer.cxx:471:145: error: 'const struct o2::soa::Table<o2::aod::Hash<3327768819>, o2::aod::Hash<2452470612>, o2::aod::Hash<2286545062> >::TableIteratorBase<o2::soa::DefaultIndexPolicy, o2::soa::Table<o2::aod::Hash<3327768819>, o2::aod::Hash<2452470612>, o2::aod::Hash<2286545062> > >' has no member named 'phiDiff'
2025-09-16@14:10:51:DEBUG:O2Physics:O2Physics:0:   471 |         products.jTracksEMCalTable(JClusterID->second, emcTrack.trackEtaEmcal(), emcTrack.trackPhiEmcal(), clusterTrack.etaDiff(), clusterTrack.phiDiff());
2025-09-16@14:10:51:DEBUG:O2Physics:O2Physics:0:       |                                                                                                                                                 ^~~~~~~
2025-09-16@14:11:38:DEBUG:O2Physics:O2Physics:0: [139/387] Building CXX object PWGJE/TableProducer/CMakeFiles/O2Physicsexe-analysis-je-jet-deriveddata-selector.dir/derivedDataSelector.cxx.o
2025-09-16@14:12:18:DEBUG:O2Physics:O2Physics:0: [140/387] Building CXX object PWGJE/TableProducer/CMakeFiles/O2Physicsexe-analysis-je-jet-luminosity-producer.dir/luminosityProducer.cxx.o
2025-09-16@14:12:57:DEBUG:O2Physics:O2Physics:0: [141/387] Building CXX object PWGJE/TableProducer/CMakeFiles/O2Physicsexe-analysis-je-jet-deriveddata-writer.dir/derivedDataWriter.cxx.o

Hey Archita,

When you fill the table, you still use the emcal table so you need to use the clusterTrack.deltaEta() and clusterTrack.deltaPhi().

Hey Marvin, thanks a lot! Yes, you were right indeed. And now I have pushed the changes and it seemed to have successfully passed all the build checks. Could this PR be approved soon please?

Cheers
Archita

@nzardosh nzardosh merged commit 5f39d59 into AliceO2Group:master Sep 30, 2025
11 of 13 checks passed
jmunozme pushed a commit to jmunozme/O2Physics that referenced this pull request Oct 3, 2025
…Tracks tables in the JE framework + fixed some bugs in the full-jet-spectra task (AliceO2Group#12942)
jinhyunni pushed a commit to jinhyunni/O2Physics that referenced this pull request Oct 11, 2025
…Tracks tables in the JE framework + fixed some bugs in the full-jet-spectra task (AliceO2Group#12942)
ThePhDane pushed a commit to ThePhDane/O2Physics that referenced this pull request Nov 3, 2025
…Tracks tables in the JE framework + fixed some bugs in the full-jet-spectra task (AliceO2Group#12942)
jloemker pushed a commit to jloemker/O2Physics that referenced this pull request Nov 11, 2025
…Tracks tables in the JE framework + fixed some bugs in the full-jet-spectra task (AliceO2Group#12942)
lmattei01 pushed a commit to lmattei01/O2Physics that referenced this pull request Dec 5, 2025
…Tracks tables in the JE framework + fixed some bugs in the full-jet-spectra task (AliceO2Group#12942)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Development

Successfully merging this pull request may close these issues.

4 participants