athena merge requestshttps://gitlab.cern.ch/atlas/athena/-/merge_requests2024-03-22T13:20:55+01:00https://gitlab.cern.ch/atlas/athena/-/merge_requests/70047More test chains for delayed jets2024-03-22T13:20:55+01:00Lucas BezioMore test chains for delayed jetsAs discussed on [ATR-28836](https://its.cern.ch/jira/browse/ATR-28836), more test chains are added. Some are requiring 2jets to be delayed aiming to reduce the rate even with low pt threshold. Copies of the test chains with upper limit o...As discussed on [ATR-28836](https://its.cern.ch/jira/browse/ATR-28836), more test chains are added. Some are requiring 2jets to be delayed aiming to reduce the rate even with low pt threshold. Copies of the test chains with upper limit on timing are also added.https://gitlab.cern.ch/atlas/athena/-/merge_requests/69709Draft: Generators: Support for Rivet42024-03-11T22:49:24+01:00Christian GutschowDraft: Generators: Support for Rivet4FYI @akraszna, this doesn't necessarily to get merged but perhaps it's useful. Untested, but should hopefully cover `Rivet_i` at least.
cf ATLINFR-5281
cc @ewelina @elmsheus @jchapmanFYI @akraszna, this doesn't necessarily to get merged but perhaps it's useful. Untested, but should hopefully cover `Rivet_i` at least.
cf ATLINFR-5281
cc @ewelina @elmsheus @jchapmanhttps://gitlab.cern.ch/atlas/athena/-/merge_requests/69228Updating LAr EM NTuple creation to CA based configuration2024-02-26T13:13:58+01:00Mustafa Andre SchmidtUpdating LAr EM NTuple creation to CA based configurationThe configuration script for the LAr EM NTuple creation as well as the README file was changed to be compatible with the new CA-based configuration.The configuration script for the LAr EM NTuple creation as well as the README file was changed to be compatible with the new CA-based configuration.https://gitlab.cern.ch/atlas/athena/-/merge_requests/69154gFEX: fix bug in gTower class2024-02-22T22:06:42+01:00Cecilia ToscirigFEX: fix bug in gTower classWith this MR, a bug found in `gTower::getFWID` is fixed. This assigns the correct energy to some gTowers in the forward region, that were previously swapped. Consequently, this solves some mismatches found in the hw vs sw comparison for ...With this MR, a bug found in `gTower::getFWID` is fixed. This assigns the correct energy to some gTowers in the forward region, that were previously swapped. Consequently, this solves some mismatches found in the hw vs sw comparison for small-R jets and also improves results for large-R jets and MET quantities.https://gitlab.cern.ch/atlas/athena/-/merge_requests/69149Fix bug in gTower class2024-02-22T21:07:56+01:00Cecilia TosciriFix bug in gTower classWith this MR, a bug found in `gTower::getFWID` is fixed. This assigns the correct energy to some gTowers in the forward region, that were previously swapped. Consequently, this solves some mismatches found in the hw vs sw comparison for ...With this MR, a bug found in `gTower::getFWID` is fixed. This assigns the correct energy to some gTowers in the forward region, that were previously swapped. Consequently, this solves some mismatches found in the hw vs sw comparison for small-R jets and also improves results for large-R jets and MET quantities.https://gitlab.cern.ch/atlas/athena/-/merge_requests/67233Draft: Changes needed for making generator transforms CA compatible2024-02-19T11:21:52+01:00Spyros ArgyropoulosDraft: Changes needed for making generator transforms CA compatible## Main changes
- `Gen_tf.py`: changed initialisation of `athenaExecutor` in `Gen_tf.py` to use `skeletonCA`. Old executors are still kept
- New `EvgenConfig` class from which the jO will inherit
- add `genCA` as a class attribute
...## Main changes
- `Gen_tf.py`: changed initialisation of `athenaExecutor` in `Gen_tf.py` to use `skeletonCA`. Old executors are still kept
- New `EvgenConfig` class from which the jO will inherit
- add `genCA` as a class attribute
- move helper function definitions to `EvgenConfigHelpers.py`
- added `python/GENtoEVGEN_Skeleton.py` as a replacement of `share/skel.GENtoEVGEN.py`
- Added `flags.Generator` configuration flags in `GeneratorConfig`
- `evgenTrfArgs.py`
- removed 13.0 TeV as default energy. Made the transform crash if `ecmEnergy` not provided. This was also the intended behaviour in the old skeleton but probably it was overseen that `ecmEnergy` had a default value
- removed `inputGenConfFile` as a possible argument. This makes the code crash automatically when this argument is provided
## To do
- [ ] MetaData and other containers (e.g. JetContainer) not saved
- [ ] Need to discuss relation between main sequence and sequences created in `GENtoEVGEN.py_Skeleton`
- [ ] Discuss whether `EvgenConfig.setupProcess` should return a `ComponentAccumulator`
- [ ] Need to decide how we are going to support CA and legacy configuration running together. We would need two `EvgenConfig` classes
## How to run
- Check out my `sargyrop/athena:spyrosCA`
- `asetup main,latest,AthGeneration`
- `Gen_tf.py --jobConfig=./100000 --ecmEnergy=13600. --maxEvents=10 --outputEVNTFile=minbias.root --CA`
In the `run` directory make a DSID with a jO file `100000/mc.PG_test.py` with the following content
```python
# Translation of 950555/mc.PG_single_nu_valid.py into CA mode
from EvgenJobTransforms.EvgenConfig import EvgenConfig
from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
class Sample(EvgenConfig):
def __init__(self, runArgs, flags):
super().__init__(runArgs, flags)
def setupFlags(self, runArgs, flags):
self.description = ["Single neutrinos with fixed eta and E: purely for pile-up/lumi testing"]
self.keywords = ["singleParticle", "neutrino"]
self.contact = ["dhirsch@mail.cern.ch"]
self.nEventsPerJob = 100
self.generators += ["ParticleGun"]
super().setupFlags(runArgs, flags)
def setupProcess(self, flags):
sampleConfig = ComponentAccumulator()
import ParticleGun as PG
pg = PG.ParticleGun(randomStream = "SINGLE", randomSeed = flags.Random.SeedOffset)
pg.sampler.pid = 12
pg.sampler.mom = PG.EEtaMPhiSampler(energy=50000, eta=0)
sampleConfig.addEventAlgo(pg)
return sampleConfig
```
### How to run
```
Gen_tf.py --jobConfig=./100000 --outputEVNTFile=minbias.root --CA --maxEvents=10
```https://gitlab.cern.ch/atlas/athena/-/merge_requests/68256Draft: Adding an example JO showing how to use the new Pythia8 UserHook2024-02-01T08:18:09+01:00Safa Gaidsafa.gaid@cern.chDraft: Adding an example JO showing how to use the new Pythia8 UserHookI added an example JO that shows how to use the new Pythia8 UserHook mergingDJRs.I added an example JO that shows how to use the new Pythia8 UserHook mergingDJRs.https://gitlab.cern.ch/atlas/athena/-/merge_requests/67788Adding a new UserHook to compute the DJRs for CKKW_L merging scheme and the t...2024-01-10T19:28:11+01:00Safa Gaidsafa.gaid@cern.chAdding a new UserHook to compute the DJRs for CKKW_L merging scheme and the tutorial about the use of the UserHookI Added a new UserHook for Pythia8 to compute the DJRs for the CKKW_L merging algorithm.
Furthermore, in the Pythia8_i README, I integrated a tutorial providing a detailed explanation of the steps for using the UserHook and interpreting ...I Added a new UserHook for Pythia8 to compute the DJRs for the CKKW_L merging algorithm.
Furthermore, in the Pythia8_i README, I integrated a tutorial providing a detailed explanation of the steps for using the UserHook and interpreting the resulting histograms.https://gitlab.cern.ch/atlas/athena/-/merge_requests/67609Draft: Use more DecayProducts in MCTruthClassifier2023-12-11T07:28:04+01:00Andrii VerbytskyiDraft: Use more DecayProducts in MCTruthClassifierUse more DecayProducts in MCTruthClassifierUse more DecayProducts in MCTruthClassifierhttps://gitlab.cern.ch/atlas/athena/-/merge_requests/67357Drop barcodes from test hepmc2023-11-24T11:38:36+01:00Andrii VerbytskyiDrop barcodes from test hepmcDrop barcodes from test hepmc
@jchapman @pclarkDrop barcodes from test hepmc
@jchapman @pclarkhttps://gitlab.cern.ch/atlas/athena/-/merge_requests/65942Draft: Use barcode() template in the TruthUtils2023-10-03T14:46:01+02:00Andrii VerbytskyiDraft: Use barcode() template in the TruthUtilsUse barcode() template in the TruthUtils
@pclark @jchapman
An experimental MR.Use barcode() template in the TruthUtils
@pclark @jchapman
An experimental MR.https://gitlab.cern.ch/atlas/athena/-/merge_requests/65924Draft: Drop int specialization from the HepMCHelpers2023-09-26T22:11:43+02:00Andrii VerbytskyiDraft: Drop int specialization from the HepMCHelpersDrop int specialization from the HepMCHelpers
@pclark @jchapmanDrop int specialization from the HepMCHelpers
@pclark @jchapmanhttps://gitlab.cern.ch/atlas/athena/-/merge_requests/65720TruthUtils: Avoid infinite recursion.2023-09-12T08:56:01+02:00Scott SnyderTruthUtils: Avoid infinite recursion.Fix infinite recursion in isRGlueball. Was resulting in a gcc13 warning.Fix infinite recursion in isRGlueball. Was resulting in a gcc13 warning.https://gitlab.cern.ch/atlas/athena/-/merge_requests/64845Draft: The second attempt to use status() instead of barcode() in Simulation2023-08-31T12:44:21+02:00Andrii VerbytskyiDraft: The second attempt to use status() instead of barcode() in SimulationThe second attempt to use status instead of barcode for the simulation.
The end goals are:
- 1) to be able to identify the origin of the particles and vertices from their status and not barcodes
- 2) to be able to use the `HepMC3::Gen...The second attempt to use status instead of barcode for the simulation.
The end goals are:
- 1) to be able to identify the origin of the particles and vertices from their status and not barcodes
- 2) to be able to use the `HepMC3::GenParticle::id()` and `HepMC3::GenVertex::id()` as unique identifiers of the particles, e.g. in `HepMCParticleLink`. In this way the usage of `barcode()` `property` of `GenParticle`a and `GenVertex` will be almost eliminated.
The 2) was already implemented by @jchapman as an option. See https://indico.cern.ch/event/1298224/contributions/5458615/attachments/2669897/4627904/Migration%20away%20from%20barcodes.pdf
The 1) requires a bit more changes and those are collected in this MR with the idea to split it later into small pieces.
Namely:
- a) Switching from the bare comparison of `status` property of particles to the classificators in `TruthUtils` ( e.g. `isStable`) See https://gitlab.cern.ch/atlas/athena/-/merge_requests/64579, https://gitlab.cern.ch/atlas/athena/-/merge_requests/64552 and similar. This is an ongoing work that touches a lot of code, but the changes are trivial.
- b) Switching from the classificators that use the `barcode()` directly as `int` to functions that use the underlying objects. See https://gitlab.cern.ch/atlas/athena/-/merge_requests/64571
This MR will also require the removal of the specification of templates `HepMC::is_simulation_particle()` for `int`.
- c) Change the definition of `isStable()`, `isPhysical()`,`isDecayed()`, i.e. ( status=1,2 particles) to take into account that particles produced in the simulation will have status `original_status + constant x times_particle_interacted`. Implemented in https://gitlab.cern.ch/atlas/athena/-/merge_requests/64713
- d) Drop the `Barcode` service from the `TruthSvc` and instead of increasing the barcode of each particle in the simulation increase the status of particle. Implemented in this MR.
- e) Change the references where it is needed. To be done.
@jchapman @pclark
See also https://gitlab.cern.ch/atlas/athena/-/merge_requests/64569https://gitlab.cern.ch/atlas/athena/-/merge_requests/64207Draft: update to LCG_102b_ATLAS_232023-08-28T22:05:22+02:00Ewelina Maria LobodzinskaDraft: update to LCG_102b_ATLAS_23update to LCG_102b_ATLAS_23
The only difference vs previous layer is the Sherpa versionupdate to LCG_102b_ATLAS_23
The only difference vs previous layer is the Sherpa versionhttps://gitlab.cern.ch/atlas/athena/-/merge_requests/64947Draft: Fix EtaPtFilter to avoid some missing parent links for leptons2023-08-11T10:18:04+02:00R D SchafferDraft: Fix EtaPtFilter to avoid some missing parent links for leptonsThis is a continuation of [!64793](https://gitlab.cern.ch/atlas/athena/-/merge_requests/64793#note_7000903).
This implements the missing truth filtering via EtaPtFilter. This is done only for the CA Hits to AOD production, i.e. it remai...This is a continuation of [!64793](https://gitlab.cern.ch/atlas/athena/-/merge_requests/64793#note_7000903).
This implements the missing truth filtering via EtaPtFilter. This is done only for the CA Hits to AOD production, i.e. it remains commented out in jobOpts. This uses the TruthParticleBuilder which was used in the past to go from GenEvent to TruthEvent - which is not xAOD formatted one. It also performed as a first step the filtering of the truth in a GenEvent to GenEvent step. Only the filtering is not done. This reduces the AOD by a few percent due to truth reduction. This MR also fixes a problem in the filtering where the parent child links can be lost for leptons with eta > 5.5. Note that dumpTruth.py was slighting changed to be more coherent in way one passes the CA arguments.
Pinging @zmarshal, @jchapman, @jcatmoreR D SchafferR D Schafferhttps://gitlab.cern.ch/atlas/athena/-/merge_requests/64749Draft: Updates in MCTruthClassifier to avoid explicit barcode usage2023-08-09T14:07:02+02:00Andrii VerbytskyiDraft: Updates in MCTruthClassifier to avoid explicit barcode usage- Updates in MCTruthClassifier to avoid explicit barcode usage
- Use shared pointers in the interface
@jchapman- Updates in MCTruthClassifier to avoid explicit barcode usage
- Use shared pointers in the interface
@jchapmanhttps://gitlab.cern.ch/atlas/athena/-/merge_requests/64856Draft: Updates in MCTruthClassifier to avoid explicit barcode usage, attempt 22023-08-09T14:00:02+02:00Andrii VerbytskyiDraft: Updates in MCTruthClassifier to avoid explicit barcode usage, attempt 2Updates in MCTruthClassifier to avoid explicit barcode usage, attempt 2.
This MR is a scaled-down version of https://gitlab.cern.ch/atlas/athena/-/merge_requests/64749
Contains:
- Updates in MCTruthClassifier to avoid explicit barcode us...Updates in MCTruthClassifier to avoid explicit barcode usage, attempt 2.
This MR is a scaled-down version of https://gitlab.cern.ch/atlas/athena/-/merge_requests/64749
Contains:
- Updates in MCTruthClassifier to avoid explicit barcode usage
@jchapmanhttps://gitlab.cern.ch/atlas/athena/-/merge_requests/64569Draft: The first attempt to use status() instead of barcode() in Simulation2023-08-07T10:57:56+02:00Andrii VerbytskyiDraft: The first attempt to use status() instead of barcode() in SimulationThe first attempt to use status instead of barcode for the simulation.
The end goals are:
- 1) to be able to identify the origin of the particles and vertices from their status and not barcodes
- 2) to be able to use the `HepMC3::GenP...The first attempt to use status instead of barcode for the simulation.
The end goals are:
- 1) to be able to identify the origin of the particles and vertices from their status and not barcodes
- 2) to be able to use the `HepMC3::GenParticle::id()` and `HepMC3::GenVertex::id()` as unique identifiers of the particles, e.g. in `HepMCParticleLink`. In this way the usage of `barcode()` `property` of `GenParticle`a and `GenVertex` will be almost eliminated.
The 2) was already implemented by @jchapman as an option. See https://indico.cern.ch/event/1298224/contributions/5458615/attachments/2669897/4627904/Migration%20away%20from%20barcodes.pdf
The 1) requires a bit more changes and those are collected in this MR with the idea to split it later into small pieces.
Namely:
- a) Switching from the bare comparison of `status` property of particles to the classificators in `TruthUtils` ( e.g. `isStable`) See https://gitlab.cern.ch/atlas/athena/-/merge_requests/64579, https://gitlab.cern.ch/atlas/athena/-/merge_requests/64552 and similar. This is an ongoing work that touches a lot of code, but the changes are trivial.
- b) Switching from the classificators that use the `barcode()` directly as `int` to functions that use the underlying objects. See https://gitlab.cern.ch/atlas/athena/-/merge_requests/64571
This MR will also require the removal of the specification of templates `HepMC::is_simulation_particle()` for `int`.
- c) Change the definition of `isStable()`, `isPhysical()`,`isDecayed()`, i.e. ( status=1,2 particles) to take into account that particles produced in the simulation will have status `original_status + constant x times_particle_interacted`. Implemented in this MR.
- d) Drop the `Barcode` service from the `TruthSvc` and instead of increasing the barcode of each particle in the simulation increase the status of particle. Implemented in this MR.
- e) Change the references where it is needed. To be done.
@jchapman
The very beginninghttps://gitlab.cern.ch/atlas/athena/-/merge_requests/64687Fix a bug in AtlasPID: check the number of digits in the pid before finding t...2023-07-29T15:41:45+02:00Andrii VerbytskyiFix a bug in AtlasPID: check the number of digits in the pid before finding the minimal/maximal, 23.0Fix a bug in AtlasPID: check the number of digits in the pid before finding the minimal/maximal
Fixes https://its.cern.ch/jira/browse/ATLASRECTS-7699
@amete @jchapmanFix a bug in AtlasPID: check the number of digits in the pid before finding the minimal/maximal
Fixes https://its.cern.ch/jira/browse/ATLASRECTS-7699
@amete @jchapman