Belle II Software  release-08-01-10
AnalyzingAlgorithmValues.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 #pragma once
9 
10 // tracking:
11 #include <tracking/trackFindingVXD/analyzingTools/algorithms/AnalyzingAlgorithmBase.h>
12 
13 // stl:
14 #include <string>
15 
16 
17 namespace Belle2 {
27  template <class DataType, class TCInfoType, class VectorType>
28  class AnalyzingAlgorithmValuePX : public AnalyzingAlgorithmBase<DataType, TCInfoType, VectorType> {
29  public:
32 
34  DataType calcData(const TCInfoType& aTC) override
36  };
37 
38 
39 
41  template <class DataType, class TCInfoType, class VectorType>
42  class AnalyzingAlgorithmValuePY : public AnalyzingAlgorithmBase<DataType, TCInfoType, VectorType> {
43  public:
46 
48  DataType calcData(const TCInfoType& aTC) override
50  };
51 
52 
53 
55  template <class DataType, class TCInfoType, class VectorType>
56  class AnalyzingAlgorithmValuePZ : public AnalyzingAlgorithmBase<DataType, TCInfoType, VectorType> {
57  public:
60 
62  DataType calcData(const TCInfoType& aTC) override
64  };
65 
66 
67 
69  template <class DataType, class TCInfoType, class VectorType>
70  class AnalyzingAlgorithmValuePT : public AnalyzingAlgorithmBase<DataType, TCInfoType, VectorType> {
71  public:
74 
76  DataType calcData(const TCInfoType& aTC) override
78  };
79 
80 
81 
83  template <class DataType, class TCInfoType, class VectorType>
84  class AnalyzingAlgorithmValueP : public AnalyzingAlgorithmBase<DataType, TCInfoType, VectorType> {
85  public:
88 
90  DataType calcData(const TCInfoType& aTC) override
92  };
93 
94 
95 
97  template <class DataType, class TCInfoType, class VectorType>
98  class AnalyzingAlgorithmValuePTheta : public AnalyzingAlgorithmBase<DataType, TCInfoType, VectorType> {
99  public:
101  AnalyzingAlgorithmValuePTheta() : AnalyzingAlgorithmBase<DataType, TCInfoType, VectorType>
103 
105  DataType calcData(const TCInfoType& aTC) override
106  { return AnalyzingAlgorithmBase<DataType, TCInfoType, VectorType>::chooseCorrectTC(aTC).momSeed.Theta() * 180.*TMath::InvPi(); }
107  };
108 
109 
110 
112  template <class DataType, class TCInfoType, class VectorType>
113  class AnalyzingAlgorithmValuePPhi : public AnalyzingAlgorithmBase<DataType, TCInfoType, VectorType> {
114  public:
116  AnalyzingAlgorithmValuePPhi() : AnalyzingAlgorithmBase<DataType, TCInfoType, VectorType>
118 
120  DataType calcData(const TCInfoType& aTC) override
121  { return AnalyzingAlgorithmBase<DataType, TCInfoType, VectorType>::chooseCorrectTC(aTC).momSeed.Phi() * 180.*TMath::InvPi(); }
122  };
123 
124 
125 
126 
128  template <class DataType, class TCInfoType, class VectorType>
129  class AnalyzingAlgorithmValueDistSeed2IP : public AnalyzingAlgorithmBase<DataType, TCInfoType, VectorType> {
130  public:
132  AnalyzingAlgorithmValueDistSeed2IP() : AnalyzingAlgorithmBase<DataType, TCInfoType, VectorType>
134 
136  DataType calcData(const TCInfoType& aTC) override
138  };
139 
140 
141 
143  template <class DataType, class TCInfoType, class VectorType>
144  class AnalyzingAlgorithmValueDistSeed2IPXY : public AnalyzingAlgorithmBase<DataType, TCInfoType, VectorType> {
145  public:
147  AnalyzingAlgorithmValueDistSeed2IPXY() : AnalyzingAlgorithmBase<DataType, TCInfoType, VectorType>
149 
151  DataType calcData(const TCInfoType& aTC) override
153  };
154 
155 
157  template <class DataType, class TCInfoType, class VectorType>
158  class AnalyzingAlgorithmValueDistSeed2IPZ : public AnalyzingAlgorithmBase<DataType, TCInfoType, VectorType> {
159  public:
161  AnalyzingAlgorithmValueDistSeed2IPZ() : AnalyzingAlgorithmBase<DataType, TCInfoType, VectorType>
163 
165  DataType calcData(const TCInfoType& aTC) override
167  };
168 
169 
171  template <class DataType, class TCInfoType, class VectorType>
172  class AnalyzingAlgorithmValueQI : public AnalyzingAlgorithmBase<DataType, TCInfoType, VectorType> {
173  public:
175  AnalyzingAlgorithmValueQI() : AnalyzingAlgorithmBase<DataType, TCInfoType, VectorType>
177 
179  DataType calcData(const TCInfoType& aTC) override
180  { return (aTC.tC->getQualityIndicator()); }
181  };
182 
183  // TODO
202 }
Small class for classifying types of analyzing algorithms.
Definition: AlgoritmType.h:25
Base class for storing an algorithm determining the data one wants to have.
virtual const TCInfoType & chooseCorrectTC(const TCInfoType &aTC) const
virtual class to determine the correct TC to be used for algorithm calculation.
Class for storing an algorithm determining the distance seedHit to IP in XY (=r)
DataType calcData(const TCInfoType &aTC) override
returns the seed position in XY (=r)
Class for storing an algorithm determining the distance seedHit to IP in XY (=r)
DataType calcData(const TCInfoType &aTC) override
returns the seed position in XY (=r)
Class for storing an algorithm determining the the distance seedHit to IP in 3D.
DataType calcData(const TCInfoType &aTC) override
returns the the seed position in 3D
Class for storing an algorithm determining the momentum in phi (in degrees)
DataType calcData(const TCInfoType &aTC) override
returns the momentum in phi (in degrees)
Class for storing an algorithm determining the momentum in pT.
DataType calcData(const TCInfoType &aTC) override
returns the momentum in pT
Class for storing an algorithm determining the momentum in theta (in degrees)
DataType calcData(const TCInfoType &aTC) override
returns the momentum in theta (in degrees)
INFO This file contains all the algorithms calculating a certain value of something.
DataType calcData(const TCInfoType &aTC) override
returns the momentum in X
Class for storing an algorithm determining the momentum in Y.
DataType calcData(const TCInfoType &aTC) override
returns the momentum in Y
Class for storing an algorithm determining the momentum in Z.
DataType calcData(const TCInfoType &aTC) override
returns the momentum in Z
Class for storing an algorithm determining the momentum in |p|.
DataType calcData(const TCInfoType &aTC) override
returns the momentum in |p|
Class for storing an algorithm determining the quality indicator of the TC.
DataType calcData(const TCInfoType &aTC) override
returns the the quality indicator of the TC)
Abstract base class for different kinds of events.