Skip to content

Commit

Permalink
Add some documentation about the current limitation
Browse files Browse the repository at this point in the history
  • Loading branch information
tmadlener committed Dec 10, 2024
1 parent ecf7ff5 commit 91bfdb7
Showing 1 changed file with 22 additions and 0 deletions.
22 changes: 22 additions & 0 deletions doc/MarlinWrapperIntroduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -220,3 +220,25 @@ collection in the process, you would configure the tool like so
lcio2edm4hepConv = Lcio2EDM4hepTool("Lcio2EDM4hep")
lcio2edm4hepConv.collNameMapping = {"MCParticle": "MCParticles"}
```

## Potential pitfals when using other Gaudi Algorithms

Although mixing wrapped Marlin Processors with other Gaudi Algorithms is working
for most cases, there are a few conceptual differences that have not yet been
completely mapped. This might lead to unexpected or different results when
running in Gaudi vs. running the same processors via Marlin (as far as
possible). This list aims to collect them and where possible also tries to point
out ways to work around them.

- In Marlin processors can use a `marlin::SkipEventException` to skip the
processing of the rest of the event.
- In Marlin a `marlin::StopProcessingException` will immediately stop the
processing of the event loop. However, in Gaudi the current event will still
finish processing.

For the `MarlinProcessorWrapper` algorithm we have put in checks and effectively
skip the execution of the actual wrapped processor in these cases. However,
other Gaudi algorithms will not have this check. Hence, execution chains that
**only consist of wrapped Marlin processors will work as expected** here.
However, **mixed chains will most likely not work as expected** (e.g. algorithms
will not find expected inputs, etc.).

0 comments on commit 91bfdb7

Please sign in to comment.