Belle II Software  release-08-01-10
EventShapeVariables.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 <analysis/VariableManager/Manager.h>
12 
13 #include <vector>
14 #include <string>
15 
16 namespace Belle2 {
21  class Particle;
22 
23  namespace Variable {
24 
25 
29  double foxWolframR(const Particle*, const std::vector<double>& index);
30 
34  double foxWolframH(const Particle*, const std::vector<double>& index);
35 
39  Manager::FunctionPtr cleoCone(const std::vector<std::string>& arguments);
40 
44  double foxWolframR1(const Particle* particle);
45 
49  double foxWolframR2(const Particle* particle);
50 
54  double foxWolframR3(const Particle* particle);
55 
59  double foxWolframR4(const Particle* particle);
60 
61 
65  double harmonicMomentThrust0(const Particle* particle);
66 
70  double harmonicMomentThrust1(const Particle* particle);
71 
75  double harmonicMomentThrust2(const Particle* particle);
76 
80  double harmonicMomentThrust3(const Particle* particle);
81 
85  double harmonicMomentThrust4(const Particle* particle);
86 
87 
91  double cleoConeThrust0(const Particle* particle);
92 
96  double cleoConeThrust1(const Particle* particle);
97 
101  double cleoConeThrust2(const Particle* particle);
102 
106  double cleoConeThrust3(const Particle* particle);
107 
111  double cleoConeThrust4(const Particle* particle);
112 
116  double cleoConeThrust5(const Particle* particle);
117 
121  double cleoConeThrust6(const Particle* particle);
122 
126  double cleoConeThrust7(const Particle* particle);
127 
131  double cleoConeThrust8(const Particle* particle);
132 
133 
134 
138  double sphericity(const Particle* particle);
139 
143  double aplanarity(const Particle* particle);
144 
148  double thrust(const Particle* particle);
149 
150 
154  double thrustAxisX(const Particle* particle);
155 
159  double thrustAxisY(const Particle* particle);
160 
164  double thrustAxisZ(const Particle* particle);
165 
169  double thrustAxisCosTheta(const Particle* particle);
170 
171 
175  double forwardHemisphereMass(const Particle* particle);
176 
180  double forwardHemisphereX(const Particle* particle);
181 
185  double forwardHemisphereY(const Particle* particle);
186 
190  double forwardHemisphereZ(const Particle* particle);
191 
195  double forwardHemisphereMomentum(const Particle* particle);
196 
200  double forwardHemisphereEnergy(const Particle* particle);
201 
202 
203 
207  double backwardHemisphereMass(const Particle* particle);
208 
212  double backwardHemisphereX(const Particle* particle);
213 
217  double backwardHemisphereY(const Particle* particle);
218 
222  double backwardHemisphereZ(const Particle* particle);
223 
227  double backwardHemisphereMomentum(const Particle* particle);
228 
232  double backwardHemisphereEnergy(const Particle* particle);
233 
234 
238  Manager::FunctionPtr useThrustFrame(const std::vector<std::string>& arguments);
239 
240  }
242 }
std::function< VarVariant(const Particle *)> FunctionPtr
functions stored take a const Particle* and return VarVariant.
Definition: Manager.h:113
Abstract base class for different kinds of events.