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 {
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(),
49 }
50 };
51 }
52 };
54}
DataType Z() const
access variable Z (= .at(2) without boundary check)
Definition: B2Vector3.h:435
DataType X() const
access variable X (= .at(0) without boundary check)
Definition: B2Vector3.h:431
DataType Y() const
access variable Y (= .at(1) without boundary check)
Definition: B2Vector3.h:433
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.
B2Vector3D outerHit(0, 0, 0)
testing out of range behavior
Abstract base class for different kinds of events.