![]() |
ATLAS Offline Software
|
Public Member Functions | |
| StatusCode | scanInputTree () |
| Scan the input TTree for auxiliary branches. | |
| const std::type_info * | auxBranchType (::TBranch &br, std::string_view auxName, bool staticBranch, std::string *expectedClassName=nullptr) |
| Find the type_info to use as the aux type for a given branch. | |
| StatusCode | setupAuxBranch (::TBranch &br, std::string_view auxName, bool staticBranch) |
| Register one input branch as an available auxiliary variable. | |
| impl (const EventContext &ctx, Members &data, int basketSize, int splitLevel) | |
Public Attributes | |
| const EventContext & | m_ctx |
| The context for this event. | |
| Members & | m_data |
Variables coming from AuxStoreBase. | |
| int | m_basketSize = 2048 |
| The basket size for the output branches. | |
| int | m_splitLevel = 0 |
| The split level for the output branches. | |
| ::TTree * | m_inTree = nullptr |
| The TTree being read from. | |
| ::TTree * | m_outTree = nullptr |
| The TTree being written to. | |
| bool | m_inputScanned = false |
| "Scan status" of the input TTree | |
| std::vector< std::unique_ptr< TBranchHandle > > | m_branches |
| Branches reading the various auxiliary variables. | |
| std::vector< bool > | m_branchesWritten |
| "Write status" of the different variables | |
| std::vector< bool > | m_missingBranches |
| Mark branches we've found to be missing. | |
| mutex_t | m_mutex |
| Mutex object used for multithreaded synchronisation. | |
Definition at line 428 of file TAuxStore.cxx.
|
inline |
Definition at line 795 of file TAuxStore.cxx.
|
inline |
Find the type_info to use as the aux type for a given branch.
Definition at line 550 of file TAuxStore.cxx.
|
inline |
Scan the input TTree for auxiliary branches.
When writing an output tree, while reading information from an input tree, it can often happen that we want to copy the contents of some variables that we don't actually need during the event processing of this particular job. Since the user doesn't ask for all the possible input variables, this function needs to look at the input TTree, and try to figure out which of the branches in the tree belong to this object.
The function creates a "proper" or "virtual" auxiliary ID for each of the branches found, so they can be referenced in the "usual way" in the other parts of the code later on.
StatusCode::SUCCESS if the function was successful, something else otherwise Definition at line 447 of file TAuxStore.cxx.
|
inline |
Register one input branch as an available auxiliary variable.
This function takes care of assigning an auxiliary ID to a given branch. It tries its best to find an auxiliary vector factory for the branch's type, but if it fails, it still falls back to using SG::AuxTypePlaceholder as the type. In which case of course only dumb copying will be possible for the given branch. (And no vector operations on the branch's payload until the variable of the branch is accessed explicitly.)
| br | Pointer to the branch under investigation |
| auxName | The name of the auxiliary property, extracted from the branch's name |
| staticBranch | kTRUE if this is a "static branch", and kFALSE if it's a dynamic one |
StatusCode::SUCCESS if the function was successful, something else otherwise Definition at line 646 of file TAuxStore.cxx.
| int xAOD::TAuxStore::impl::m_basketSize = 2048 |
The basket size for the output branches.
Definition at line 807 of file TAuxStore.cxx.
| std::vector<std::unique_ptr<TBranchHandle> > xAOD::TAuxStore::impl::m_branches |
Branches reading the various auxiliary variables.
Definition at line 820 of file TAuxStore.cxx.
| std::vector<bool> xAOD::TAuxStore::impl::m_branchesWritten |
"Write status" of the different variables
Definition at line 822 of file TAuxStore.cxx.
| const EventContext& xAOD::TAuxStore::impl::m_ctx |
The context for this event.
Definition at line 800 of file TAuxStore.cxx.
| Members& xAOD::TAuxStore::impl::m_data |
Variables coming from AuxStoreBase.
Definition at line 804 of file TAuxStore.cxx.
| bool xAOD::TAuxStore::impl::m_inputScanned = false |
"Scan status" of the input TTree
Definition at line 817 of file TAuxStore.cxx.
| ::TTree* xAOD::TAuxStore::impl::m_inTree = nullptr |
The TTree being read from.
Definition at line 812 of file TAuxStore.cxx.
| std::vector<bool> xAOD::TAuxStore::impl::m_missingBranches |
Mark branches we've found to be missing.
(Because TTree::GetBranch is very expensive.)
Definition at line 825 of file TAuxStore.cxx.
|
mutable |
Mutex object used for multithreaded synchronisation.
Definition at line 828 of file TAuxStore.cxx.
| ::TTree* xAOD::TAuxStore::impl::m_outTree = nullptr |
The TTree being written to.
Definition at line 814 of file TAuxStore.cxx.
| int xAOD::TAuxStore::impl::m_splitLevel = 0 |
The split level for the output branches.
Definition at line 809 of file TAuxStore.cxx.