Belle II Software  release-08-01-10
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 
16 namespace Belle2 {
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  };
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
Base class of the selection variable objects used for pair filtering.
Abstract base class for different kinds of events.