10#include <framework/gearbox/Const.h>
39 const std::string& algorithm_ =
"",
double quality_ = NAN) :
The DetectorSet class for sets of detector IDs in the form of EDetector values.
bool contains(const DetectorSet &set) const
Check whether this set contains another set.
static const DetectorSet allDetectors
The set of all detectors.
EDetector
Enum for identifying the detector components (detector and subdetector).
Storage element for the eventwise T0 estimation.
std::vector< EventT0Component > m_temporaryEventT0List
Internal storage of the temporary event t0 list.
EventT0Component m_eventT0
Internal storage for the final event t0.
void clearTemporaries()
Clear the list of temporary event T0 estimations.
void setEventT0(double eventT0, double eventT0Uncertainty, const Const::DetectorSet &detector, const std::string &algorithm="")
Replace/set the final double T0 estimation.
std::optional< EventT0Component > getBestECLTemporaryEventT0() const
Return the best ECL-based EventT0 candidate if it exists.
std::optional< EventT0Component > getEventT0Component() const
Return the final event t0, if one is set. Else, return an empty optional.
double getEventT0() const
Return the final event t0, if one is set. Else, return NAN.
std::optional< EventT0Component > getBestCDCTemporaryEventT0() const
Return the best CDC-based EventT0 candidate if it exists.
void clearEventT0()
Clear the final EventT0, this is neded in case some algorithm has set one for an itertive t0 finding ...
bool hasEventT0() const
Check if a final event t0 is set.
bool isCDCEventT0() const
Is m_eventT0 based on CDC information?
void addTemporaryEventT0(const EventT0Component &eventT0)
Add another temporary double T0 estimation.
bool m_hasEventT0
Internal storage of the final eventT0 is set.
const std::vector< EventT0Component > & getTemporaryEventT0s() const
Return the list of all temporary event t0 estimations.
std::optional< EventT0Component > getBestTOPTemporaryEventT0() const
Return the best TOP-based EventT0 candidate if it exists.
std::optional< EventT0Component > getBestSVDTemporaryEventT0() const
Return the best SVD-based EventT0 candidate if it exists.
bool hasTemporaryEventT0(const Const::DetectorSet &detectorSet=Const::allDetectors) const
Check if one of the detectors in the given set has a temporary t0 estimation.
bool isEventT0Of(Const::EDetector detector) const
Is the current EventT0 value based on information of the detector.
unsigned long getNumberOfTemporaryEventT0s() const
Return the number of stored event T0s.
Const::DetectorSet getTemporaryDetectors() const
Get the detectors that have determined temporary event T0s.
bool isTOPEventT0() const
Is m_eventT0 based on TOP information?
bool isECLEventT0() const
Is m_eventT0 based on ECL information?
bool isSVDEventT0() const
Is m_eventT0 based on SVD information?
double getEventT0Uncertainty() const
Return the final event t0 uncertainty, if one is set. Else, return NAN.
Abstract base class for different kinds of events.
Structure for storing the extracted event t0s together with its detector and its uncertainty.
double quality
Storage for the internal quality estimation for a single algorithm. Only comparable for all temporari...
double eventT0
Storage of the T0 estimation.
Const::DetectorSet detectorSet
Storage of the detector, who has determined the event T0.
EventT0Component(double eventT0_, double eventT0Uncertainty_, const Const::DetectorSet &detectorSet_, const std::string &algorithm_="", double quality_=NAN)
Convenience constructor.
EventT0Component()=default
Empty constructor for ROOT.
double eventT0Uncertainty
Storage of the uncertainty of the T0 estimation.
std::string algorithm
Storage for which algorithm created the event t0.