From eedf394f1e426515d02297fe43afdf85d1425b3d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=B2=20Jacazio?= Date: Fri, 27 Feb 2026 16:22:28 +0200 Subject: [PATCH 1/2] [ALICE3] Update README.md with additional detector options (#15106) * Update README.md with additional detector options * Add files via upload --- Detectors/Upgrades/ALICE3/IOTOF/README.md | 36 +++++++++++++++++++++++ Detectors/Upgrades/ALICE3/README.md | 7 +++-- 2 files changed, 40 insertions(+), 3 deletions(-) create mode 100644 Detectors/Upgrades/ALICE3/IOTOF/README.md diff --git a/Detectors/Upgrades/ALICE3/IOTOF/README.md b/Detectors/Upgrades/ALICE3/IOTOF/README.md new file mode 100644 index 0000000000000..044798076b485 --- /dev/null +++ b/Detectors/Upgrades/ALICE3/IOTOF/README.md @@ -0,0 +1,36 @@ + + +# ALICE 3 TOF system + +This is top page for the TOF detector documentation. + + +## Specific detector setup + + +Configurables for various sub-detectors are presented in the following Table: + +[link to definitions](./base/include/IOTOFBase/IOTOFBaseParam.h) + +| Options | Choices | Comments | +| ----------------------------- | ---------------------------------------------------------------- | ------------------------------------------- | +| `IOTOFBase.enableInnerTOF` | `true` (default), `false` | Enable inner TOF barrel layer | +| `IOTOFBase.enableOuterTOF` | `true` (default), `false` | Enable outer TOF barrel layer | +| `IOTOFBase.enableForwardTOF` | `true` (default), `false` | Enable forward TOF endcap | +| `IOTOFBase.enableBackwardTOF` | `true` (default), `false` | Enable backward TOF endcap | +| `IOTOFBase.segmentedInnerTOF` | `false` (default), `true` | Use segmented geometry for inner TOF | +| `IOTOFBase.segmentedOuterTOF` | `false` (default), `true` | Use segmented geometry for outer TOF | +| `IOTOFBase.detectorPattern` | ` ` (default), `v3b`, `v3b1a`, `v3b1b`, `v3b2a`, `v3b2b`, `v3b3` | Optional layout pattern | +| ----------------------------- | ------------------------- | ------------------------------------------- | + + +For example, a geometry with fully cylindrical tracker barrel (for all layers in VD, ML and OT) can be obtained by +```bash +o2-sim-serial-run5 -n 1 -g pythia8hi -m A3IP TF3 \ + --configKeyValues "IOTOFBase.detectorPattern=v3b1a;IOTOFBase.segmentedInnerTOF=true;IOTOFBase.segmentedOuterTOF=true;FT3Base.geoModel=1;FT3Base.nLayers=1;IOTOFBase.enableOuterTOF=false;IOTOFBase.enableBackwardTOF=false;IOTOFBase.enableForwardTOF=false;" +``` + + diff --git a/Detectors/Upgrades/ALICE3/README.md b/Detectors/Upgrades/ALICE3/README.md index 23d45232b71c9..44a478b592882 100644 --- a/Detectors/Upgrades/ALICE3/README.md +++ b/Detectors/Upgrades/ALICE3/README.md @@ -66,9 +66,10 @@ o2-sim-run5 -n 10 -m A3IP TF3 Configurables for various sub-detectors are presented in the following Table: -| Available options | Link to options | -| ----------------- | -------------------------------------------------------------- | -| TKR | [Link to TRK options](./TRK/README.md#specific-detector-setup) | +| Available options | Link to options | +| ----------------- | ---------------------------------------------------------------- | +| TRK | [Link to TRK options](./TRK/README.md#specific-detector-setup) | +| TOF | [Link to TOF options](./IOTOF/README.md#specific-detector-setup) | ### Output of the simulation The simulation will produce a `o2sim_Hits.root` file with a tree with the hits related to that detector. From f4f4d35ae108b8b1bf7e1d82e9f004bb69700a3b Mon Sep 17 00:00:00 2001 From: Ernst Hellbar Date: Thu, 26 Feb 2026 12:29:33 +0100 Subject: [PATCH 2/2] DPL: clean up leftovers from input stream after parsing a workflow --- .../Core/src/WorkflowSerializationHelpers.cxx | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/Framework/Core/src/WorkflowSerializationHelpers.cxx b/Framework/Core/src/WorkflowSerializationHelpers.cxx index e20e23f98c90b..9624a2dfd0d3e 100644 --- a/Framework/Core/src/WorkflowSerializationHelpers.cxx +++ b/Framework/Core/src/WorkflowSerializationHelpers.cxx @@ -29,6 +29,7 @@ #include O2_DECLARE_DYNAMIC_LOG(workflow_importer); +O2_DECLARE_DYNAMIC_LOG(post_workflow_importer); namespace o2::framework { @@ -969,7 +970,18 @@ bool WorkflowSerializationHelpers::import(std::istream& s, WorkflowImporter importer{workflow, metadata, command}; bool ok = reader.Parse(isw, importer); if (ok == false) { - throw std::runtime_error("Error while parsing serialised workflow"); + if (s.eof()) { + throw std::runtime_error("Error while parsing serialised workflow"); + } + // clean up possible leftovers at the end of the input stream, e.g. [DEBUG] message from destructors + O2_SIGNPOST_ID_GENERATE(sid, post_workflow_importer); + while (true) { + s.getline(buf, 1024, '\n'); + if (s.eof()) { + break; + } + O2_SIGNPOST_EVENT_EMIT(post_workflow_importer, sid, "post import", "Following leftover line found in input stream after parsing workflow: %{public}s", buf); + } } return true; }