Belle II Software  release-08-01-10
HelicityVariables.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 
32  double cosHelicityAngleMomentum(const Particle* part);
33 
39  double cosHelicityAngleMomentumPi0Dalitz(const Particle* part);
40 
46  double cosHelicityAngleBeamMomentum(const Particle* mother, const std::vector<double>& index);
47 
56  double cosHelicityAngle(const Particle* mother, const std::vector<double>& indices);
57 
67  double cosAcoplanarityAngle(const Particle* mother, const std::vector<double>& granddaughters);
68 
72  double cosHelicityAnglePrimary(const Particle* part);
73 
78  double cosHelicityAngleDaughter(const Particle* part, const std::vector<double>& indices);
79 
83  double acoplanarityAngle(const Particle* part);
84 
91  double cosHelicityAngleForQuasiTwoBodyDecay(const Particle* mother, const std::vector<double>& indices);
92 
96  Manager::FunctionPtr momentaTripleProduct(const std::vector<std::string>& arguments);
97 
98  }
100 } // Belle2 namespace
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.