4#ifndef MUONTESTER_GENERICDECORBRANCH_H
5#define MUONTESTER_GENERICDECORBRANCH_H
10 template<
class AuxType,
class dType>
15 using Filler_t = std::function<dType(
const AuxType& )>;
41 template <
class PartType,
class dType>
void operator+=(const SG::AuxElement &p) override
GenericAuxEleBranch(MuonTesterTree &t, const std::string &var_name, Filler_t fillFunc)
Constructor taking the raw pointer to the underlying TTree object.
void push_back(const SG::AuxElement &p) override
void push_back(const SG::AuxElement *p) override
Reads out a generic auxillary element and add its information to the output vector.
void operator+=(const SG::AuxElement *p) override
std::function< dType(const AuxType &)> Filler_t
Defined the function signature to extract the information from the AuxElement.
GenericAuxEleBranch(TTree *t, const std::string &branchName, Filler_t fillFunc)
Constructor taking the raw pointer to the underlying TTree object.
virtual ~GenericAuxEleBranch()=default
void push_back(const xAOD::IParticle &p) override
void push_back(const xAOD::IParticle *p) override
Similar to the IAuxElementDecoration branch but only accepting IParticles.
void operator+=(const xAOD::IParticle *p) override
void operator+=(const xAOD::IParticle &p) override
VectorBranch(TTree *tree, const std::string &name)
Base class for elements of a container that can have aux data.
Class providing the definition of the 4-vector interface.
Class to store array like branches into the n-tuples.