athena merge requestshttps://gitlab.cern.ch/atlas/athena/-/merge_requests2023-06-06T10:54:38+02:00https://gitlab.cern.ch/atlas/athena/-/merge_requests/63389Draft: hack JetVertexNNTagger to work with new TAuxStore check2023-06-06T10:54:38+02:00Michael HolzbockDraft: hack JetVertexNNTagger to work with new TAuxStore checkMR !62822 introduced a new check in the TAuxStore which makes the recalculation of the NNJvt score via the JetVertexNNTagger (as this uses WriteDecorHandles) crash in AthAnalysis, see the discussion in ATLSUSYBGF-672.
This MR introduces...MR !62822 introduced a new check in the TAuxStore which makes the recalculation of the NNJvt score via the JetVertexNNTagger (as this uses WriteDecorHandles) crash in AthAnalysis, see the discussion in ATLSUSYBGF-672.
This MR introduces a temporary (and ugly) workaround by adding an option to use Decorators instead of WriteDecorHandles.https://gitlab.cern.ch/atlas/athena/-/merge_requests/63474Fix typo in Muon Tester Tree branch2023-06-05T12:34:09+02:00Davide CieriFix typo in Muon Tester Tree branchLittle MR to fix a typo in the mcChannelNumber branch of the muon tester treeLittle MR to fix a typo in the mcChannelNumber branch of the muon tester treeJohannes Junggeburthjohannes.josef.junggeburth@cern.chJohannes Junggeburthjohannes.josef.junggeburth@cern.chhttps://gitlab.cern.ch/atlas/athena/-/merge_requests/60941Draft: Should build the trajectories faster2023-06-05T11:22:59+02:00Andrii VerbytskyiDraft: Should build the trajectories fasterThis MR should help to build the truth trajectories faster in the MuonSpectrometer and in the Tracking.
This is done with a reimplementation of the `getDaughter()` and `getMother()` functions.
The previous implementation of those funct...This MR should help to build the truth trajectories faster in the MuonSpectrometer and in the Tracking.
This is done with a reimplementation of the `getDaughter()` and `getMother()` functions.
The previous implementation of those functions always created a copy of the particle used in
the argument using the `truthTrajectoryCuts` function,
which always returned a pair of particles.
Tag @jojungge @jchapman @christoshttps://gitlab.cern.ch/atlas/athena/-/merge_requests/60825Draft: Add ability to build AthGeneration writing out legacy McEventCollectio...2023-06-05T11:22:41+02:00Tadej Novaktadej.novak@cern.chDraft: Add ability to build AthGeneration writing out legacy McEventCollection_p5Add ability to build `AthGeneration` writing out legacy `McEventCollection_p5`.
The motivation for this is to avoid building legacy branches to have working EVNT merge that writes out `McEventCollection_p5`. This is needed for MC16 and ...Add ability to build `AthGeneration` writing out legacy `McEventCollection_p5`.
The motivation for this is to avoid building legacy branches to have working EVNT merge that writes out `McEventCollection_p5`. This is needed for MC16 and MC20 sample production with EVNT made in master-based releases.
While probably some old 22.6 release is enough, this took me very little time to implement and test and now have it ready even if we do not decide to merge. Keeping draft for now to allow discussion.
/cc @ewelina @jchapman @akraszna @fwinkl @nstyles @jcatmorehttps://gitlab.cern.ch/atlas/athena/-/merge_requests/59594Draft: Expanded the xAOD RDataFrame helpers to include friend trees2023-06-05T11:05:55+02:00Henry Day-HallDraft: Expanded the xAOD RDataFrame helpers to include friend treesThe xAOD RDataFrame helpers allow RDataFrame to be used on a tree containing an xAOD.
This extends these tools so that additional non-xAOD friend trees can be attached and read with RDataFrame at the same time as the primary xAOD tree.
...The xAOD RDataFrame helpers allow RDataFrame to be used on a tree containing an xAOD.
This extends these tools so that additional non-xAOD friend trees can be attached and read with RDataFrame at the same time as the primary xAOD tree.
## Mechanics
At its core, the xAOD RDataFrame helper provides a new RDataSource subclass that handles the xAOD. To handle friend trees that RDataSource subclass was extended, copying the design from [RRootDS.cxx](https://github.com/root-project/root/blob/master/tree/dataframe/src/RRootDS.cxx). The parts that handle the xAOD tree are essentially unaltered by this extension.
(Perhaps there is some way to use multiple inheritance that would use both classes without changing the existing RDataSource, or copying anything from RRootDS. I couldn't see how to get round the methods marked `final`, so I settled for extending the xAOD RDataSource.)
The friend tree is accessed from a second TChain. While this is wasteful of memory, because the xAOD is loaded twice, there doesn't appear to be an alternative.
- If I try to access the friend tree directly from the TChain used to read the xAOD I get some errors that appear to indicate that RDataFrame is confused by having the aux store loaded. For example;
```
Traceback (most recent call last):
File "/home/dayhahen/jetydaod/doodles/xAOD_RDF_friends.py", line 23, in <module>
mean_pt = filtered.Mean("pt").GetValue()
cppyy.gbl.SG.ExcNoAuxStore: const double& ROOT::RDF::RResultPtr<double>::GetValue() =>
ExcNoAuxStore: SG::ExcNoAuxStore: Requested aux data item `::pt' (38) but there is no associated aux data store.
```
- If I were to omit the xAOD tree from the TChain used for the friends they might not stay in sync. The number of events in the friend tree can be truncated by the primary tree, so I think it's best to always have the primary xAOD tree in the TChain.
So I have settled for simply handling xAOD access and friend tree access from different TChains, both of which contain the xAOD, but only the later of which contains friend trees.
## Interface
Using python, the previous api was;
```python
import ROOT; ROOT.xAOD.Init(); ROOT.xAOD.JetContainer_v1()
from xAODDataSource import Helpers
# Primary tree contains kinematics
primary_glob = "/home/dayhahen/jetydaod/example_data/rucio/2022_datasets/data22_13p6TeV.00432180.physics_Main.deriv.DAOD_PHYS.f1264_m2124_p5334_tid30924306_00/DAOD_PHYS.30924306._*.pool.root.1"
simple_xAOD_df = Helpers.MakexAODDataFrame(primary_glob)
```
The new api can be used like;
```python
import ROOT; ROOT.xAOD.Init(); ROOT.xAOD.JetContainer_v1()
from xAODDataSource import Helpers
# Primary tree contains kinematics
primary_glob = "/home/dayhahen/jetydaod/example_data/rucio/2022_datasets/data22_13p6TeV.00432180.physics_Main.deriv.DAOD_PHYS.f1264_m2124_p5334_tid30924306_00/DAOD_PHYS.30924306._*.pool.root.1"
# as per the old api;
simple_xAOD_df = Helpers.MakexAODDataFrame(primary_glob)
# Or with friend trees;
primary_tree = "CollectionTree"
friend_glob = "/home/dayhahen/jetydaod/example_data/rucio/2022_datasets/data22_13p6TeV.00432180.physics_Main.deriv.DAOD_PHYS.f1264_m2124_p5334_tid30924306_00_friends/DAOD_PHYS.30924306._*.pool_friend.root.1"
friend_tree = "triggers"
# Make the df with both of them (could have more than one friend if needed)
friended_df = Helpers.MakexAODDataFrame(primary_glob, primary_tree, [friend_glob], [friend_tree])
```
It's also possible to replace the globs with lists of file names.
I could have added the option to provide a TChain as input, but I opted not to because;
1. Technically, a TChain is capable of making one tree out of multiple trees of different names (provided their content matches). This is true of both the primary tree and it's friends. Currently the RDataSource doesn't support that.
2. I'm not sure what else TChain can do that I'm unaware of. Each thread needs access to the input data, and TChain's copy constructor is disabled. Because it lacks a copy constructor, I'd need to be confident that I could create an equivalent data source for each thread, which means knowing all the things that could be specified by a TChain. Much easier to insist the user gives files/tree names for the friends, completely restricting the input to things I understand.
However if that decision is unpopular, I'm happy to change this.
## Tests
It comes with 3 new tests; `test/dataFrameFriends_test.cxx` `test/dataFrameFriends_test.py` `test/dataSourceFriends_test.cxx`. These run in the CI. Some of their warnings are ignored, but the values they calculate are checked.https://gitlab.cern.ch/atlas/athena/-/merge_requests/59033Draft: DMuon ART - Add RawToALL steering2023-06-05T11:05:09+02:00Johannes Junggeburthjohannes.josef.junggeburth@cern.chDraft: DMuon ART - Add RawToALL steeringTagging @mabarel, @tadejTagging @mabarel, @tadejhttps://gitlab.cern.ch/atlas/athena/-/merge_requests/58902Draft:Addition of calorimeter cells and slow muon container to DAOD LLP12023-06-05T11:04:39+02:00Laura Elaine BruceDraft:Addition of calorimeter cells and slow muon container to DAOD LLP1DAOD LLP1 and TrackParticleCaloCellDecorator were changed to include calorimeter cell information, muon cluster information, and slow muon information. These additions may be useful for future LLP analyses relying on RPC/slow muon timing...DAOD LLP1 and TrackParticleCaloCellDecorator were changed to include calorimeter cell information, muon cluster information, and slow muon information. These additions may be useful for future LLP analyses relying on RPC/slow muon timing or calorimeter timing. Description of the increase in kb/evt is included. ![Screen_Shot_2022-12-01_at_9.15.35_PM](/uploads/182b8c54250e3f56c4170d604659a8f1/Screen_Shot_2022-12-01_at_9.15.35_PM.png)Laura Elaine BruceLaura Elaine Brucehttps://gitlab.cern.ch/atlas/athena/-/merge_requests/57853Draft: Adding EventContext to makeHandle2023-06-05T10:44:46+02:00Chris Malena DelitzschDraft: Adding EventContext to makeHandleSimply adding EventContext to makeHandle in JetMomentTools and DerivationFrameworkJetEtMiss as requested some time ago during one of my MRs.Simply adding EventContext to makeHandle in JetMomentTools and DerivationFrameworkJetEtMiss as requested some time ago during one of my MRs.https://gitlab.cern.ch/atlas/athena/-/merge_requests/63426Update MCTruthClassifierGen.cxx2023-06-02T12:10:59+02:00Andrii VerbytskyiUpdate MCTruthClassifierGen.cxxA small addition to https://gitlab.cern.ch/atlas/athena/-/merge_requests/63393.A small addition to https://gitlab.cern.ch/atlas/athena/-/merge_requests/63393.https://gitlab.cern.ch/atlas/athena/-/merge_requests/63421Draft: Fix a problem with Sequencer incident handling in ES MT2023-06-02T10:01:57+02:00Marcin NowakDraft: Fix a problem with Sequencer incident handling in ES MTSequencer will no longer overwrite the slot0 rangeID when given the NextRange incident without event context, but rather it will store the new rangeID for the next BeginProcessing incident. That should fix EventService MT. No behavior ch...Sequencer will no longer overwrite the slot0 rangeID when given the NextRange incident without event context, but rather it will store the new rangeID for the next BeginProcessing incident. That should fix EventService MT. No behavior changes should be observed when not using ESMT.
FI @tsulaiahttps://gitlab.cern.ch/atlas/athena/-/merge_requests/63402Draft: Better MetaCont problems detection and reporting in OutputStream2023-06-02T10:01:41+02:00Marcin NowakDraft: Better MetaCont problems detection and reporting in OutputStreamExisting code in the OutputStream was only checking if a MetaCont was found, but not if the object retrieved from it was not null.
Added this check and also error code propagation to the caller.Existing code in the OutputStream was only checking if a MetaCont was found, but not if the object retrieved from it was not null.
Added this check and also error code propagation to the caller.https://gitlab.cern.ch/atlas/athena/-/merge_requests/63365Draft: Test2023-06-01T21:23:47+02:00Carlo Varnicarlo.varni@cern.chDraft: Testjust a testjust a testhttps://gitlab.cern.ch/atlas/athena/-/merge_requests/63221Add e/g ET cluster cell values to TOBEtTool2023-05-23T15:32:09+02:00Alan WatsonAdd e/g ET cluster cell values to TOBEtToolAdds function to return vector of cells used to form e/g ET cluster.
Needed for (re)calculation of dead material corrections with different weights.Adds function to return vector of cells used to form e/g ET cluster.
Needed for (re)calculation of dead material corrections with different weights.https://gitlab.cern.ch/atlas/athena/-/merge_requests/63209Update expcetion message in excBadVarName to make it more clear what the prob...2023-05-22T20:18:54+02:00Tomas DadoUpdate expcetion message in excBadVarName to make it more clear what the problem isI got confused by this errro:
```
terminate called after throwing an instance of 'SG::ExcBadVarName'
what(): SG::ExcBadVarName: Bad name for auxiliary variable `2022_particle'. Variable and class name must be identifiers, and variable...I got confused by this errro:
```
terminate called after throwing an instance of 'SG::ExcBadVarName'
what(): SG::ExcBadVarName: Bad name for auxiliary variable `2022_particle'. Variable and class name must be identifiers, and variable name must not be empty.
```
Then I realised the problem was the first character cannot be a number, but that was not clear from the message.https://gitlab.cern.ch/atlas/athena/-/merge_requests/63164bugfix NswCondTestAlg2023-05-19T13:03:06+02:00Constantin Heideggerbugfix NswCondTestAlghttps://gitlab.cern.ch/atlas/athena/-/merge_requests/63115Daily merge of 23.0 into master2023-05-18T19:48:57+02:00Vakhtang TsulaiaDaily merge of 23.0 into masterConflicts:
- `SiClusterizationTool/ClusterMakerTool`. The conflict was caused by !62853 and !62051. It required manual resolution. @cvarni and @smh could you please check that everything is OK there.
- `ActsTrkClusterizationToolsConfig.p...Conflicts:
- `SiClusterizationTool/ClusterMakerTool`. The conflict was caused by !62853 and !62051. It required manual resolution. @cvarni and @smh could you please check that everything is OK there.
- `ActsTrkClusterizationToolsConfig.py`. The file has been deleted in the ~master and modified in the ~23.0. So, I ignored the latter modifications. Hopefully, this was the right thing to do.
This sweep contains the following MRs:
* !63107 Adding noalg eEM9 ~Trigger, ~TriggerMenu
* !63079 Correction to m_trigDec feature container for muon matching ~DQ, ~Trigger
* !63075 Reconstruction - Remove scheduler warning from TTVA tools ~JetEtmiss, ~Reconstruction, ~Tau
* !63072 DerivationFrameworkTruth - Declare truth classifier dependencies & breakup kernels ~Derivation, ~Tau
* !63065 Moving noise filling to the jTower creation ~Trigger
* !62853 Retrieve PixelCalibData ReadCondHandles once per call ~ACTS, ~Digitization, ~InnerDetector, ~Tracking
* !63021 xAODRootAccess: Don't check names of aux variables read from the input. ~Core
* !63069 add inner-coincidence plots to TGC offline DQ ~DQ, ~MuonSpectrometer, ~Trigger
* !62930 New NSW container to dump the trigger processor ~Analysis, ~Build, ~EDM, ~MuonSpectrometer, ~Run3-DataReco-output-changed, ~Tools, ~Trigger, ~frozen-tier0-violating
* !63063 ATR-26675, ATR-26776: Switch Topo3 to AlfaCtpIn by ConfigFlag ~Trigger, ~TriggerMenu
* !63064 Muctpi DQM ~DQ, ~Trigger
* !62983 TrigValidation: update ART inputs (data23 cosmics, MC23a RDOs) ~Trigger, ~changes-trigger-counts
* !63030 Remove barcodes from the reconstruction ~Egamma, ~JetEtmiss, ~Reconstruction
* !63018 Remove barcodes from InnerDetector/InDetValidation ~InnerDetector, ~JetEtmiss
* !63041 quick fix in large-R jet collection name ~Analysis, ~BTagging, ~Derivation, ~JetEtmiss
* !63056 CalibMomentumProvider - Remove PRW tool ~Analysis
* !63058 TrfTestsART: Update conditionstag to CONDBR2-BLKPA-RUN2-11 ~Tools
* !63062 Remove obsolete DigitizationTests and DigitizationTestsMT ART jobs (ATLASSIM-6559) ~Digitization, ~Simulation
* !63052 JetSelectorTools - Declare photon dressing ~Analysis, ~BTagging, ~JetEtmiss
* !62970 OrUtils - Declare data dependencies ~Analysis
* !63055 bug fixes in TGC trigger data decoder ~MuonSpectrometerhttps://gitlab.cern.ch/atlas/athena/-/merge_requests/63144adding Error for ECIDS since it is not supportet with R22. Also changing the...2023-05-17T18:33:41+02:00Nils Julius Abichtadding Error for ECIDS since it is not supportet with R22. Also changing the...adding Error for ECIDS since it is not supportet with R22. Also changing the datatype to float for later since it has changedadding Error for ECIDS since it is not supportet with R22. Also changing the datatype to float for later since it has changedhttps://gitlab.cern.ch/atlas/athena/-/merge_requests/62954electron-to-photon fake background estimation2023-05-17T06:39:01+02:00Yong Zhouelectron-to-photon fake background estimationAdd support for electron fake photon background estimation in FakeBkgTool.
tag @ligangAdd support for electron fake photon background estimation in FakeBkgTool.
tag @liganghttps://gitlab.cern.ch/atlas/athena/-/merge_requests/63003Muctpi dq fixes2023-05-11T15:02:32+02:00Lorenzo SanfilippoMuctpi dq fixesFixed some minor bugs affecting the histograms built on Candidate words, from the Muctpi Readout.
@aikoulou
@czodrowsFixed some minor bugs affecting the histograms built on Candidate words, from the Muctpi Readout.
@aikoulou
@czodrowshttps://gitlab.cern.ch/atlas/athena/-/merge_requests/58869Validation muon tracking geometry developments ValiMTG_dev2023-05-05T10:47:31+02:00Oliver RiegerValidation muon tracking geometry developments ValiMTG_devSoftware developments to update the GeantFollowingMS package for Run3 analysis.
ATLASRECTS-7296Software developments to update the GeantFollowingMS package for Run3 analysis.
ATLASRECTS-7296