5#ifndef ASSOCIATIONUTILS_OVERLAPDECORATIONHELPER_H
6#define ASSOCIATIONUTILS_OVERLAPDECORATIONHELPER_H
31 template<columnar::ContainerIdConcept CI>
99 template<columnar::ContainerIdConcept CI>
115 template<columnar::ContainerIdConcept CI>
127 template<columnar::ContainerIdConcept CI>
137 template<columnar::ContainerIdConcept CI>
147 template<columnar::ContainerIdConcept CI>
158 template<columnar::ContainerIdConcept CI>
165 template<columnar::ContainerIdConcept CI>
171 template<columnar::ContainerIdConcept CI>
180 template<columnar::ContainerIdConcept CI>
191 template<columnar::ContainerIdConcept CI>
202 template<columnar::ContainerIdConcept CI>
const std::string outputLabel
const bool outputPassValue
const std::string inputLabel
static const Attributes_t empty
bool m_outputPassValue
Output decoration logic.
char getObjectPriority(columnar::ObjectId< CI > obj) const
Get the user priority score, which is currently the input decoration.
bool isInputObject(columnar::ObjectId< CI > obj) const
Check if object is flagged as input for OR.
columnar::ColumnAccessor< CI, char > m_inputAccessor
Input label accessor.
void initializeDecorations(columnar::ObjectRange< CI > container) const
Initialize decorations for a container to "pass".
OverlapDecorationHelper(const std::string &inputLabel, const std::string &outputLabel, bool outputPassValue=false)
Constructor.
void resetDecorations(columnar::ObjectRange< CI > container) const
Helper method for setting all objects as passing.
bool isSurvivingObject(columnar::ObjectId< CI > obj) const
Check if object is surviving OR thus far.
bool isRejectedObject(columnar::ObjectId< CI > obj) const
Check if an object has been rejected by decoration.
void setObjectPass(columnar::ObjectId< CI > obj) const
Shorthand way to set an object as passing overlap removal.
columnar::ColumnDecorator< CI, char > m_outputDecorator
Output decorator.
bool isDecorated(columnar::ObjectRange< CI > container) const
Check if output decoration has been applied to a container.
void setOverlapDecoration(columnar::ObjectId< CI > obj, bool result) const
Set output decoration on object, pass or fail.
void setObjectFail(columnar::ObjectId< CI > obj) const
Shorthand way to set an object as failing overlap removal.
bool m_useInputLabel
Toggle usage of input label.
a class representing a single object (electron, muons, etc.)
a class representing a continuous sequence of objects (a.k.a. a container)
AccessorTemplate< CI, CT, ColumnAccessMode::input, CM > ColumnAccessor
AccessorTemplate< CI, CT, ColumnAccessMode::output, CM > ColumnDecorator