athena merge requestshttps://gitlab.cern.ch/atlas/athena/-/merge_requests2021-05-04T03:03:30+02:00https://gitlab.cern.ch/atlas/athena/-/merge_requests/43123Fixes for AODtoHIST2021-05-04T03:03:30+02:00Peter OnyisiFixes for AODtoHIST* fixes for skeletons to configure new flags
* enable HLT in AODtoHIST* fixes for skeletons to configure new flags
* enable HLT in AODtoHISThttps://gitlab.cern.ch/atlas/athena/-/merge_requests/43147Read JetDS configuration from chainDict2021-05-04T03:03:14+02:00Teng Jian KhooRead JetDS configuration from chainDictAvoid parsing the chain name in favour of querying the `chainDict`. This was never read from the jet chainParts, so remove it and the defunct 'TLA' expression. Reading from the full dict rather than chainParts is preferable in any case, ...Avoid parsing the chain name in favour of querying the `chainDict`. This was never read from the jet chainParts, so remove it and the defunct 'TLA' expression. Reading from the full dict rather than chainParts is preferable in any case, as it is then defined only once per chain, regardless of how many jet legs are present.
As `gscThreshold` no longer exists, I also took advantage of this opportunity to remove the lines that parse it.
Attn: @valentem, @jbossios, @doglionihttps://gitlab.cern.ch/atlas/athena/-/merge_requests/43160Si(Total)Charge changes to improve iterability2021-05-04T03:03:05+02:00Tobias BisanzSi(Total)Charge changes to improve iterability* Moved from `std::list` to `std::vector` for SiTotalCharge backend container to improve speed due to prefetching
* Moved to functions from `std::algorithm` to improve maintainability and readability (and possibly speed)
Tagging @tdado ...* Moved from `std::list` to `std::vector` for SiTotalCharge backend container to improve speed due to prefetching
* Moved to functions from `std::algorithm` to improve maintainability and readability (and possibly speed)
Tagging @tdado
Functional change where backend container (`std::list` with a custom `SG::ArenaSharedHeapSTLAllocator<SiCharge>`) is replaced by `std::vector` and default allocator. Need experts to confirm this is okay!
Pixel digitization output with radiation damage compared via `diff-root` - is the samehttps://gitlab.cern.ch/atlas/athena/-/merge_requests/43050TEG Forward: Setup precise and fast forward into the e/g menu2021-05-04T03:03:03+02:00Joao Victor Da Fonseca PintoTEG Forward: Setup precise and fast forward into the e/g menuThis MR set the fast and precise steps (not used yet) into the menu. Just build the skeleton.
ping: @cjmeyer, @fernando , @dbakshig , @mschefer, @mverissi , @eegidiop
Ticket: ATR-18968This MR set the fast and precise steps (not used yet) into the menu. Just build the skeleton.
ping: @cjmeyer, @fernando , @dbakshig , @mschefer, @mverissi , @eegidiop
Ticket: ATR-18968Joao Victor Da Fonseca PintoJoao Victor Da Fonseca Pintohttps://gitlab.cern.ch/atlas/athena/-/merge_requests/43151Codes for making DCube histograms for digitisation in nightly ART tests2021-05-04T03:02:56+02:00Paul JonesCodes for making DCube histograms for digitisation in nightly ART testsCreateDCubeDigitHistograms.py is based on CreateDCubeHistograms.py.
The full-chain ART test scripts are modified to create plots for digits using CreateDCubeDigitHistograms.py.
The corresponding XML files for digitisation have been cre...CreateDCubeDigitHistograms.py is based on CreateDCubeHistograms.py.
The full-chain ART test scripts are modified to create plots for digits using CreateDCubeDigitHistograms.py.
The corresponding XML files for digitisation have been created for sym/asym layouts.https://gitlab.cern.ch/atlas/athena/-/merge_requests/43153EventInfoTagBuilder: Conditionally initialize ReadHandleKey2021-05-04T03:02:50+02:00Walter LamplEventInfoTagBuilder: Conditionally initialize ReadHandleKeyFollow up of !43016. The per-event WARNING
```
SGInputLoader 17 1 WARNING unable to find proxy for ( 'AthenaAttributeList' , 'StoreGateSvc+Input' )
```
came from a ReadHandleKey to the input...Follow up of !43016. The per-event WARNING
```
SGInputLoader 17 1 WARNING unable to find proxy for ( 'AthenaAttributeList' , 'StoreGateSvc+Input' )
```
came from a ReadHandleKey to the input AttributeList that should be ingnored if the input is ByteStream. This MR fixes this issue.https://gitlab.cern.ch/atlas/athena/-/merge_requests/43144ATLASRECTS-6293. Try to remove seemingly unused packages.2021-05-04T03:02:47+02:00Christos Anastopouloschristos.anastopoulos@cern.chATLASRECTS-6293. Try to remove seemingly unused packages.ATLASRECTS-6293. Try to remove seemingly unused packages. The iPat fitter implementation under tracking is used,these seem not toATLASRECTS-6293. Try to remove seemingly unused packages. The iPat fitter implementation under tracking is used,these seem not tohttps://gitlab.cern.ch/atlas/athena/-/merge_requests/43150TRT tools we know the size of the returned parameters vector in compile time,...2021-05-04T03:02:45+02:00Christos Anastopouloschristos.anastopoulos@cern.chTRT tools we know the size of the returned parameters vector in compile time, so we can use ithttps://gitlab.cern.ch/atlas/athena/-/merge_requests/43171Adding more decorations in BoostedJetTaggers2021-05-04T03:02:38+02:00Jason Robert VeatchAdding more decorations in BoostedJetTaggersAs suggested by @omajersk, a kinematic validity summary flag is decorated to jets. Additionally, the BDT score in `JetQGTaggerBDT` is decorated to jets.
Tagging @cdelitzs, @mswiatlo, @wbalunas, @sawyer, @tnobe, and @jcanteroAs suggested by @omajersk, a kinematic validity summary flag is decorated to jets. Additionally, the BDT score in `JetQGTaggerBDT` is decorated to jets.
Tagging @cdelitzs, @mswiatlo, @wbalunas, @sawyer, @tnobe, and @jcanterohttps://gitlab.cern.ch/atlas/athena/-/merge_requests/43099Set default path when configuring via GenericMonitoringTool.defineHistogram2021-05-04T03:02:29+02:00Peter OnyisiSet default path when configuring via GenericMonitoringTool.defineHistogramAddress ATLASDQ-809Address ATLASDQ-809https://gitlab.cern.ch/atlas/athena/-/merge_requests/43068Updates for validation of ITkStrip Digitization2021-05-04T00:06:58+02:00Nicholas StylesUpdates for validation of ITkStrip Digitization- Adds new branches/histograms to display row number for ITk Strip RDOs in analysis class
- Fix conversion of Identifiers to SiCellIds in presence of rows
The latter adds some additional checks, but this method appears to be called most...- Adds new branches/histograms to display row number for ITk Strip RDOs in analysis class
- Fix conversion of Identifiers to SiCellIds in presence of rows
The latter adds some additional checks, but this method appears to be called mostly in validation code and so hopefully will not add any overhead for typical jobs.
FYI @hhaywardhttps://gitlab.cern.ch/atlas/athena/-/merge_requests/43069Pixel digitisation planar tool speed up2021-05-03T19:23:17+02:00Tomas DadoPixel digitisation planar tool speed upThis MR contains 2 changes:
* Initialising vector to size 9 in the constructor as maximum of 9 elements are needed - this removes the vector allocation as the main bottleneck from profiling
* Optimised the way how the diode position is...This MR contains 2 changes:
* Initialising vector to size 9 in the constructor as maximum of 9 elements are needed - this removes the vector allocation as the main bottleneck from profiling
* Optimised the way how the diode position is retrieved - this is courtesy of @tbisanz
Output verified with `diff-root`, no differences were observedhttps://gitlab.cern.ch/atlas/athena/-/merge_requests/43088fix when Algorithm::initialize() gets called2021-05-03T19:09:55+02:00Nils Erik Krumnackfix when Algorithm::initialize() gets calledI accidentally changed it so that Algorithm::initialize() got called
after TEvent::GetEntry(), which broke any meta-data tools created in
initialize() which rely on beginEvent.
I'm a little worried that this may also break something, bu...I accidentally changed it so that Algorithm::initialize() got called
after TEvent::GetEntry(), which broke any meta-data tools created in
initialize() which rely on beginEvent.
I'm a little worried that this may also break something, but
presumably this was what we did before, so hopefully it doesn't break
anything.
cc @janders @cmerlass @salderwehttps://gitlab.cern.ch/atlas/athena/-/merge_requests/42899Implement tools decorating L1 xAOD RoI objects with threshold patterns2021-05-03T17:08:24+02:00Rafal Bielskirafal.bielski@cern.chImplement tools decorating L1 xAOD RoI objects with threshold patternsImplement tools which decorate L1 xAOD RoI objects with threshold patterns, as discussed in ATR-23290. The decoration is a **64-bit** mask where each bit corresponds to L1 trigger threshold number of a given type and the value indicates ...Implement tools which decorate L1 xAOD RoI objects with threshold patterns, as discussed in ATR-23290. The decoration is a **64-bit** mask where each bit corresponds to L1 trigger threshold number of a given type and the value indicates whether the threshold passed or not for the given RoI object (TOB).
There is an interface class `IRoIThresholdsTool` to be used by clients to call the `decorateThresholds` method. There is also a base class `RoIThresholdsTool` taking care of the menu information retrieval, input and output data handles, and the act of adding the decoration. The concrete implementations only need to provide the `getPatterns` method which translate the information from the menu and the RoI object (TOB) into the 64-bit mask.
For `xAOD::eFexEMRoI` a new tool is created - `eFexEMRoIThresholdsTool`.
For `xAOD::MuonRoI` (MUCTPI), the existing `TrigThresholdDecisionTool` is adapted to derive from the new base class and follow the new interfaces and logic. cc @armbrust
The clients, eFex EM and MU "RoI unpacking tools" in L1Decoder, are adapted to depend on and read the new decoration for seeding the HLT chains.
Left to do in a separate MR: Implement the `getPattern` logic for `xAOD::eFexEMRoI` (`eFexEMRoIThresholdsTool`). For now it returns an all-pass mask.
NB: As there was no opposition in Jira, I opted for a 64-bit mask instead of 32-bit to be on the safe side regarding the possible number of thresholds.https://gitlab.cern.ch/atlas/athena/-/merge_requests/42968EnhancedBiasWeighter: Remove usage of BunchCrossingTool2021-05-03T10:55:09+02:00Aleksandra PorebaEnhancedBiasWeighter: Remove usage of BunchCrossingToolATR-23346
tagging @fwinkl @tamartinATR-23346
tagging @fwinkl @tamartinhttps://gitlab.cern.ch/atlas/athena/-/merge_requests/43113TriggerTest+TriggerMenuMT: Add new slice reproducibility test with prescales2021-05-03T03:04:35+02:00Rafal Bielskirafal.bielski@cern.chTriggerTest+TriggerMenuMT: Add new slice reproducibility test with prescalesFulfill request from ATR-22923 by adding a new slice reproducibility test using prescales to disable other slices (rather than flags as in the existing test).
----
Detailed changes (including new features required for the new test):
* ...Fulfill request from ATR-22923 by adding a new slice reproducibility test using prescales to disable other slices (rather than flags as in the existing test).
----
Detailed changes (including new features required for the new test):
* rename the existing test from `slice_reproducibility` to `slice_reprodWithFlags`
* two minor configuration fixes in the old test
* add new test `slice_reprodWithPS`
* fix typo in the name of the script trigmenu_modify_pre**s**cale_json.py
* extend the `trigmenu_modify_prescale_json.py` script to accept multiple groups rather than just one
* allow `PyStep` to pass function arguments
* add ART-grid version of the two tests with 100 events (and additional "Other" slice for the PS test)
----
The new test is somewhat complicated because it has a lot of steps, but it is very useful. I works like this:
1. Run a config-only full-menu job to generate the menu and configuration pickle file.
2. Save a copy of the default prescales file.
3. For full menu and each slice:
* Reset prescales file to the default and modify to keep only the slice enabled.
* Run the job from the pickle file from step 1.
* Extract counts to yaml with `chainDump.py`
* Modify the yaml counts file to remove all counts for disabled chains (otherwise they would show up as difference wrt full menu)
4. Compare each slice counts file to the full menu counts with `chainComp.py`
----
Closes ATR-22923https://gitlab.cern.ch/atlas/athena/-/merge_requests/41989Master do not use alignment for simple tests and more new/old config fixes2021-05-03T03:03:57+02:00Edward MoyseMaster do not use alignment for simple tests and more new/old config fixesThis is a follow up to !39908
Here I try to handle the alignment errors correctly. Also, many little fixes for differences in old/new configuration (see !39908 for details about how these were found).
Running full tests, as I'm nervous...This is a follow up to !39908
Here I try to handle the alignment errors correctly. Also, many little fixes for differences in old/new configuration (see !39908 for details about how these were found).
Running full tests, as I'm nervous about breaking something in the trigger.
I have to say I'm not very happy with how I "solved" the problem of failing tests with `forceDisableAlignment` ... but this is a little tricky. Most likely the 'correct' solution is to separate the conditions algs from the base GeoModel config, so workflows that need this conditions data will need to explicitly configure it. This will touch a *lot* of code though, so for the moment this seems like a pragmatic fix to try to get this working.https://gitlab.cern.ch/atlas/athena/-/merge_requests/43065Removed LArMonPostProc.yaml duplicate + lar post-processes bugfixes2021-05-03T03:03:21+02:00Margherita SpallaRemoved LArMonPostProc.yaml duplicate + lar post-processes bugfixesRemoved duplicate LArMonPostProc.yaml from LArCalorimeter/LArMonitoring/python/, we only keep the version inside DataQualityUtils.
Bugfixes in DataQualityUtils/LArMonPostProc.yaml and LArMonitoring/LArMonTransforms.py: fixes the LAr/Cove...Removed duplicate LArMonPostProc.yaml from LArCalorimeter/LArMonitoring/python/, we only keep the version inside DataQualityUtils.
Bugfixes in DataQualityUtils/LArMonPostProc.yaml and LArMonitoring/LArMonTransforms.py: fixes the LAr/Coverage/CoverageHW plots not being post-processed properly.https://gitlab.cern.ch/atlas/athena/-/merge_requests/43078TrigBSExtraction: code cleanup2021-05-03T03:02:48+02:00Frank WinklmeierTrigBSExtraction: code cleanupCleanup the code in `TrigBSExtraction` and make the testing job options
work again (still some problems for Run-1). No functional changes and further cleanup (e.g. converting to DataHandles) will follow in a future MR.Cleanup the code in `TrigBSExtraction` and make the testing job options
work again (still some problems for Run-1). No functional changes and further cleanup (e.g. converting to DataHandles) will follow in a future MR.https://gitlab.cern.ch/atlas/athena/-/merge_requests/43105Update BPHY15: duplicate suppression for D+2021-05-02T03:06:07+02:00Tatiana LyubushkinaUpdate BPHY15: duplicate suppression for D+Add duplicate suppression for D+ in JpsiPlusDsCascade.cxx; change BMassLower, TrkTrippletMassLower, MassMin flags from 5600 to 5500 for Bc in BPHY15.py; change BMassUpper, TrkTrippletMassUpper, and MassMax flags from 6900 to 7200;Add duplicate suppression for D+ in JpsiPlusDsCascade.cxx; change BMassLower, TrkTrippletMassLower, MassMin flags from 5600 to 5500 for Bc in BPHY15.py; change BMassUpper, TrkTrippletMassUpper, and MassMax flags from 6900 to 7200;