athena merge requestshttps://gitlab.cern.ch/atlas/athena/-/merge_requests2024-03-22T09:41:47+01:00https://gitlab.cern.ch/atlas/athena/-/merge_requests/70021Fix SiHitCollectionCnv unit tests2024-03-22T09:41:47+01:00John Derek ChapmanFix SiHitCollectionCnv unit testsFix the SiHitCollectionCnv unit tests to create multiple hits per particle as this is a better test of the compression
algorithm used in the TP conversion.
Also improve comments in the TRT_HitCollectionCnv unit tests.Fix the SiHitCollectionCnv unit tests to create multiple hits per particle as this is a better test of the compression
algorithm used in the TP conversion.
Also improve comments in the TRT_HitCollectionCnv unit tests.https://gitlab.cern.ch/atlas/athena/-/merge_requests/70007ISF_FastCaloSimEvent: cmake fix2024-03-22T09:41:00+01:00Scott SnyderISF_FastCaloSimEvent: cmake fixFix regexp syntax in LOG_IGNORE_PATTERN.Fix regexp syntax in LOG_IGNORE_PATTERN.https://gitlab.cern.ch/atlas/athena/-/merge_requests/700262024-03-21: merge of 24.0 into main2024-03-22T08:46:02+01:00Frank Winklmeier2024-03-21: merge of 24.0 into mainThis sweep contains the following MRs:
* !70032 fix for ATR-29037 - No such flag: minTRTonTrk ~Trigger, ~TriggerID
* !70018 Fix issue with incomplete hashing in HLT Nav conversion ~Trigger
* !70014 AthenaPython: delete copy_file and ...This sweep contains the following MRs:
* !70032 fix for ATR-29037 - No such flag: minTRTonTrk ~Trigger, ~TriggerID
* !70018 Fix issue with incomplete hashing in HLT Nav conversion ~Trigger
* !70014 AthenaPython: delete copy_file and read_file utilities ~Core
* !69991 LArCafJobs: delete legacy config referencing RecExConfig ~LAr
* !69714 MuonConfig: drop RPC cabling map override ~MuonSpectrometer, ~Run3-MCReco-output-changed, ~Tools
* !70015 TrigPSC+TrigServices: set ConcurrencyFlags::numProcs ~Core, ~Trigger
* !69969 ID trigger: dynamic creation of flags ~Trigger, ~TriggerID
* !70001 L1calo efex tau bdt add max and min thresholds ~L1Calo, ~Trigger
* !69992 Remove HLT_e5_lhvloose_bBeeM6000_L1BKeePrimary from T0 monitoring ~Trigger, ~TriggerMenu
* !69865 More fixes for !68913: hasFlag and iterators ~Core
* !69996 Fixes for wrong stream assignment VBFDelayed -> PhysicsStream ~Trigger, ~TriggerMenu
* !69833 AFP ToF monitoring new hist + bugfix ~DQ, ~ForwardDetectors
* !69984 Fix physval memory leak, ATLASDQ-1136 ~DQ
* !69988 TBDetDescrAlg: delete legacy config and cleanup ~TestBeam
* !69987 ForwardTransport[Svc]: delete legacy configuration ~ForwardDetectors
* !69958 Adding versioning in ZDC calibration files via parameter for TDirectory name ~ForwardDetectors
* !69796 fixes some details of the task, container names and updates file to be used. ~DQ, ~LAr
* !69945 Prevent ONNX from spawning additional threads ~Simulation
* !69930 ZDC CA synchronized with Tier0 version ~ForwardDetectors
* !69886 StoreGate: add SG::HiveMgrSvc::setNumProcs helper ~Core
* !68579 AFT-702: Add heterogeneous input support for GN2 ~Analysis, ~BTagging, ~JetEtmiss
* !69899 Fix LAr CAF jobs ~LAr
* !69857 CA-based script to populate the LAr Bad Feb database ~LAr
* !69981 AFP_GeoModel+Digitization: delete legacy job options ~Digitization, ~ForwardDetectors
* !69949 Protect possible rare FPEs in trigger ~Tracking
* !69963 gFEX pileup threshold update ~EDM, ~JetEtmiss, ~L1Calo, ~Trigger
* !69917 ZdcRec: delete legacy configuration ~ForwardDetectors
* !69967 NTUPtoNTUPCore: delete unused package ~Analysis
* !69971 ForwardRec: delete legacy job options ~ForwardDetectors
* !69966 LArL1Sim: delete legacy job options ~LAr
* !69959 Remove custom JetSuper Roi zedHalfWidth ~JetEtmiss, ~Trigger, ~TriggerID
* !69970 Disable ONNXRuntime CUDA Support, 24.0 branch (2024.03.20.) ~Build
* !69939 ATR-28870: add hh4b GN2 80% chain to physics ~Trigger, ~TriggerMenu, ~changes-trigger-countshttps://gitlab.cern.ch/atlas/athena/-/merge_requests/69989Remove the GenericBarcodeFilter2024-03-21T14:22:45+01:00Andrii VerbytskyiRemove the GenericBarcodeFilterRemove the GenericBarcodeFilter as it is not used anywhere. Part of the migration away from barcode usage. See ATLASSIM-6906.
@jchapman @pclarkRemove the GenericBarcodeFilter as it is not used anywhere. Part of the migration away from barcode usage. See ATLASSIM-6906.
@jchapman @pclarkhttps://gitlab.cern.ch/atlas/athena/-/merge_requests/69998Reduce the usage of #ifdef HEPMC32024-03-21T11:53:38+01:00Andrii VerbytskyiReduce the usage of #ifdef HEPMC3Reduce the usage of #ifdef HEPMC3
@pclark @jchapmanReduce the usage of #ifdef HEPMC3
@pclark @jchapmanhttps://gitlab.cern.ch/atlas/athena/-/merge_requests/70010ZdcConditions+InDetSimEvent: Fix cppcheck warnings.2024-03-21T11:39:51+01:00Scott SnyderZdcConditions+InDetSimEvent: Fix cppcheck warnings.Pass strings by const reference, not by value.Pass strings by const reference, not by value.https://gitlab.cern.ch/atlas/athena/-/merge_requests/69995Update EntryLayerFilter.h to remove unused include2024-03-21T09:43:07+01:00Andrii VerbytskyiUpdate EntryLayerFilter.h to remove unused includeUpdate EntryLayerFilter.h to remove unused includeUpdate EntryLayerFilter.h to remove unused includehttps://gitlab.cern.ch/atlas/athena/-/merge_requests/69979Fix cppcheck warnings: iterateByValue2024-03-20T18:11:51+01:00Andrii VerbytskyiFix cppcheck warnings: iterateByValueFix cppcheck warnings: iterateByValue
@sroeFix cppcheck warnings: iterateByValue
@sroehttps://gitlab.cern.ch/atlas/athena/-/merge_requests/69776New persistent version of LucidSimHitCollection based on GenParticle::id()2024-03-20T15:55:08+01:00John Derek ChapmanNew persistent version of LucidSimHitCollection based on GenParticle::id()Following !67602 - add new persistent version of `LucidSimHitCollection` based on `GenParticle::id()`.Following !67602 - add new persistent version of `LucidSimHitCollection` based on `GenParticle::id()`.https://gitlab.cern.ch/atlas/athena/-/merge_requests/69973GeoModelSQLite - Swtich ART test to run with 1 thread2024-03-20T15:26:45+01:00Johannes Junggeburthjohannes.josef.junggeburth@cern.chGeoModelSQLite - Swtich ART test to run with 1 threadTagging: @boudreau, @mbandier, @tsulaiaTagging: @boudreau, @mbandier, @tsulaiahttps://gitlab.cern.ch/atlas/athena/-/merge_requests/69910MuonReadoutGeometryR4 - Return the global -> local as copy instead of returni...2024-03-19T17:41:55+01:00Johannes Junggeburthjohannes.josef.junggeburth@cern.chMuonReadoutGeometryR4 - Return the global -> local as copy instead of returning by referenceglobal -> local transformations do not need to be returned by reference. They can be quickly calculated on-the fly by inverting the local-> global transformations... Reduce the memory footprint of the muon readout geometry by 50MBs
```
B...global -> local transformations do not need to be returned by reference. They can be quickly calculated on-the fly by inverting the local-> global transformations... Reduce the memory footprint of the muon readout geometry by 50MBs
```
Building of GeoModelSvc.MuonDetectorToolR4.MdtReadoutGeomTool consumed 201 MB memory
Building of GeoModelSvc.MuonDetectorToolR4.RpcReadoutGeomTool consumed 8 MB memory
Building of GeoModelSvc.MuonDetectorToolR4.TgcReadoutGeomTool consumed 7 MB memory
Building of GeoModelSvc.MuonDetectorToolR4.sTgcReadoutGeomTool consumed 1 MB memory
Building of GeoModelSvc.MuonDetectorToolR4.MmReadoutGeomTool consumed 1 MB memory
Building of GeoModelSvc.MuonDetectorToolR4.MuonChamberAssembleTool consumed 0 MB memory
```
After:
```
Building of GeoModelSvc.MuonDetectorToolR4.MdtReadoutGeomTool consumed 147 MB memory
Building of GeoModelSvc.MuonDetectorToolR4.RpcReadoutGeomTool consumed 7 MB memory
Building of GeoModelSvc.MuonDetectorToolR4.TgcReadoutGeomTool consumed 6 MB memory
Building of GeoModelSvc.MuonDetectorToolR4.sTgcReadoutGeomTool consumed 1 MB memory
Building of GeoModelSvc.MuonDetectorToolR4.MmReadoutGeomTool consumed 0 MB memory
Building of GeoModelSvc.MuonDetectorToolR4.MuonChamberAssembleTool consumed 0 MB memory
```
Tagging: @asalzbur, @pagessin, @damperiahttps://gitlab.cern.ch/atlas/athena/-/merge_requests/69708MuonSimEventTPCnv and MuonSimEventAthenaPool: Add new persistent classes base...2024-03-18T12:15:19+01:00John Derek ChapmanMuonSimEventTPCnv and MuonSimEventAthenaPool: Add new persistent classes based on HepMcParticleLink_p3As part of the migration away from use of truth barcodes in Athena, this merge request introduces new persistent classes based on
`HepMcParticleLink_p3`, which is based on `GenParticle::id()`. These classes will not be used by default y...As part of the migration away from use of truth barcodes in Athena, this merge request introduces new persistent classes based on
`HepMcParticleLink_p3`, which is based on `GenParticle::id()`. These classes will not be used by default yet, but it is useful to
have them in the nightlies for ease of testing.
Unit tests have also been added to check that the new classes are behaving as expected.
See ATLASSIM-6912https://gitlab.cern.ch/atlas/athena/-/merge_requests/69885Update interfaces of InDetSimEvent, MuonSimEvent and G4AncillarySimEvent tran...2024-03-18T12:14:01+01:00John Derek ChapmanUpdate interfaces of InDetSimEvent, MuonSimEvent and G4AncillarySimEvent transient EDM classesThis merge request updates the interfaces of the InDetSimEvent, MuonSimEvent and G4AncillarySimEvent transient EDM classes to prepare for migration of client classes to be based on `GenParticle::id()` rather than `barcodes`.
- Rename `tr...This merge request updates the interfaces of the InDetSimEvent, MuonSimEvent and G4AncillarySimEvent transient EDM classes to prepare for migration of client classes to be based on `GenParticle::id()` rather than `barcodes`.
- Rename `trackNumber()` method to `truthBarcode()` for InDetSimEvent and MuonSimEvent transient EDM classes
- Rename `TRTUncompressedHit::GetTrackID()` method to `TRTUncompressedHit::truthBarcode()`.
- Add `truthID()` method to return `GenParticle::id()` to InDetSimEvent, MuonSimEvent and G4AncillarySimEvent transient EDM classes
See ATLASSIM-6978https://gitlab.cern.ch/atlas/athena/-/merge_requests/69657Migrate Sensitive Detectors to use ID rather than barcode2024-03-18T12:13:20+01:00John Derek ChapmanMigrate Sensitive Detectors to use ID rather than barcodeAll sensitive detectors use the `TrackHelper` class to build `HepMcParticleLink`instances (if required).
This merge request updates the `TrackHelper` to use `GenParticle::id()` internally.
(No output change expected.)
See ATLASSIM-6914All sensitive detectors use the `TrackHelper` class to build `HepMcParticleLink`instances (if required).
This merge request updates the `TrackHelper` to use `GenParticle::id()` internally.
(No output change expected.)
See ATLASSIM-6914https://gitlab.cern.ch/atlas/athena/-/merge_requests/69660InDetSimEventTPCnv and InDetSimEventAthenaPool: Add new persistent classes ba...2024-03-18T12:11:28+01:00John Derek ChapmanInDetSimEventTPCnv and InDetSimEventAthenaPool: Add new persistent classes based on GenParticle::id()As part of the migration away from use of truth barcodes in Athena, this merge request
introduces new persistent classes based on `GenParticle::id()`. These classes will not
be used by default yet, but it is useful to have them in the ni...As part of the migration away from use of truth barcodes in Athena, this merge request
introduces new persistent classes based on `GenParticle::id()`. These classes will not
be used by default yet, but it is useful to have them in the nightlies for ease of testing.
Unit tests have also been added to check that the new classes are behaving as expected.
See ATLASSIM-6912https://gitlab.cern.ch/atlas/athena/-/merge_requests/69721Update to LCG_104d_ATLAS_9, main branch (2024.03.11.)2024-03-18T11:47:30+01:00Attila KrasznahorkayUpdate to LCG_104d_ATLAS_9, main branch (2024.03.11.)This is a slightly bigger update, switching the ~main branch to using [LCG_104d_ATLAS_9](https://lcginfo.cern.ch/release/104d_ATLAS_9/), as discussed in ATLINFR-5281.
The new LCG layer comes with the following updates: https://lcginfo.c...This is a slightly bigger update, switching the ~main branch to using [LCG_104d_ATLAS_9](https://lcginfo.cern.ch/release/104d_ATLAS_9/), as discussed in ATLINFR-5281.
The new LCG layer comes with the following updates: https://lcginfo.cern.ch/compare_releases/None/104d_ATLAS_9/104d_ATLAS_7, as discussed in SPI-2517. The (from a technical perspective) important updates being:
- Rivet was updated from version `3.1.10` to `4.0.0`. But only in [LCG_104d_ATLAS_9](https://lcginfo.cern.ch/release/104d_ATLAS_9/). [LCG_104d_ATLAS_10](https://lcginfo.cern.ch/release/104d_ATLAS_10/) remained on version `3.1.10`, as the new version is not compatible with HepMC2 anymore.
* This required adding some pre-processor choices in [Rivet_i](Generators/Rivet_i) and [TruthRivetTools](Generators/TruthRivetTools) to allow both the HepMC3 and HepMC2 based nightlies to continue functioning. :thinking:
- Re-introduced CUDA into the ATLAS layer with CUDA 12.4, which finally supports GCC 13.
- Also re-introduced cuDNN, with version 8.9.7.
To account for the Rivet and CUDA changes, had to update the externals to [atlasexternals-2.1.12](https://gitlab.cern.ch/atlas/atlasexternals/-/tags/2.1.12). Which comes with the following updates (https://gitlab.cern.ch/atlas/atlasexternals/-/compare/2.1.10...2.1.12):
- Introduced `FindHighFive.cmake` for the correspondingly named external;
* This is a header-only package that Rivet 4.0.0 depends on. And I see just now that [LCG_104d_ATLAS_10](https://lcginfo.cern.ch/release/104d_ATLAS_10/) misses HighFive as well. :thinking: So I may need to tweak the CMake configuration of the two affected packages a bit more, to not break the HepMC2 nightlies right away...
- Changed [External/onnxruntime](https://gitlab.cern.ch/atlas/atlasexternals/-/tree/main/External/onnxruntime?ref_type=heads) to download a pre-built binary of ONNXRuntime instead of building it itself;
* Updated `Findonnxruntime.cmake` to handle the different header layout coming with the pre-built binaries.
The ONNXRuntime change was made to avoid spending a loooong time with figuring out how to make ONNXRuntime build successfully with CUDA 12.4, cuDNN 8 and GCC 13. (It didn't do so out of the box. :frowning:) But this required the include statements for all ONNXRuntime headers to be updated. Since as it turns out, our custom build was not installing the ONNX headers quite correctly so far. :thinking:https://gitlab.cern.ch/atlas/athena/-/merge_requests/67602Update HepMcParticleLink to handle creation with GenParticle::id() as well as...2024-03-18T09:20:30+01:00John Derek ChapmanUpdate HepMcParticleLink to handle creation with GenParticle::id() as well as barcodesTransient HepMcParticleLink objects can now be built using either `GenParticle::id()` or the `GenParticle` barcode Attribute as the unique ID for the particle.
Eventually support for the barcode-based syntax will be restricted to legacy ...Transient HepMcParticleLink objects can now be built using either `GenParticle::id()` or the `GenParticle` barcode Attribute as the unique ID for the particle.
Eventually support for the barcode-based syntax will be restricted to legacy TP converter code. Until the migration is complete it is better to explicitly force the use of `HepMcParticleLink::IS_BARCODE` and `HepMcParticleLink::IS_ID` in the constructors in an attempt to ensure that the correct input is being provided.
HepMcParticleLink TP converters work for most use-cases. Some awkwardness for links to GenParticles that have been cut from the `McEventCollection`, mostly in deciding whether the unique ID is a barcode or an id. The value is preserved though, so the links can still be used to group EDM objects linked to the same truth particle.
Added `HepMcParticleLink_p3` and `HepMcParticleLinkCnv_p3` - based on `GenParticle::id()`. This works as well as the existing `HepMcParticleLink_p1/p2` versions. New persistent versions of other EDM classes which depend on HepMcParticleLink will be added in future merge requests.
Output matches except for the output of `DetailedTrackTruthBuilder`. This relies on sorting by HepMcParticleLinks. The old implementation sorted based on barcode, whereas the new implementation sorts based on `GenParticle::id()`. In some cases (quasi-stable particle simulation) the barcode-based ordering of GenParticles sometimes differs from the id-based ordering. This means that some objects appear in a different order in the output containers. I don't think that this is an issue, but I need to discuss with Tracking experts.
Once these changes are merged then it becomes simpler to migrate clients to be `id()`-based. It should be possible to do this in multiple smaller merge requests.
See ATLASSIM-6999, ATLASSIM-6912https://gitlab.cern.ch/atlas/athena/-/merge_requests/69536Update HepMcParticleLink interface and clients without changing behaviour2024-03-18T09:09:00+01:00John Derek ChapmanUpdate HepMcParticleLink interface and clients without changing behaviour!67602 adapts HepMcParticleLink to use `GenParticle::id()` internally rather than the old GenParticle barcodes from HEPMC2.
In some cases (particularly in the case of quasi-stable particle simulation), then the ordering of particles by b...!67602 adapts HepMcParticleLink to use `GenParticle::id()` internally rather than the old GenParticle barcodes from HEPMC2.
In some cases (particularly in the case of quasi-stable particle simulation), then the ordering of particles by barcode does not
always match the ordering of particles by id. This results in some containers which are ordered by `HepMcParticleLink` being slightly different after the change (same information different order). This merge request updates the HepMcParticleLink interface without updating the internals, allowing the clients to be updated without the output changing. A smaller output-changing merge request can then be made afterwards.
See ATLASSIM-6999.https://gitlab.cern.ch/atlas/athena/-/merge_requests/698512024-03-15: merge of 24.0 into main2024-03-15T17:30:03+01:00Walter Lampl2024-03-15: merge of 24.0 into mainThis sweep contains the following MRs:
* !69816 InDetAlignmentMonitoringRun3: avoid multiple filling of histograms that occurs when a variable is used many times ~DQ, ~InnerDetector
* !69678 LAr calib. data processing fixes ~LAr
* !69...This sweep contains the following MRs:
* !69816 InDetAlignmentMonitoringRun3: avoid multiple filling of histograms that occurs when a variable is used many times ~DQ, ~InnerDetector
* !69678 LAr calib. data processing fixes ~LAr
* !69819 Adding correct tests for 2D histograms ~DQ
* !69840 Bypass TImage::FromPad due to ROOT 6.28 bug ~DQ
* !69677 Fixing SinglFloat upload ~LAr
* !69616 Simplifying DumpGeo, merging GeoExporter into DumpGeo, removing legacy configuration ~Geometry
* !69799 Remove various obsolete ISF job property modules + clean up legacy config references in comments ~Simulation
* !69763 Add more tests for AthConfigFlag hashing, fix bug from !68913 ~Core
* !69807 HIGlobal: delete legacy flags and utilities ~Reconstruction
* !69808 RecJobTransforms: delete unused legacy RDOFilePeeker ~Reconstruction
* !69802 CosmicGenerator: delete legacy job options ~Generators
* !69801 AthenaCommon: delete CfgGetter ~Core, ~DQ, ~MuonSpectrometer, ~Simulation
* !69798 Update MergeConfigs.py - new feature to select specific folders for config... ~DQ
* !69773 athena: remove --no-display and --minimal command line option (legacy) ~Core
* !69777 Switch LUCID_SensitiveDetector to use TrackHelper and fix bug in LUCID_SimHit constructor arguments ~ForwardDetectors, ~Simulation
* !69778 delete old-style cfg of Calo-BCID and LArNoise AC cond algs ~Calorimeter, ~LAr
* !69783 enable bjet chains in the run4 menu ~BTagging, ~ITk, ~Trigger, ~TriggerMenu
* !69814 TrigT1CaloSim: remove legacy config ~Trigger
* !69797 Replace InputFilePeeker with direct flag access ~Trigger
* !69806 TrigEFMissingET: delete legacy JO and cleanup link dependencies ~Trigger
* !69805 update of lowMu menu for Ph1 migration ~Trigger, ~TriggerMenu
* !69803 TrigAnalysisTest: delete unused ART test ~Trigger
* !69779 add LArSaturation as not checked TOB in L1DataConsistencyChecker (ATR-28958) ~Trigger
* !69715 Remove regtest.pl and regtest.py from TrigValTools ~Trigger
* !69610 Defferr sequences creation in HLT menu generation step ~Trigger, ~TriggerMenu
* !67310 Implementing Fast calo Energy Calibration for Electron Chains ~Egamma, ~Trigger, ~TriggerMenuhttps://gitlab.cern.ch/atlas/athena/-/merge_requests/69853Clear up warnings about missing containers in simulation jobs2024-03-15T16:51:03+01:00John Derek ChapmanClear up warnings about missing containers in simulation jobsThis should fix warnings of the following type in the simulation output:
```
INFO OutputStreamHITS.OutputStreamHITS_TopFolder 3 2 WARNING add: can not find type [JetCollection] in clid db
INFO OutputStreamHITS....This should fix warnings of the following type in the simulation output:
```
INFO OutputStreamHITS.OutputStreamHITS_TopFolder 3 2 WARNING add: can not find type [JetCollection] in clid db
INFO OutputStreamHITS.OutputStreamHITS_TopFolder 3 2 WARNING add: can not find type [xAOD::JetContainer] in clid db
```
when the containers are not present.