Belle II Software  release-05-02-19
EventShapeVariables.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2018 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Umberto Tamponi (tamponi@to.infn.it) *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 #include <analysis/VariableManager/Manager.h>
14 
15 #include <vector>
16 #include <string>
17 
18 namespace Belle2 {
23  class Particle;
24 
25  namespace Variable {
26 
27 
31  Manager::FunctionPtr foxWolframR(const std::vector<std::string>& arguments);
32 
36  Manager::FunctionPtr foxWolframH(const std::vector<std::string>& arguments);
37 
41  Manager::FunctionPtr cleoCone(const std::vector<std::string>& arguments);
42 
46  double foxWolframR1(const Particle* particle);
47 
51  double foxWolframR2(const Particle* particle);
52 
56  double foxWolframR3(const Particle* particle);
57 
61  double foxWolframR4(const Particle* particle);
62 
63 
67  double harmonicMomentThrust0(const Particle* particle);
68 
72  double harmonicMomentThrust1(const Particle* particle);
73 
77  double harmonicMomentThrust2(const Particle* particle);
78 
82  double harmonicMomentThrust3(const Particle* particle);
83 
87  double harmonicMomentThrust4(const Particle* particle);
88 
89 
93  double cleoConeThrust0(const Particle* particle);
94 
98  double cleoConeThrust1(const Particle* particle);
99 
103  double cleoConeThrust2(const Particle* particle);
104 
108  double cleoConeThrust3(const Particle* particle);
109 
113  double cleoConeThrust4(const Particle* particle);
114 
118  double cleoConeThrust5(const Particle* particle);
119 
123  double cleoConeThrust6(const Particle* particle);
124 
128  double cleoConeThrust7(const Particle* particle);
129 
133  double cleoConeThrust8(const Particle* particle);
134 
135 
136 
140  double sphericity(const Particle* particle);
141 
145  double aplanarity(const Particle* particle);
146 
150  double thrust(const Particle* particle);
151 
152 
156  double thrustAxisX(const Particle* particle);
157 
161  double thrustAxisY(const Particle* particle);
162 
166  double thrustAxisZ(const Particle* particle);
167 
171  double thrustAxisCosTheta(const Particle* particle);
172 
173 
177  double forwardHemisphereMass(const Particle* particle);
178 
182  double forwardHemisphereX(const Particle* particle);
183 
187  double forwardHemisphereY(const Particle* particle);
188 
192  double forwardHemisphereZ(const Particle* particle);
193 
197  double forwardHemisphereMomentum(const Particle* particle);
198 
202  double forwardHemisphereEnergy(const Particle* particle);
203 
204 
205 
209  double backwardHemisphereMass(const Particle* particle);
210 
214  double backwardHemisphereX(const Particle* particle);
215 
219  double backwardHemisphereY(const Particle* particle);
220 
224  double backwardHemisphereZ(const Particle* particle);
225 
229  double backwardHemisphereMomentum(const Particle* particle);
230 
234  double backwardHemisphereEnergy(const Particle* particle);
235 
236 
240  Manager::FunctionPtr useThrustFrame(const std::vector<std::string>& arguments);
241 
242  }
244 }
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::Variable::Manager::FunctionPtr
std::function< double(const Particle *)> FunctionPtr
NOTE: the python interface is documented manually in analysis/doc/Variables.rst (because we use ROOT ...
Definition: Manager.h:118