Skip to content

Commit d5aab68

Browse files
authored
Update anchored.md : 2-tag approach
1 parent fb62178 commit d5aab68

File tree

1 file changed

+66
-0
lines changed

1 file changed

+66
-0
lines changed

docs/o2dpgworkflow/anchored.md

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,3 +127,69 @@ The `anchorMC.sh` script is sensitive to the following environment variables. Pl
127127
The procedure steered behind the scenes is quite involved. The following figure shall provide some overview.
128128

129129
![anchored run](../images/anchored_run.png)
130+
131+
## The 2-Software Tag Approach for Anchored MC Productions
132+
133+
A **2-tag software approach** is supported for anchored Monte Carlo (MC) productions. This means that individual tasks within an MC job can run using different CVMFS software releases.
134+
135+
### Motivation
136+
137+
The key motivation is to allow **reconstruction algorithms** to run against **stable releases** and configurations—those also used in data-reconstruction passes. At the same time, it is beneficial to **pick up new developments** in:
138+
139+
- Event generators
140+
- GEANT-based simulation
141+
- Generic anchoring logic
142+
- Workflow execution infrastructure
143+
144+
This approach reduces the need to backport improvements into older software releases.
145+
146+
---
147+
148+
### How to Use the 2-Tag Setup
149+
150+
In practice, you only need to do the following:
151+
152+
**(a)** Use a recent (validated) software release in the `Packages` field of your JDL:
153+
154+
- Picks up the latest **O2DPG logic**
155+
- Uses the most recent **generator code**
156+
- Includes updated **GEANT and digitization algorithms**
157+
158+
**(b)** Set the environment variable `ALIEN_JDL_O2DPG_ASYNC_RECO_TAG` to point to the release used for **reconstruction**.
159+
160+
- Ensures reconstruction uses the correct version for anchoring and configuration
161+
162+
---
163+
164+
### Example JDL Snippet
165+
166+
```jdl
167+
Packages = {
168+
"VO_ALICE@O2PDPSuite::daily-20250408-0000-1"
169+
};
170+
171+
JDLVariables = {
172+
...
173+
O2DPG_ASYNC_RECO_TAG
174+
...
175+
};
176+
177+
O2DPG_ASYNC_RECO_TAG = "VO_ALICE@O2PDPSuite::async-async-v1-02-10-slc9-alidist-async-v1-02-01-1"
178+
...
179+
```
180+
181+
### Important Notes
182+
183+
While this approach is powerful and convenient, it comes with **potential risks**:
184+
185+
* Incompatibilities between the two software releases (e.g., data format, configuration options, etc.)
186+
187+
* These should be **tested in pilot jobs** before launching large-scale productions.
188+
189+
190+
Any observed issues should be reported via the usual channels:
191+
192+
* [Mattermost simulation channels]
193+
194+
* [JIRA tickets]
195+

0 commit comments

Comments
 (0)