11#include <tracking/trackFindingVXD/filterMap/filterFramework/TBranchLeafType.h>
15#include <framework/logging/Logger.h>
29 template<
typename MinType >
44 template<
class VariableType >
45 inline bool contains(
const VariableType& x)
const {
return m_min <= x ;};
56 void persist(TTree* t,
const std::string& branchName,
const std::string& variableName)
60 leafList += variableName;
63 TBranch* branch =
new TBranch(t, branchName.c_str(), &
m_min, leafList.c_str());
64 t->GetListOfBranches()->Add(branch);
74 if (t->SetBranchAddress(branchName.c_str(), &
m_min) < 0) B2FATAL(
"ClosedLowerBoundedSet: branch address not valid");
86 std::string
getNameAndReference(std::vector< std::pair<char, void*> >* pointers =
nullptr,
const std::string& varname =
"X")
88 std::string minVal = std::to_string(
m_min);
90 if (pointers !=
nullptr) {
92 minVal =
"#" + std::to_string(pointers->size());
95 return (
"(" + minVal +
" <= " + varname +
")");
Represents a closed lower bounded set of arithmetic types.
MinType m_min
the minimum value for this range
ClosedLowerBoundedSet()
Constructor without argument.
MinType getInf(void) const
Accessor to the inf of the set (which coincides with the min)
ClosedLowerBoundedSet(MinType min)
Constructor.
void persist(TTree *t, const std::string &branchName, const std::string &variableName)
Creates and sets the addresses of the leaves to store the min value.
std::string getNameAndReference(std::vector< std::pair< char, void * > > *pointers=nullptr, const std::string &varname="X")
generates a "name" and fills the vector with the variable references
bool contains(const VariableType &x) const
Method used by the filter tools to decide on the fate of the pair.
void setBranchAddress(TTree *t, const std::string &branchName, const std::string &)
sets the branch address for m_min
char TBranchLeafType(const char *)
Overloading TBranchLeafType to be able to get identifier 'C' for type char*.
Abstract base class for different kinds of events.