athena merge requestshttps://gitlab.cern.ch/atlas/athena/-/merge_requests2023-05-08T15:12:21+02:00https://gitlab.cern.ch/atlas/athena/-/merge_requests/62895EGAM derivations: new formats for HI, and fix a few small bugs2023-05-08T15:12:21+02:00Giovanni MarchioriEGAM derivations: new formats for HI, and fix a few small bugsImplements EGAM11 and EGAM12, custom versions of EGAM1 and EGAM7 for heavy ions, as requested in https://its.cern.ch/jira/projects/ATLEGAMDPD/issues/ATLEGAMDPD-230
To make this run, EGammaCommon sequence has been modified so that forwar...Implements EGAM11 and EGAM12, custom versions of EGAM1 and EGAM7 for heavy ions, as requested in https://its.cern.ch/jira/projects/ATLEGAMDPD/issues/ATLEGAMDPD-230
To make this run, EGammaCommon sequence has been modified so that forward electron ID and isolation density tools are only run after checking that needed containers are available in input (they are missing in HI AODs).
Also fix a little potential bug in each EGAM format in which code would break if thinning is not done because a variable was defined only inside a conditional statement.
Finally fix also another bug showing up in the test heavy ion AOD where clusters have been thinned away in the input (discussed with @jdevivi couple of weeks ago).https://gitlab.cern.ch/atlas/athena/-/merge_requests/62893A bit more economical replacement for MR628502023-05-09T16:12:57+02:00Christos Anastopouloschristos.anastopoulos@cern.chA bit more economical replacement for MR62850This should have the same effect as !62850
but we set things already at the "cache" level for the special maps.
ping @schaffer , @jmaurer , @goetzThis should have the same effect as !62850
but we set things already at the "cache" level for the special maps.
ping @schaffer , @jmaurer , @goetzhttps://gitlab.cern.ch/atlas/athena/-/merge_requests/62892Add the possibility to configutre the RPC L1 trigger majority logic2023-05-10T16:00:25+02:00Massimo CorradiAdd the possibility to configutre the RPC L1 trigger majority logicmodified: Trigger/TrigT1/TrigT1RPClogic/src/CMApatterns.cxxmodified: Trigger/TrigT1/TrigT1RPClogic/src/CMApatterns.cxxMassimo CorradiMassimo Corradihttps://gitlab.cern.ch/atlas/athena/-/merge_requests/62889dqm_algorithms - BinContentComp - Add option to not publish histogram with ba...2023-05-15T19:23:19+02:00Petr Fiedlerdqm_algorithms - BinContentComp - Add option to not publish histogram with bad binsAdd an option to not create a histogram with only bins for publishing. The histogram is created by default for the seamless addition of the feature.Add an option to not create a histogram with only bins for publishing. The histogram is created by default for the seamless addition of the feature.Petr FiedlerPetr Fiedlerhttps://gitlab.cern.ch/atlas/athena/-/merge_requests/62888FTAG truth decoration fix: skip unstable or low pT particles2023-10-16T17:08:40+02:00Samuel Van StroudFTAG truth decoration fix: skip unstable or low pT particlesThis is a follow up to https://gitlab.cern.ch/atlas/athena/-/merge_requests/62544 which avoids decorating the entire truth particle collection, which is expensive and was observed to significantly degrade event processing time as discuss...This is a follow up to https://gitlab.cern.ch/atlas/athena/-/merge_requests/62544 which avoids decorating the entire truth particle collection, which is expensive and was observed to significantly degrade event processing time as discussed in [ATLASG-2525](https://its.cern.ch/jira/browse/ATLASG-2525).
I just added a simple check on the status and pt of the truth particle, which bring the performance back in line with the pre-MR efficiency to within a percent or two. Going from 500 MeV to 1 GeV does not noticably improve things further so the selection is left at 500 MeV for now.
```
23.0
Derivation 12:51:35 PerfMonMTSvc INFO CPU usage per event [ms]: 735
Derivation 12:51:35 PerfMonMTSvc INFO Events per second: 1.314
500 MeV Selection
Derivation 13:14:34 PerfMonMTSvc INFO CPU usage per event [ms]: 662
Derivation 13:14:34 PerfMonMTSvc INFO Events per second: 1.462
1 GeV Selection
Derivation 13:43:44 PerfMonMTSvc INFO CPU usage per event [ms]: 664
Derivation 13:43:44 PerfMonMTSvc INFO Events per second: 1.446
```
If the small residual performance degredation is not acceptable, we can also think about only enabling the decorations for FTAG1, and not other formats.
cc @bdong @liganghttps://gitlab.cern.ch/atlas/athena/-/merge_requests/62885Updating digitization steps of FastChain ART tests to CA-based configuration2023-05-06T18:11:12+02:00Martina JavurkovaUpdating digitization steps of FastChain ART tests to CA-based configurationUpdate MC21 FastChainPileup ART jobs running simulation + MC-overlay/pile-up digitization in a single job to run reconstruction step with CA-based configuration.
Tagging @jchapmanUpdate MC21 FastChainPileup ART jobs running simulation + MC-overlay/pile-up digitization in a single job to run reconstruction step with CA-based configuration.
Tagging @jchapmanhttps://gitlab.cern.ch/atlas/athena/-/merge_requests/62883Proper usage of M_PI in the Generator filters2023-05-06T18:11:12+02:00Andrii VerbytskyiProper usage of M_PI in the Generator filtersProper usage of M_PI in the Generator filtersProper usage of M_PI in the Generator filtershttps://gitlab.cern.ch/atlas/athena/-/merge_requests/62881Update Run 2 global tags to latest versions.2023-05-06T18:11:12+02:00Mark HodgkinsonUpdate Run 2 global tags to latest versions.Update Run 2 global tags to latest versions.Update Run 2 global tags to latest versions.https://gitlab.cern.ch/atlas/athena/-/merge_requests/62871MuonGeoModelTest: Fix clang warning.2023-05-05T16:13:44+02:00Scott SnyderMuonGeoModelTest: Fix clang warning.Property type.
(Code was doing arithmetic comparisons on a boolean type.)Property type.
(Code was doing arithmetic comparisons on a boolean type.)https://gitlab.cern.ch/atlas/athena/-/merge_requests/62869AthContainers+AthContainersRoot: Skip name checking when reading from an inpu...2023-05-05T16:13:44+02:00Scott SnyderAthContainers+AthContainersRoot: Skip name checking when reading from an input file.Skip checking of aux variable names when reading from an input file.
See ATLASRECTS-7610.Skip checking of aux variable names when reading from an input file.
See ATLASRECTS-7610.https://gitlab.cern.ch/atlas/athena/-/merge_requests/62868Update checkCorrelInHIST to make it more flexible. Also, add command line...2023-05-06T18:11:12+02:00Ellis KayUpdate checkCorrelInHIST to make it more flexible. Also, add command line...Update checkCorrelInHIST to make it more flexible. Also, add command line option which allows the user to choose a specific set of histograms by which to compare the restUpdate checkCorrelInHIST to make it more flexible. Also, add command line option which allows the user to choose a specific set of histograms by which to compare the resthttps://gitlab.cern.ch/atlas/athena/-/merge_requests/62867Update iso config to support disabled tracker2023-05-05T16:13:44+02:00Thomas StreblerUpdate iso config to support disabled trackerSelf-explanatory
FYI @nsur @gtarnaSelf-explanatory
FYI @nsur @gtarnahttps://gitlab.cern.ch/atlas/athena/-/merge_requests/62864PyJobTransforms: Enable running Valgrind for CA-based Transform Jobs2023-05-05T16:13:44+02:00Alaettin Serhan MetePyJobTransforms: Enable running Valgrind for CA-based Transform JobsThis MR enables the users to run their transform jobs through `valgrind` for the CA-based configuration.
Closes ATLASJT-416This MR enables the users to run their transform jobs through `valgrind` for the CA-based configuration.
Closes ATLASJT-416https://gitlab.cern.ch/atlas/athena/-/merge_requests/62863Separating barcode functionality2023-05-09T16:12:56+02:00Philip ClarkSeparating barcode functionalitySplitting out barcode functionality to separate origin and id.Splitting out barcode functionality to separate origin and id.https://gitlab.cern.ch/atlas/athena/-/merge_requests/62862Ensure that various G4 Manager member variables are properly set in Athena im...2023-05-05T16:13:44+02:00John Derek ChapmanEnsure that various G4 Manager member variables are properly set in Athena implementations of G4UserActionsSee explanation from Mihaly Novak on ATLASSIM-6165:
When Geant4 is used from Athena, real G4 user actions of a given type are registered in the
`G4RunManager` (and their interface methods are eventually invoked) through a wrapper G4 use...See explanation from Mihaly Novak on ATLASSIM-6165:
When Geant4 is used from Athena, real G4 user actions of a given type are registered in the
`G4RunManager` (and their interface methods are eventually invoked) through a wrapper G4 user
action of that type. Therefore, some fields are set only for the wrapper user action but not
for the real wrapped user actions.
As an example, `G4UserTrackingAction` implementations (such as `AthenaTrackingAction`) are
wrapped in the `G4AtlasTrackingAction`:
* `G4AtlasTrackingAction` also derives from `G4UserTrackingAction` and actually this will be
the only one registered in the `G4RunManger`and thus invoked during the event processing.
* the real tracking actions (e.g. `AthenaTrackingAction`) are added to this wrapper (stored
in a vector field)
* Whenever the (`Pre/PostUserTrackingAction`) interface of `G4AtlasTrackingAction` is invoked
by the run manager, it just iterates over all registered real user tracking actions and
invokes the corresponding interface method.
* As only the wrapper `G4AtlasTrackingAction` is registered directly in the `G4RunManager`,
only its `fpTrackingManager` field is set properly (during registration) while all real
user tracking action `fpTrakingManager` field are unset, i.e. left to be null as initialised.
In addition to the `G4UserTrackingAction` fix, also set manager properties in the other UserAction types.
No effect on output expected, but improving the initialization robustness will allow other developments discussed in ATLASSIM-6165 to proceed.
Tagging @mnovak, @mbandier, @tlari.https://gitlab.cern.ch/atlas/athena/-/merge_requests/62857lighter TCT ART output2023-05-08T11:07:31+02:00Julien Maurerlighter TCT ART outputOnly store log files in the output + compare against a fixed reference since the output files of the previous nightly won't be available anymore.
ATLINFR-4929Only store log files in the output + compare against a fixed reference since the output files of the previous nightly won't be available anymore.
ATLINFR-4929https://gitlab.cern.ch/atlas/athena/-/merge_requests/62855Replaced all Bins_Greater(Less)Than_Threshold algorithms with just GatherData2023-05-19T21:12:41+02:00Per Daniel Conny JohanssonReplaced all Bins_Greater(Less)Than_Threshold algorithms with just GatherDataAs these algorithms does not work after recent central changes, empty histograms, I have for now just replaced them with GatherData.
These histograms are needed for DQ sign off!As these algorithms does not work after recent central changes, empty histograms, I have for now just replaced them with GatherData.
These histograms are needed for DQ sign off!https://gitlab.cern.ch/atlas/athena/-/merge_requests/62854L1Calo eFEX BDT-based tau algorithm integration2023-05-16T18:52:06+02:00David ReikherL1Calo eFEX BDT-based tau algorithm integrationIn additional to the existing tau algorithm, a BDT-based tau algorithm is added to the `L1CaloFEXSim` package. It simulates the algorithm implemented in https://gitlab.cern.ch/atlas-l1calo-efex/eFEXFirmware/-/merge_requests/298.
This wi...In additional to the existing tau algorithm, a BDT-based tau algorithm is added to the `L1CaloFEXSim` package. It simulates the algorithm implemented in https://gitlab.cern.ch/atlas-l1calo-efex/eFEXFirmware/-/merge_requests/298.
This will produce two additional `eFexTauRoI_v1` EDMs in the output files (one for TOBx and another for xTOBs) containing the BDT algorithm's output.
The algorithm loads a json bdt configuration file located at `data/bdt_config.json` which contains all BDT weights and other relevant configuration.
The https://github.com/nlohmann/json library (MIT License, single file `nlohmann/json.hpp` in include dir) is used to read the json file. Due to how it works, the ATLAS class member naming conventions (starts with `m_`) cannot be applied there.
A unit test verifying that the BDT variables and scores are properly computed is also added.
Tagging @watsona @thompson @hillierhttps://gitlab.cern.ch/atlas/athena/-/merge_requests/62853Retrieve PixelCalibData ReadCondHandles once per call2023-05-18T12:30:10+02:00Stewart Martin-HaughRetrieve PixelCalibData ReadCondHandles once per callRetrieve ReadCondHandles once per clusterize() call, instead of once per pixel cluster (!). Although I don't see a big impact on timing from my profile.Retrieve ReadCondHandles once per clusterize() call, instead of once per pixel cluster (!). Although I don't see a big impact on timing from my profile.https://gitlab.cern.ch/atlas/athena/-/merge_requests/62850Try to fix issues when we have just solenoid map2023-05-05T17:19:27+02:00Christos Anastopouloschristos.anastopoulos@cern.chTry to fix issues when we have just solenoid mapThis should fix a few of the FPE we see.
- The issue begins due to the fact that the "solenoid" zone (the one with id = 7000) ends at r ~ 1075. Which is a bit less than the Inner Detector volume. This prb we need to check with the map e...This should fix a few of the FPE we see.
- The issue begins due to the fact that the "solenoid" zone (the one with id = 7000) ends at r ~ 1075. Which is a bit less than the Inner Detector volume. This prb we need to check with the map experts. The part outside is covered by another zone(s).
- Then there is a bit of a logic issue which we try to adress here. If have a solenoid only map, we still use the toroid current to scale everything outside the solenoid zone ... Which then means we 0 the field for things at r ~ 1076 "late endcap TRT"
- This is what we fix here (or try) if we have only solenoid ON map, we rely on the map for the 0s. And we use just the solenoid scale
- We conversely do the same if Toroid is only on
ping @schaffer, @jmaurer , @strichte
There are some question we prb would need to ping the map experts.
As in reality what we seem to be doing when both on (the case I do not touch here ) is not the most accurate for r ~1076 but this seems to be there for some time from what I can tell ... (looking back even in ``svc`` times)
Perhaps something for the future is to not just use the zone->id() but also see if the r,z are inside the Inner detector volume and then use the solenoid scale when both on.
But as said the case of a map with both on (the common case) is the one I do not want to touch here ....