Belle II Software  release-05-02-19
AnalyzingAlgorithmValues.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2015 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Jakob Lettenbichler *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 #pragma once
11 
12 // tracking:
13 #include <tracking/trackFindingVXD/analyzingTools/algorithms/AnalyzingAlgorithmBase.h>
14 
15 // stl:
16 #include <string>
17 
18 
19 namespace Belle2 {
29  template <class DataType, class TCInfoType, class VectorType>
30  class AnalyzingAlgorithmValuePX : public AnalyzingAlgorithmBase<DataType, TCInfoType, VectorType> {
31  public:
33  AnalyzingAlgorithmValuePX() : AnalyzingAlgorithmBase<DataType, TCInfoType, VectorType>(AlgoritmType::AnalyzingAlgorithmValuePX) {}
34 
36  DataType calcData(const TCInfoType& aTC) override
38  };
39 
40 
41 
43  template <class DataType, class TCInfoType, class VectorType>
44  class AnalyzingAlgorithmValuePY : public AnalyzingAlgorithmBase<DataType, TCInfoType, VectorType> {
45  public:
47  AnalyzingAlgorithmValuePY() : AnalyzingAlgorithmBase<DataType, TCInfoType, VectorType>(AlgoritmType::AnalyzingAlgorithmValuePY) {}
48 
50  DataType calcData(const TCInfoType& aTC) override
52  };
53 
54 
55 
57  template <class DataType, class TCInfoType, class VectorType>
58  class AnalyzingAlgorithmValuePZ : public AnalyzingAlgorithmBase<DataType, TCInfoType, VectorType> {
59  public:
61  AnalyzingAlgorithmValuePZ() : AnalyzingAlgorithmBase<DataType, TCInfoType, VectorType>(AlgoritmType::AnalyzingAlgorithmValuePZ) {}
62 
64  DataType calcData(const TCInfoType& aTC) override
66  };
67 
68 
69 
71  template <class DataType, class TCInfoType, class VectorType>
72  class AnalyzingAlgorithmValuePT : public AnalyzingAlgorithmBase<DataType, TCInfoType, VectorType> {
73  public:
75  AnalyzingAlgorithmValuePT() : AnalyzingAlgorithmBase<DataType, TCInfoType, VectorType>(AlgoritmType::AnalyzingAlgorithmValuePT) {}
76 
78  DataType calcData(const TCInfoType& aTC) override
80  };
81 
82 
83 
85  template <class DataType, class TCInfoType, class VectorType>
86  class AnalyzingAlgorithmValueP : public AnalyzingAlgorithmBase<DataType, TCInfoType, VectorType> {
87  public:
89  AnalyzingAlgorithmValueP() : AnalyzingAlgorithmBase<DataType, TCInfoType, VectorType>(AlgoritmType::AnalyzingAlgorithmValueP) {}
90 
92  DataType calcData(const TCInfoType& aTC) override
94  };
95 
96 
97 
99  template <class DataType, class TCInfoType, class VectorType>
100  class AnalyzingAlgorithmValuePTheta : public AnalyzingAlgorithmBase<DataType, TCInfoType, VectorType> {
101  public:
104  (AlgoritmType::AnalyzingAlgorithmValuePTheta) {}
105 
107  DataType calcData(const TCInfoType& aTC) override
108  { return AnalyzingAlgorithmBase<DataType, TCInfoType, VectorType>::chooseCorrectTC(aTC).momSeed.Theta() * 180.*TMath::InvPi(); }
109  };
110 
111 
112 
114  template <class DataType, class TCInfoType, class VectorType>
115  class AnalyzingAlgorithmValuePPhi : public AnalyzingAlgorithmBase<DataType, TCInfoType, VectorType> {
116  public:
119  (AlgoritmType::AnalyzingAlgorithmValuePPhi) {}
120 
122  DataType calcData(const TCInfoType& aTC) override
123  { return AnalyzingAlgorithmBase<DataType, TCInfoType, VectorType>::chooseCorrectTC(aTC).momSeed.Phi() * 180.*TMath::InvPi(); }
124  };
125 
126 
127 
128 
130  template <class DataType, class TCInfoType, class VectorType>
131  class AnalyzingAlgorithmValueDistSeed2IP : public AnalyzingAlgorithmBase<DataType, TCInfoType, VectorType> {
132  public:
135  (AlgoritmType::AnalyzingAlgorithmValueDistSeed2IP) {}
136 
138  DataType calcData(const TCInfoType& aTC) override
140  };
141 
142 
143 
145  template <class DataType, class TCInfoType, class VectorType>
146  class AnalyzingAlgorithmValueDistSeed2IPXY : public AnalyzingAlgorithmBase<DataType, TCInfoType, VectorType> {
147  public:
150  (AlgoritmType::AnalyzingAlgorithmValueDistSeed2IPXY) {}
151 
153  DataType calcData(const TCInfoType& aTC) override
155  };
156 
157 
159  template <class DataType, class TCInfoType, class VectorType>
160  class AnalyzingAlgorithmValueDistSeed2IPZ : public AnalyzingAlgorithmBase<DataType, TCInfoType, VectorType> {
161  public:
163  AnalyzingAlgorithmValueDistSeed2IPZ() : AnalyzingAlgorithmBase<DataType, TCInfoType, VectorType>
165 
167  DataType calcData(const TCInfoType& aTC) override
169  };
170 
171 
173  template <class DataType, class TCInfoType, class VectorType>
174  class AnalyzingAlgorithmValueQI : public AnalyzingAlgorithmBase<DataType, TCInfoType, VectorType> {
175  public:
177  AnalyzingAlgorithmValueQI() : AnalyzingAlgorithmBase<DataType, TCInfoType, VectorType>
179 
181  DataType calcData(const TCInfoType& aTC) override
182  { return (aTC.tC->getQualityIndicator()); }
183  };
184 
185  // TODO
204 }
Belle2::AnalyzingAlgorithmValueDistSeed2IPZ::calcData
DataType calcData(const TCInfoType &aTC) override
returns the seed position in XY (=r)
Definition: AnalyzingAlgorithmValues.h:175
Belle2::AnalyzingAlgorithmValueQI
Class for storing an algorithm determining the quality indicator of the TC.
Definition: AnalyzingAlgorithmValues.h:182
Belle2::AnalyzingAlgorithmValuePY
Class for storing an algorithm determining the momentum in Y.
Definition: AnalyzingAlgorithmValues.h:52
Belle2::AnalyzingAlgorithmBase::AnalyzingAlgorithmBase
AnalyzingAlgorithmBase()
constructor
Definition: AnalyzingAlgorithmBase.h:129
Belle2::AnalyzingAlgorithmValuePZ::AnalyzingAlgorithmValuePZ
AnalyzingAlgorithmValuePZ()
constructor
Definition: AnalyzingAlgorithmValues.h:69
Belle2::AnalyzingAlgorithmValuePT::calcData
DataType calcData(const TCInfoType &aTC) override
returns the momentum in pT
Definition: AnalyzingAlgorithmValues.h:86
Belle2::AnalyzingAlgorithmValuePX::AnalyzingAlgorithmValuePX
AnalyzingAlgorithmValuePX()
constructor
Definition: AnalyzingAlgorithmValues.h:41
Belle2::AnalyzingAlgorithmValuePZ
Class for storing an algorithm determining the momentum in Z.
Definition: AnalyzingAlgorithmValues.h:66
Belle2::AnalyzingAlgorithmValuePPhi
Class for storing an algorithm determining the momentum in phi (in degrees)
Definition: AnalyzingAlgorithmValues.h:123
Belle2::AnalyzingAlgorithmValueDistSeed2IP::AnalyzingAlgorithmValueDistSeed2IP
AnalyzingAlgorithmValueDistSeed2IP()
constructor
Definition: AnalyzingAlgorithmValues.h:142
Belle2::AnalyzingAlgorithmValueP::calcData
DataType calcData(const TCInfoType &aTC) override
returns the momentum in |p|
Definition: AnalyzingAlgorithmValues.h:100
Belle2::AnalyzingAlgorithmValueP::AnalyzingAlgorithmValueP
AnalyzingAlgorithmValueP()
constructor
Definition: AnalyzingAlgorithmValues.h:97
Belle2::AnalyzingAlgorithmBase::chooseCorrectTC
virtual const TCInfoType & chooseCorrectTC(const TCInfoType &aTC) const
virtual class to determine the correct TC to be used for algorithm calculation.
Definition: AnalyzingAlgorithmBase.h:94
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::AnalyzingAlgorithmValueDistSeed2IP::calcData
DataType calcData(const TCInfoType &aTC) override
returns the the seed position in 3D
Definition: AnalyzingAlgorithmValues.h:146
Belle2::AnalyzingAlgorithmValuePPhi::AnalyzingAlgorithmValuePPhi
AnalyzingAlgorithmValuePPhi()
constructor
Definition: AnalyzingAlgorithmValues.h:126
Belle2::AnalyzingAlgorithmValuePT
Class for storing an algorithm determining the momentum in pT.
Definition: AnalyzingAlgorithmValues.h:80
Belle2::AnalyzingAlgorithmValuePPhi::calcData
DataType calcData(const TCInfoType &aTC) override
returns the momentum in phi (in degrees)
Definition: AnalyzingAlgorithmValues.h:130
Belle2::AnalyzingAlgorithmValueDistSeed2IPXY::AnalyzingAlgorithmValueDistSeed2IPXY
AnalyzingAlgorithmValueDistSeed2IPXY()
constructor
Definition: AnalyzingAlgorithmValues.h:157
Belle2::AnalyzingAlgorithmValuePZ::calcData
DataType calcData(const TCInfoType &aTC) override
returns the momentum in Z
Definition: AnalyzingAlgorithmValues.h:72
Belle2::AnalyzingAlgorithmValuePY::AnalyzingAlgorithmValuePY
AnalyzingAlgorithmValuePY()
constructor
Definition: AnalyzingAlgorithmValues.h:55
Belle2::AnalyzingAlgorithmValueQI::AnalyzingAlgorithmValueQI
AnalyzingAlgorithmValueQI()
constructor
Definition: AnalyzingAlgorithmValues.h:185
Belle2::AnalyzingAlgorithmValueDistSeed2IPZ
Class for storing an algorithm determining the distance seedHit to IP in XY (=r)
Definition: AnalyzingAlgorithmValues.h:168
Belle2::AnalyzingAlgorithmValueDistSeed2IPXY
Class for storing an algorithm determining the distance seedHit to IP in XY (=r)
Definition: AnalyzingAlgorithmValues.h:154
Belle2::AnalyzingAlgorithmValueQI::calcData
DataType calcData(const TCInfoType &aTC) override
returns the the quality indicator of the TC)
Definition: AnalyzingAlgorithmValues.h:189
Belle2::AnalyzingAlgorithmValuePY::calcData
DataType calcData(const TCInfoType &aTC) override
returns the momentum in Y
Definition: AnalyzingAlgorithmValues.h:58
Belle2::AnalyzingAlgorithmValueDistSeed2IP
Class for storing an algorithm determining the the distance seedHit to IP in 3D.
Definition: AnalyzingAlgorithmValues.h:139
Belle2::AnalyzingAlgorithmValuePT::AnalyzingAlgorithmValuePT
AnalyzingAlgorithmValuePT()
constructor
Definition: AnalyzingAlgorithmValues.h:83
Belle2::AnalyzingAlgorithmValuePTheta
Class for storing an algorithm determining the momentum in theta (in degrees)
Definition: AnalyzingAlgorithmValues.h:108
Belle2::AnalyzingAlgorithmValueDistSeed2IPXY::calcData
DataType calcData(const TCInfoType &aTC) override
returns the seed position in XY (=r)
Definition: AnalyzingAlgorithmValues.h:161
Belle2::AnalyzingAlgorithmValuePTheta::calcData
DataType calcData(const TCInfoType &aTC) override
returns the momentum in theta (in degrees)
Definition: AnalyzingAlgorithmValues.h:115
Belle2::AnalyzingAlgorithmValuePX::calcData
DataType calcData(const TCInfoType &aTC) override
returns the momentum in X
Definition: AnalyzingAlgorithmValues.h:44
Belle2::AnalyzingAlgorithmBase
Base class for storing an algorithm determining the data one wants to have.
Definition: AnalyzingAlgorithmBase.h:41
Belle2::AnalyzingAlgorithmValuePTheta::AnalyzingAlgorithmValuePTheta
AnalyzingAlgorithmValuePTheta()
constructor
Definition: AnalyzingAlgorithmValues.h:111
Belle2::AnalyzingAlgorithmValueP
Class for storing an algorithm determining the momentum in |p|.
Definition: AnalyzingAlgorithmValues.h:94
Belle2::AlgoritmType
Small class for classifying types of analyzing algorithms.
Definition: AlgoritmType.h:35
Belle2::AnalyzingAlgorithmValueDistSeed2IPZ::AnalyzingAlgorithmValueDistSeed2IPZ
AnalyzingAlgorithmValueDistSeed2IPZ()
constructor
Definition: AnalyzingAlgorithmValues.h:171