11#include <framework/datastore/RelationsObject.h>
12#include <framework/gearbox/Const.h>
13#include <framework/logging/Logger.h>
19#include <Math/Vector3D.h>
20#include <Math/Point3D.h>
71 auto result =
m_data.insert(std::make_pair(hypothesis, pdf));
72 if (not result.second) {
73 B2WARNING(
"PDF exists already for this track");
85 return m_data.at(hypothesis);
Defines interface for accessing relations of objects in StoreArray.
Class to store analytical PDF relation from Tracks filled top/modules/TOPPDFDebugger/src/TOPPDFDebugg...
std::array< channelPDF_t, 512 > modulePDF_t
the PDF of the module is a list of 512 channel PDFs
void setLocalPositionMomentum(const ROOT::Math::XYZPoint &pos, const ROOT::Math::XYZVector &mom, int moduleID)
Sets the position and momentum of the exthit in local coordinates.
std::vector< Gaussian > channelPDF_t
the PDF in a given channel is a list of Gaussians
ROOT::Math::XYZPoint m_localHitPosition
position of the exthit in local coordinates
ROOT::Math::XYZVector m_localHitMomentum
momentum of the exthit in local coordinates
std::map< int, modulePDF_t > m_data
collection of samples of the pdf
const ROOT::Math::XYZPoint & getAssociatedLocalHit() const
Returns the local coordinates of the exthit associated with this PDF.
int m_moduleID
slot ID of the exthit
int getModuleID() const
Returns slot ID of the associated exthit.
bool addHypothesisPDF(const modulePDF_t &pdf, const int hypothesis)
Adds the pdf for the given hypothesis (PDG code)
const ROOT::Math::XYZVector & getAssociatedLocalMomentum() const
Returns the momentum of the associated exthit in local coordinates.
const modulePDF_t & getHypothesisPDF(const int hypothesis) const
Returns the pdf for the given hypothesis (PDG code)
ClassDef(TOPPDFCollection, 4)
ClassDef.
TOPPDFCollection()
Default constructor.
Abstract base class for different kinds of events.
Parameters to describe a Gaussian.
Gaussian(float m, float w, float a)
Useful constructor.
float area
area (number of photons)