Belle II Software development
MLHandover.h
1/**************************************************************************
2 * basf2 (Belle II Analysis Software Framework) *
3 * Author: The Belle II Collaboration *
4 * *
5 * See git log for contributors and copyright holders. *
6 * This file is licensed under LGPL-3.0, see LICENSE.md. *
7 **************************************************************************/
8
9#pragma once
10
11#include <tracking/trackFindingVXD/filterMap/filterFramework/SelectionVariable.h>
12#include <array>
13
14#define MLHANDOVER_NAME MLHandover
15
16namespace Belle2 {
21
29 template<typename PointType, size_t Ndims = 9>
30 class MLHANDOVER_NAME : public SelectionVariable<PointType, 3, std::array<double, Ndims> > {
31
32 public:
33
36
43 static std::array<double, Ndims> value(const PointType& innerHit, const PointType& centerHit, const PointType& outerHit)
44 {
45 return std::array<double, Ndims> {{
46 innerHit.X(), innerHit.Y(), innerHit.Z(),
47 centerHit.X(), centerHit.Y(), centerHit.Z(),
48 outerHit.X(), outerHit.Y(), outerHit.Z()
49 }
50 };
51 }
52 };
53
54}
SelectionVariable that is used for the Machine Learning (ML) based filters.
Definition MLHandover.h:30
PUT_NAME_FUNCTION(MLHANDOVER_NAME)
is replaced by "static const std:string name(void)" frunction which returns name of the Class
static std::array< double, Ndims > value(const PointType &innerHit, const PointType &centerHit, const PointType &outerHit)
Getter for coordinate values of the three hits used in a three hit filter.
Definition MLHandover.h:43
B2Vector3D outerHit(0, 0, 0)
testing out of range behavior
Abstract base class for different kinds of events.