9#include <reconstruction/modules/ClusterMatcher/ClusterMatcherModule.h>
11#include <mdst/dataobjects/KLMCluster.h>
12#include <mdst/dataobjects/ECLCluster.h>
13#include <mdst/dataobjects/Cluster.h>
15#include <Math/VectorUtil.h>
23 setDescription(
"Match KLM cluster to ECL Clusters within a certain cone.");
27 "Cone angle in rad, will be devided by 2 internally for the matching",
45 const ROOT::Math::XYZVector& eclClusterPos = eclCluster.getClusterPosition();
47 eclCluster.addRelationTo(clusterecl);
49 const ROOT::Math::XYZVector& klmClusterPos = klmcluster.getClusterPosition();
50 const float angleDist = ROOT::Math::VectorUtil::Angle(eclClusterPos, klmClusterPos);
52 eclCluster.addRelationTo(&klmcluster, angleDist);
53 klmcluster.addRelationTo(clusterecl);
56 klmcluster.addRelationTo(clusterklm);
StoreArray< KLMCluster > m_klmClusters
Required array of input KLMClusters.
void initialize() override
Initialize.
void event() override
Event.
ClusterMatcherModule()
Constructor.
StoreArray< ECLCluster > m_eclClusters
Required array of input ECLClusters.
float m_coneInRad
Cone angle for matching (whole cone)
StoreArray< Cluster > m_Clusters
Array of output Clusters.
Class to collect log likelihoods from Clusters from ECL and KLM aimed for output to mdst includes fun...
void setDescription(const std::string &description)
Sets the description of the module.
void setPropertyFlags(unsigned int propertyFlags)
Sets the flags for the module properties.
@ c_ParallelProcessingCertified
This module can be run in parallel processing mode safely (All I/O must be done through the data stor...
void addParam(const std::string &name, T ¶mVariable, const std::string &description, const T &defaultValue)
Adds a new parameter to the module.
#define REG_MODULE(moduleName)
Register the given module (without 'Module' suffix) with the framework.
Abstract base class for different kinds of events.