athena merge requestshttps://gitlab.cern.ch/atlas/athena/-/merge_requests2024-03-27T14:14:49+01:00https://gitlab.cern.ch/atlas/athena/-/merge_requests/69655barcode -> ID migration for HGTD/InDet/MuonDigitization.2024-03-27T14:14:49+01:00John Derek Chapmanbarcode -> ID migration for HGTD/InDet/MuonDigitization.Migrate HGTD_Digitization, InDetDigitization and MuonDigitization code to use `GenParticle::id` rather than barcodes internally.
(Should not change Digitization output.)
See ATLASSIM-6978Migrate HGTD_Digitization, InDetDigitization and MuonDigitization code to use `GenParticle::id` rather than barcodes internally.
(Should not change Digitization output.)
See ATLASSIM-6978https://gitlab.cern.ch/atlas/athena/-/merge_requests/65241Add status to transient TrackRecord class and add, but not use a new persiste...2024-03-27T13:42:54+01:00John Derek ChapmanAdd status to transient TrackRecord class and add, but not use a new persistent classThis merge request updates the TrackRecord to include the GenParticle status. I haven't entirely decided whether this change is needed yet, so keeping it as draft for now.
Currently the value of status is not persistified, but if we sw...This merge request updates the TrackRecord to include the GenParticle status. I haven't entirely decided whether this change is needed yet, so keeping it as draft for now.
Currently the value of status is not persistified, but if we switch to writing TrackCollection_p3 by default then it would be.
This merge request includes some of @averbyts's changes from !64845.
Tagging @averbyts and @pclarkhttps://gitlab.cern.ch/atlas/athena/-/merge_requests/70080Clean-up of TrackRecord header ahead of further updates2024-03-26T14:16:07+01:00John Derek ChapmanClean-up of TrackRecord header ahead of further updatesCleaning up the TrackRecord header in preparation to migrate it from
being based on truth barcodes to be-based on truth status and id.
Most changes relate to renaming `GetBarCode()` to the more standard `barcode()` and `SetBarCode()` to...Cleaning up the TrackRecord header in preparation to migrate it from
being based on truth barcodes to be-based on truth status and id.
Most changes relate to renaming `GetBarCode()` to the more standard `barcode()` and `SetBarCode()` to `SetBarcode()`.
I may make a follow-up MR further standardising method names, but I prefer to get the current changes in first.https://gitlab.cern.ch/atlas/athena/-/merge_requests/69017support tau class in btagging tool2024-03-25T18:48:14+01:00Binbin Dongsupport tau class in btagging toolAdded support for the tau class in GN2v01 b-tagger in the btagging selection tool, as mentioned in AFT-709.
The default value for ptau is set (as 0.) so no change is required for the DL1/GN2v00 user case.
cc @ligang, @svanstro @dguest,...Added support for the tau class in GN2v01 b-tagger in the btagging selection tool, as mentioned in AFT-709.
The default value for ptau is set (as 0.) so no change is required for the DL1/GN2v00 user case.
cc @ligang, @svanstro @dguest, @fdibellohttps://gitlab.cern.ch/atlas/athena/-/merge_requests/61980Modularise in-file metadata configuration2024-03-25T13:23:57+01:00Maciej Pawel SzymanskiModularise in-file metadata configurationThis MR builds on !61368 to modularise the in-file metadata configuration. It requires each workflow to explicitly specify which metadata category should be ~~configured~~ created and added to the output stream (nothing ~~added~~ created...This MR builds on !61368 to modularise the in-file metadata configuration. It requires each workflow to explicitly specify which metadata category should be ~~configured~~ created and added to the output stream (nothing ~~added~~ created by default). By default, all the metadata found in the input will be propagated using the relevant tools (can be turned off with `propagateMetadataFromInput=False`).
I decided to keep a single function (although a bit renamed wrt !61368) for propagation and one for creation for each category ~~with an extra argument instead of splitting it into dedicated bits, but I'm open to suggestions. To keep some compatibility with event data configuration, the requested for creation metadata categories are passed as a list of strings, e.g. `["ByteStreamMetaData"]`~~
~~Note that I not yet incorporated !61962 (probably better to wait for merging).~~ [Edit: Done]https://gitlab.cern.ch/atlas/athena/-/merge_requests/700712024-03-23: merge of 24.0 into main2024-03-24T15:44:57+01:00Frank Winklmeier2024-03-23: merge of 24.0 into mainThis sweep contains the following MRs:
* !69782 cTAU algorithm upgrade - added eTAU rCore/BDT and rHad score cuts ~Tau, ~Trigger, ~TriggerMenu
* !70013 xAODCnv: delete legacy job options referencing RecExConfig ~EDM, ~Tau, ~Trigger
* !7...This sweep contains the following MRs:
* !69782 cTAU algorithm upgrade - added eTAU rCore/BDT and rHad score cuts ~Tau, ~Trigger, ~TriggerMenu
* !70013 xAODCnv: delete legacy job options referencing RecExConfig ~EDM, ~Tau, ~Trigger
* !70031 Cherry pick - 69552 ~MuonSpectrometer, ~Trigger
* !70027 Reduce INFO to DEBUG in RorSeqFilter ( ATR-28971) ~Triggerhttps://gitlab.cern.ch/atlas/athena/-/merge_requests/70013xAODCnv: delete legacy job options referencing RecExConfig2024-03-23T12:23:16+01:00Frank WinklmeierxAODCnv: delete legacy job options referencing RecExConfigFirst pass in deleting the legacy xAODCnv job options. For now just deleting all job options explicitly or implicitly relying on RecEx\[Common,Config\].First pass in deleting the legacy xAODCnv job options. For now just deleting all job options explicitly or implicitly relying on RecEx\[Common,Config\].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/69963gFEX pileup threshold update2024-03-21T15:21:42+01:00Cecilia ToscirigFEX pileup threshold updateThis MR introduces the following changes:
1. Update the threshold used to calculate the pile-up correction (energy density rho)
2. Update the truncation and overflow for the gFEX SumEt in the ByteStream decoder
3. Remove the sign extensi...This MR introduces the following changes:
1. Update the threshold used to calculate the pile-up correction (energy density rho)
2. Update the truncation and overflow for the gFEX SumEt in the ByteStream decoder
3. Remove the sign extension for rho in the gFEX Jet EDM (not needed because rho is always positive)https://gitlab.cern.ch/atlas/athena/-/merge_requests/70000Reduce the usage of signal_process_vertex and signal_process_id2024-03-21T15:17:04+01:00Andrii VerbytskyiReduce the usage of signal_process_vertex and signal_process_idReduce the usage of signal_process_vertex and signal_process_idReduce the usage of signal_process_vertex and signal_process_idhttps://gitlab.cern.ch/atlas/athena/-/merge_requests/69936Adding some more info for JSON dumping towards Phoenix2024-03-19T17:45:34+01:00Zach MarshallAdding some more info for JSON dumping towards PhoenixAdding cluster and track links for electrons and cluster links for
photons.
Also updating the options so that this config works out of the box for
both PHYS and PHYSLITE.Adding cluster and track links for electrons and cluster links for
photons.
Also updating the options so that this config works out of the box for
both PHYS and PHYSLITE.https://gitlab.cern.ch/atlas/athena/-/merge_requests/69890Updates to DumpEventDataToJSONConfig for PHYSLITE2024-03-18T15:13:54+01:00Edward MoyseUpdates to DumpEventDataToJSONConfig for PHYSLITEThis adds a protection for PHYSLITE tracks (namely, just dump the defining parameters, and don't expect anything else).
Follows on from !69881
cc @zmarshalThis adds a protection for PHYSLITE tracks (namely, just dump the defining parameters, and don't expect anything else).
Follows on from !69881
cc @zmarshalhttps://gitlab.cern.ch/atlas/athena/-/merge_requests/69881Adding electrons, taus, and photons to DumpEventDataToJSON2024-03-18T12:16:29+01:00Zach MarshallAdding electrons, taus, and photons to DumpEventDataToJSONFor event displays, adding a couple of simple lines to include photons,
electrons, and tau jets in the JSON dumps that we hand off to Phoenix.
It's not completely clear to me if there are naming conventions within
Phoenix that need to be...For event displays, adding a couple of simple lines to include photons,
electrons, and tau jets in the JSON dumps that we hand off to Phoenix.
It's not completely clear to me if there are naming conventions within
Phoenix that need to be respected, so this mostly tries to follow what's
already done inside the code.
@emoyse and @mvivasal might be interested.https://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/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/69788Updates to DumpEventDataToJSONConfig for PHYSLITE2024-03-14T10:53:09+01:00Zach MarshallUpdates to DumpEventDataToJSONConfig for PHYSLITEAdding a feature to the DumpEventDataToJSONConfig configuration function
that checks if we are running on PHYSLITE (based on something that I
believe is trustworthy) and then configures the input collections
accordingly. At the moment th...Adding a feature to the DumpEventDataToJSONConfig configuration function
that checks if we are running on PHYSLITE (based on something that I
believe is trustworthy) and then configures the input collections
accordingly. At the moment there are no track particles that can be
output, which isn't great, but the rest seems to work reasonably well.
There were a few collections that appear to not exist in the C++ code,
so I've removed the setting of those collection names (it causes the
function to crash out of the box).
Fixing a typo in a comment as well.
@emoyse might want to take a look at this one.https://gitlab.cern.ch/atlas/athena/-/merge_requests/69737HepMC::uniqueID should return id rather than barcode for HepMC3.2024-03-14T10:46:56+01:00John Derek ChapmanHepMC::uniqueID should return id rather than barcode for HepMC3.Preparing the ground for !67602 in cases where a barcode is being used as a unique ID for a truth particle only then it should be possible to use the id value interchangeably as this is also unique for each truth particle within a genera...Preparing the ground for !67602 in cases where a barcode is being used as a unique ID for a truth particle only then it should be possible to use the id value interchangeably as this is also unique for each truth particle within a generated/simulated event. (Pile-up truth requires the truth event number in additions to uniquely link to a particle.)
Adding placeholder `id()` methods for `xAOD::TruthParticle` and `HepMcParticleLink` which for now just return the result of `barcode()`.
!67602 will update this to be the `GenParticle::id()` for `HepMcParticleLink` and eventually !67195 will do this for `xAOD::Truth`.https://gitlab.cern.ch/atlas/athena/-/merge_requests/696682024-03-08: merge of 24.0 into main2024-03-09T20:23:44+01:00Vakhtang Tsulaia2024-03-08: merge of 24.0 into mainThis sweep contains the following MRs:
* !69304 Make number of bunch crossings for RPC L1 simulation configurable ~MuonSpectrometer, ~Trigger
* !69661 added ZBTopo to L1excluded thresholds (ATR-28938) ~Trigger
* !69475 Added Medium12/...This sweep contains the following MRs:
* !69304 Make number of bunch crossings for RPC L1 simulation configurable ~MuonSpectrometer, ~Trigger
* !69661 added ZBTopo to L1excluded thresholds (ATR-28938) ~Trigger
* !69475 Added Medium12/20/30/35 cTAU isolation WPs ~Tau, ~Trigger, ~TriggerMenu
* !69662 TrigTauMonitoring added eTAU BDT score ~DQ, ~Tau, ~Trigger
* !69656 Update eFexTowerBuilder.cxx - temporarily remove check for invalidity while... ~L1Calo, ~Trigger
* !69632 Clean up legacy TrkEventCnvTools config ~ACTS, ~DQ, ~Database, ~Egamma, ~InnerDetector, ~MuonSpectrometer, ~Overlay, ~Reconstruction, ~Simulation, ~Tracking, ~Trigger
* !69652 [ATR-28927] Bugfix in rates analysis, vector size ~Trigger
* !69645 moved back a legacy ditau trigger for commissioning ~Trigger, ~TriggerMenu
* !69555 Updated TRT tool configs (24.0) ~DQ, ~InnerDetector
* !69623 Delete legacy configs for InDetTrackingGeometry ~InnerDetector
* !69622 Delete legacy config in ConfigFlagHelpers.py ~InnerDetector
* !69621 Clean up legacy InDetConditions config ~Build, ~ITk, ~InnerDetector
* !69606 Remove legacy config in PixelCalibAlgs ~InnerDetector, ~Overlay
* !69605 adding b+tau chains with no HLT tau ID ~Trigger, ~TriggerMenu, ~changes-trigger-counts
* !69593 AtlasGeoModel: delete legacy configuration ~Geometry
* !69567 MagFieldServices: delete legacy configuration ~Magnets
* !69597 ByteStreamCnvSvcBase: migrate unit test to CA and delete legacy config ~EDM
* !69599 More AthenaMonitoring legacy config clean up (ATLASDQ-1134) ~Core, ~DQ
* !69602 ByteStreamTest: migrate tests to CA ~EDM
* !69600 Bug fix in the python script (name of the variable) ~DQ, ~JetEtmiss, ~Tilehttps://gitlab.cern.ch/atlas/athena/-/merge_requests/69602ByteStreamTest: migrate tests to CA2024-03-08T23:01:54+01:00Frank WinklmeierByteStreamTest: migrate tests to CACA migration and cleanup of the unit tests:
- Remove BadEvents tests as we don't use that feature and the input file did not even contain bad events.
- Migrate SkipOne and SkipNone test but only run on 10 events.
- Migrate Selector to E...CA migration and cleanup of the unit tests:
- Remove BadEvents tests as we don't use that feature and the input file did not even contain bad events.
- Migrate SkipOne and SkipNone test but only run on 10 events.
- Migrate Selector to EvenEvents test and fix the EvenEventsSelectorTool to actually select even events instead of odd ones.
Also delete some other unused legacy files.
cc @gemmeren