athena merge requestshttps://gitlab.cern.ch/atlas/athena/-/merge_requests2024-03-29T00:39:22+01:00https://gitlab.cern.ch/atlas/athena/-/merge_requests/70175Clean up some backtracking tracking pass flags2024-03-29T00:39:22+01:00Thomas StreblerClean up some backtracking tracking pass flagsEither removing flags set to default C++ values and unlikely to be changed or promoting them to global flags.
Should reduce by 6*31 the amount of tracking flags.
Relevant for ATLASRECTS-7947Either removing flags set to default C++ values and unlikely to be changed or promoting them to global flags.
Should reduce by 6*31 the amount of tracking flags.
Relevant for ATLASRECTS-7947https://gitlab.cern.ch/atlas/athena/-/merge_requests/69947Draft: special case to avoid TRT photon Conversion in MVA calibration2024-03-20T19:32:17+01:00Ruggero TurraDraft: special case to avoid TRT photon Conversion in MVA calibrationIn the egammaMVA calibration, converted / unconverted photons are calibrated with different BDT, trained separately.
Within egamma we decided to change the definition of converted due to the large fake rate of TRT-converted photons (the...In the egammaMVA calibration, converted / unconverted photons are calibrated with different BDT, trained separately.
Within egamma we decided to change the definition of converted due to the large fake rate of TRT-converted photons (they will be calibrated as unconverted).
The new definition is here: https://gitlab.cern.ch/atlas/athena/-/merge_requests/69947/diffs#7a5a09141bbe2cc17955a2622ce18135f68e96d8_78_68, basically:
```
const xAOD::Photon* ph = static_cast<const xAOD::Photon*>(&eg);
bool isConvCalib = xAOD::EgammaHelpers::isConvertedPhoton(ph) &&
xAOD::EgammaHelpers::conversionRadius(ph) < m_maxConvR;
if (m_removeTRTConvBarrel) {
// special case in rel24 Run3 to avoid TRT converted photons in the barrel
using enum xAOD::EgammaParameters::ConversionType;
const xAOD::EgammaParameters::ConversionType conversionType = xAOD::EgammaHelpers::conversionType(ph);
const bool isTRTConv = (conversionType == singleTRT) || (conversionType == doubleTRT); // 2 or 4
const bool isTRTEndcap = std::abs(ph->eta()) > 0.8;
isConvCalib = isConvCalib && (isTRTEndcap || !isTRTConv);
}
```
in short `isConvCalib = isConvCalib & (isTRTEndcap || !isTRTConv)`
Please @gunal , @ludovica double check it.
I am not very proud of this change since we are hard-coding a special case (the default case 0<R<800 mm) was already hard-coded, using the new property `RemoveTRTConvBarrel`. I don't know if we want to invest in doing something better e.g.
```
ToolHandle<IConvertedPhotonSelector> m_conversionSelector;
```
```
struct IConvertedPhotonSelector
{
bool isConverted(const xAOD::Photon&);
};
```
This MR targets master, but in the comment I wrote `// special case in rel24 Run3 to avoid TRT converted photons in the barrel`. Egamma conveners should clarify how this is going to enter: 1) only at analysis level (i.e. rel25=main) or 2) at the reconstruction level (i.e. rel24 and rel25=main). Depending on the answer other clients should be configured. I guess that in any case at the analysis level we want `RemoveTRTConvBarrel=true` only for Run3 (all the years I guess) (@krumnack may be interested). Please @ludovica @kristin clarify.
@christos @mungo @ahabouel @adonofri @smanzoni @lnasellahttps://gitlab.cern.ch/atlas/athena/-/merge_requests/69859ConfigBlocks: update how options are set and remove make functions2024-03-22T08:30:18+01:00Joseph Earl LambertConfigBlocks: update how options are set and remove make functionsAll configurable parameters are now options.
Added features to each block and `ConfigFactory` so that
all of the options can be set at the same time as the block is
created in the same way as the make functions.
Removed all make functi...All configurable parameters are now options.
Added features to each block and `ConfigFactory` so that
all of the options can be set at the same time as the block is
created in the same way as the make functions.
Removed all make functions that only act to set arguments since this
can be done without any extra code now.
Code using the `TextConfig`, `ConfigFactory` or the block configuration using classes
should be unaffected. Code that calls the make functions that where removed
will need to be update (makeSomeConfig -> SomeBlock and no longer pass the seq).
To create the block and set all options using the factory:
```
from AnalysisAlgorithmsConfig.ConfigFactory import ConfigFactory
config = ConfigFactory()
...
configSeq += config.makeConfig('GeneratorLevelAnalysis',
saveCutBookkeepers=True,
runNumber=284500)
```
Can also pass some this way and then set others individually like before.
To create the block and set all options using the blocks:
```
from AsgAnalysisAlgorithms.AsgAnalysisConfig import GeneratorAnalysisBlock
configSeq.append( GeneratorAnalysisBlock(
saveCutBookkeepers=True,
runNumber=284500) )
```https://gitlab.cern.ch/atlas/athena/-/merge_requests/69513Use config flags in analysis config2024-03-28T13:34:35+01:00Tadej Novaktadej.novak@cern.chUse config flags in analysis configMake config flags the main way to steer analysis config. This will help people working on analysis and Athena to feel at home and prevent accumulation of arguments of the `ConfigAccumulator`.
The naming is not fixed, I will probably als...Make config flags the main way to steer analysis config. This will help people working on analysis and Athena to feel at home and prevent accumulation of arguments of the `ConfigAccumulator`.
The naming is not fixed, I will probably also convert more items to flags. This is mainly to start the discussion and freeze the API as soon asp possible. I will probably then break this into multiple MRs.
Also some core flags should be renamed (see https://its.cern.ch/jira/browse/ATEAM-964).
Tagging @krumnack, @jolamber, @gwatts, @ekourlit for core AMG. Also tagging interested parties @ravinab, @omajersk, @tstreble, @khoo, @jchapman.https://gitlab.cern.ch/atlas/athena/-/merge_requests/68960Draft: Use std::format instead of boost::format2024-02-27T09:58:01+01:00Andrii VerbytskyiDraft: Use std::format instead of boost::formatUse std::format instead of boost::formatUse std::format instead of boost::formathttps://gitlab.cern.ch/atlas/athena/-/merge_requests/67505Draft: Update TruthIncidents and ISFParticle to know about uniqueID2024-03-28T11:19:33+01:00John Derek ChapmanDraft: Update TruthIncidents and ISFParticle to know about uniqueID(ATLASSIM-6978)(ATLASSIM-6978)https://gitlab.cern.ch/atlas/athena/-/merge_requests/67271Run3 Derivations for heavy Ion group (part of my QT) v02024-03-19T09:35:52+01:00Sebastian Alonso Infante CabanasRun3 Derivations for heavy Ion group (part of my QT) v0Migration for HION4 almost done, lacking augmentations and string triggers for run3, some smart collections of run2 HION4 not working for now
Migration for HION7 in progress, in need of the "pt" needed and the triggers
Rest of migratio...Migration for HION4 almost done, lacking augmentations and string triggers for run3, some smart collections of run2 HION4 not working for now
Migration for HION7 in progress, in need of the "pt" needed and the triggers
Rest of migrations not started as of november 21 of 2023
No derivative is made to get truth data as i dont have truth data files for testing