![]() |
ATLAS Offline Software
|
#include <ColumnAccessor.h>
Public Member Functions | |
| ColumnInfo | makeColumnInfo () const |
Public Attributes | |
| std::string | replacesColumn {} |
| whether this replaces another column | |
| bool | isOptional = false |
| whether this column is optional | |
| bool | addMTDependency = false |
| whether to add data dependencies in AthenaMT | |
Definition at line 24 of file ColumnAccessor.h.
|
inline |
Definition at line 63 of file ColumnAccessor.h.
| bool columnar::ColumnAccessorOptions::addMTDependency = false |
whether to add data dependencies in AthenaMT
In AthenaMT we need to track data dependencies between algorithms, but we usually only want to use a subset of the data dependencies used in columnar code. This flag indicates that this accessor should be added as a data dependency in AthenaMT.
Definition at line 61 of file ColumnAccessor.h.
| bool columnar::ColumnAccessorOptions::isOptional = false |
whether this column is optional
Essentially this indicates that the column can be skipped, and the tool will check whether the column is present before trying to use it. This allows to adapt the tool somewhat to different environments.
The downside here is that overall this is still a bit ambiguous, i.e. whoever links up the columns needs to decide whether it is needed. For columns that are not in the input file that's easy, there is no choice but omitting them. However, some columns only exist as a backup option for other columns, and ideally we don't want to load the backup columns when the main columns are missing. So either that needs to be set during configuration, or we need to add more meta-information for that case, or the user needs to do something smart (i.e. manual) in their code.
Definition at line 52 of file ColumnAccessor.h.
| std::string columnar::ColumnAccessorOptions::replacesColumn {} |
whether this replaces another column
For corrections it is quite typical that a column is meant to replace another column. In columnar land we will create genuinely new columns, in xAOD land we will usually overwrite the content of those columns. This member is used to indicate which column gets replaced.
Definition at line 33 of file ColumnAccessor.h.