Belle II Software development
DeltaCircleRadius.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 <tracking/trackFindingVXD/filterMap/threeHitVariables/CircleCenterXY.h>
13#include <tracking/trackFindingVXD/filterMap/threeHitVariables/CircleRadius.h>
14#include <framework/geometry/B2Vector3.h>
15
16#define DELTACIRCLERADIUS_NAME DeltaCircleRadius
17
18namespace Belle2 {
26 template <typename PointType >
27 class DELTACIRCLERADIUS_NAME : public SelectionVariable< PointType, 4, double > {
28 public:
31
32
33
36 static double value(const PointType& outerHit, const PointType& outerCenterHit, const PointType& innerCenterHit,
37 const PointType& innerHit)
38 {
39
40 B2Vector3D outerCircleCenter = CircleCenterXY<PointType>::value(outerHit, outerCenterHit, innerCenterHit);
41 double outerCircleRadius =
42 CircleRadius<PointType>::calcAvgDistanceXY(outerHit, outerCenterHit, innerCenterHit, outerCircleCenter);
43
44 B2Vector3D innerCircleCenter = CircleCenterXY<PointType>::value(outerCenterHit, innerCenterHit, innerHit);
45 double innerCircleRadius =
46 CircleRadius<PointType>::calcAvgDistanceXY(outerCenterHit, innerCenterHit, innerHit, innerCircleCenter);
47
48 return outerCircleRadius - innerCircleRadius;
49 } // return unit: cm
50 };
51
53}
calculates delta-circleRadius-value (difference in circle radii of 2 subsets of the hits),...
static double value(const PointType &outerHit, const PointType &outerCenterHit, const PointType &innerCenterHit, const PointType &innerHit)
calculates dpt-value (dpt= difference in transverse momentum of 2 subsets of the hits),...
PUT_NAME_FUNCTION(DELTACIRCLERADIUS_NAME)
is replaced by "static const std:string name(void)" frunction which returns name of the Class
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.