Skip to content

Make the TPC time-series task follow the active detectors - #2141

Merged
sawenzel merged 1 commit into
AliceO2Group:masterfrom
sawenzel:swenzel/tpc-time-series-impr
Nov 4, 2026
Merged

sawenzel merged 1 commit into
AliceO2Group:masterfrom
sawenzel:swenzel/tpc-time-series-impr

Conversation

@sawenzel

@sawenzel sawenzel commented Sep 30, 2025 •

Copy link
Copy Markdown
Contributor

This fixes the TRD/CTRACKLETS failure of the TPC time-series task in the MC workflow and makes its inputs follow the active detectors.

  • The reader used fixed cluster types without TRD, so the time series failed with "No matching output found for TRD/CTRACKLETS/0" once it requested TRD tracklets.
  • Track types now follow the active detectors and the anchored TRD and TOF matching sources.
  • The same track list goes to o2-tpc-time-series-workflow via --track-sources.
  • Builds with their own readers get --disable-root-input, so only one reader list exists.
  • TOF and TRD are optional, and the task requires ITS, TPC and FT0.
  • Builds without --track-sources keep the previous command and require TOF and TRD.

https://its.cern.ch/jira/browse/O2-7264
#2532

Tested with anchored MC on run 568012 (Pb-Pb 2025, apass2) with MC-prod-2026-v13-1 and v14-1, using async-2025-PbPb-apass2-v7 for reconstruction. Master fails with the TRD/CTRACKLETS error, while this version runs with all detectors, without TRD, without TOF and without both. On v14-1 alone, whose time series has its own readers, the output agrees with master within the sampling spread. For async-2024-pp-apass1-v7, which has no --track-sources, the command is identical to master and the task is skipped without TOF.

Assisted by Claude Code.

@github-actions

Copy link
Copy Markdown

REQUEST FOR PRODUCTION RELEASES:
To request your PR to be included in production software, please add the corresponding labels called "async-" to your PR. Add the labels directly (if you have the permissions) or add a comment of the form (note that labels are separated by a ",")

+async-label <label1>, <label2>, !<label3> ...

This will add <label1> and <label2> and removes <label3>.

The following labels are available
async-2023-pbpb-apass4
async-2023-pp-apass4
async-2024-pp-apass1
async-2022-pp-apass7
async-2024-pp-cpass0
async-2024-PbPb-apass1
async-2024-ppRef-apass1
async-2024-PbPb-apass2
async-2023-PbPb-apass5

@sawenzel

Copy link
Copy Markdown
Contributor Author

@shahor02, @miranov25 : This should make the TPC time series task react on a disabled TOF detector. However, the workflow then actually crashes: It still searches for TOF. Could you maybe take a look when you have moment?

@sawenzel sawenzel changed the title TPC-timer-series: dynamic track-types TPC-time-series: dynamic track-types Sep 30, 2025
@sawenzel
sawenzel marked this pull request as draft October 1, 2025 06:26
@miranov25

Copy link
Copy Markdown
Contributor

@matthias-kleiner, could you please review this Pull Request from @sawenzel?

It appears to be a technical fix for the performance generator module and should not impact standard data taking or physics workflows.

Thank you for checking!

Best,
Marian

Comment thread MC/bin/o2dpg_sim_workflow.py Outdated
timeseries_clustertypes=cleanDetectorInputList("FT0,TOF,TPC")
TPCTStask = createTask(name='tpctimeseries_'+str(tf), needs=tpctsneeds, tf=tf, cwd=timeframeworkdir, lab=["RECO"], mem='2000', cpu='1')
TPCTStask['cmd'] = 'o2-global-track-cluster-reader --disable-mc --cluster-types "FT0,TOF,TPC" --track-types "ITS,TPC,ITS-TPC,ITS-TPC-TOF,ITS-TPC-TRD-TOF"'
TPCTStask['cmd'] = f'o2-global-track-cluster-reader --disable-mc --cluster-types {timeseries_clustertypes} --track-types {timeseries_tracktypes}'

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It initialises unconditionally the readers for TOF clusters and tracks, in the absence of TOF this should lead to a crash. The timeseries_tracktypes and timeseries_clustertypes should not have contributions from detectors which are absent. Also the o2-tpc-time-series-workflow currently implicitly expects all track types it can digest, the same --track-types {timeseries_tracktypes} should be passed to it.
But why are the inputs of this workflow not simply copied from the anchor production workflow?

@matthias-kleiner, in the long run it would be better to modify the o2-global-track-cluster-reader to do what all other global workflows do: configure its input readers internally according to requested options, unless --disable-root-input is requested, e.g. https://github.com/AliceO2Group/AliceO2/blob/166180af16ecac7fa234714cdd7ae0394ea5a192/Detectors/GlobalTrackingWorkflow/src/SecondaryVertexingSpec.cxx#L246-L273

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hello @shahor02 ,
many thanks for the detailed comment. I will take a look into it.

@sawenzel
sawenzel force-pushed the swenzel/tpc-time-series-impr branch from fe7021f to 6b34fe0 Compare November 4, 2026 16:56
@sawenzel sawenzel changed the title TPC-time-series: dynamic track-types Make the TPC time-series task follow the active detectors Nov 4, 2026
@sawenzel
sawenzel marked this pull request as ready for review November 4, 2026 16:57
This fixes the TRD/CTRACKLETS failure of the TPC time-series task in the MC workflow and makes its inputs follow the active detectors.

- The reader used fixed cluster types without TRD, so the time series failed with "No matching output found for TRD/CTRACKLETS/0" once it requested TRD tracklets.
- Track types now follow the active detectors and the anchored TRD and TOF matching sources.
- The same track list goes to o2-tpc-time-series-workflow via --track-sources.
- Builds with their own readers get --disable-root-input, so only one reader list exists.
- TOF and TRD are optional, and the task requires ITS, TPC and FT0.
- Builds without --track-sources keep the previous command and require TOF and TRD.

https://its.cern.ch/jira/browse/O2-7264
AliceO2Group#2532

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@sawenzel
sawenzel force-pushed the swenzel/tpc-time-series-impr branch from 6b34fe0 to 1f8c321 Compare November 4, 2026 19:47
@sawenzel
sawenzel merged commit c56a134 into AliceO2Group:master Nov 4, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants