10#include <hlt/softwaretrigger/core/SoftwareTriggerObject.h>
11#include <hlt/softwaretrigger/dataobjects/SoftwareTriggerVariables.h>
12#include <framework/datastore/StoreObjPtr.h>
20 namespace SoftwareTrigger {
Base class for all calculation algorithms to be used when calculating the variables needed in the Sof...
SoftwareTriggerObject m_calculationResult
Internal storage of the result of the calculation.
virtual void doCalculation(SoftwareTriggerObject &m_calculationResult)=0
Override this function to implement your calculation.
void addDebugOutput(const StoreObjPtr< SoftwareTriggerVariables > &storeObject, const std::string &prefix)
Function to write out debug output into the given StoreObject.
bool m_debugPrepared
Flag to not add the branches twice to the TTree.
virtual void requireStoreArrays()=0
Function to be called in the initialize phase of the module, in which all later needed StoreArrays ca...
virtual ~SoftwareTriggerCalculation()=default
Default but virtual desctructor.
void writeDebugOutput(const std::unique_ptr< TTree > &debugOutputTTree)
Function to write out debug output into the given TTree.
const SoftwareTriggerObject & fillInCalculations()
Main function of this class: calculate the needed variables using the overwritten doCalculation funct...
Type-safe access to single objects in the data store.
Abstract base class for different kinds of events.