5#ifndef ASGANALYSISALGORITHMS_ASGXAODNTUPLEMAKERALG_H
6#define ASGANALYSISALGORITHMS_ASGXAODNTUPLEMAKERALG_H
9#include <unordered_map>
33class TVirtualCollectionProxy;
88 Gaudi::Property<std::string>
m_treeName {
this,
"TreeName",
"physics",
"Name of the tree to write"};
90 Gaudi::Property<std::vector<std::string>>
m_branches {
this,
"Branches", {},
"Branches to write to the output tree"};
91 Gaudi::Property<std::vector<std::string>>
m_nonContainers {
this,
"NonContainers", {
"EventInfo"},
"List of objects that are single elements, not containers"};
92 Gaudi::Property<int>
m_defaultBasketSize {
this,
"DefaultBasketSize", 0,
"Default basket size for tree branches (0 means ROOT default)"};
Base class for elements of a container that can have aux data.
Abstract interface for manipulating vectors of arbitrary types.
Define macros for attributes used to control the static checker.
Algorithm that can write a simple ntuple from xAOD objects/variables.
Gaudi::Property< int > m_defaultBasketSize
ServiceHandle< ISystematicsSvc > m_systematicsService
the handle for the systematics service
StatusCode execute() override
Function executed once per event.
TreeBranchHelpers::ProcessorList m_processorList
Gaudi::Property< std::vector< std::string > > m_nonContainers
StatusCode finalize() override
Function executed as part of the job finalisation.
Gaudi::Property< std::string > m_treeName
The name of the output tree to write.
TTree * m_tree
The tree being written.
Gaudi::Property< std::vector< std::string > > m_branches
The branches to write into this output tree.
the (new) base class for EventLoop algorithms
AnaAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
constructor with parameters
Manage index tracking and synchronization of auxiliary data.
Interface for factory objects that create vectors.
Select isolated Photons, Electrons and Muons.
void ErrorHandler ATLAS_NOT_THREAD_SAFE(Int_t level, Bool_t abort, const char *location, const char *message)
Function filtering the warnings coming from ROOT.