Belle II Software  release-05-01-25
FoxWolfram.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2010 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Mikihiko Nakao (KEK), Pablo Goldenzweig (KIT), *
7  * Umberto Tamponi (tamponi@to.infn.it) *
8  * *
9  * Original module writen by M. Nakao for Belle *
10  * Ported to Belle II by P. Goldenzweig *
11  * Modified by U. Tamponi *
12  * *
13  * This software is provided "as is" without any warranty. *
14  **************************************************************************/
15 #pragma once
16 #include <TVector3.h>
17 #include <vector>
18 
19 
20 namespace Belle2 {
35  class FoxWolfram {
36  public:
37 
41  FoxWolfram();
42 
43 
47  explicit FoxWolfram(const std::vector<TVector3>& momenta)
48  {
49  m_momenta.clear();
50  m_momenta = momenta;
51  };
52 
53 
57  ~FoxWolfram() {};
58 
59 
65  void calculateBasicMoments();
66 
67 
73  void calculateAllMoments();
74 
75 
80  void setMomenta(const std::vector<TVector3>& momenta)
81  {
82  m_momenta.clear();
83  m_momenta = momenta;
84  return;
85  };
86 
90  double getH(int i) const { return (i < 0 || i > 8) ? NAN : m_moment[i]; }
91 
96  double getR(int i) const { return (i < 0 || i > 8 || m_moment[0] == 0) ? NAN : m_moment[i] / m_moment[0]; }
97 
98 
99  private:
100  double m_moment[9] = {0.};
101  std::vector<TVector3> m_momenta;
102  };
103 
105 } // Belle2 namespace
Belle2::FoxWolfram::calculateBasicMoments
void calculateBasicMoments()
Method to perform the calculation of the moments up to order 4, which are the most relevant ones.
Definition: FoxWolfram.cc:20
Belle2::FoxWolfram::FoxWolfram
FoxWolfram()
Default constructor.
Belle2::FoxWolfram::m_moment
double m_moment[9]
The moments.
Definition: FoxWolfram.h:113
Belle2::FoxWolfram::~FoxWolfram
~FoxWolfram()
Default destructor.
Definition: FoxWolfram.h:70
Belle2::FoxWolfram::getR
double getR(int i) const
Returns the i-th moment normalized to the 0th-order moment.
Definition: FoxWolfram.h:109
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::FoxWolfram::getH
double getH(int i) const
Returns the i-th moment.
Definition: FoxWolfram.h:103
Belle2::FoxWolfram::calculateAllMoments
void calculateAllMoments()
Method to perform the calculation of the moments up to order 8.
Definition: FoxWolfram.cc:64
Belle2::FoxWolfram::m_momenta
std::vector< TVector3 > m_momenta
The particle's momenta.
Definition: FoxWolfram.h:114
Belle2::FoxWolfram::setMomenta
void setMomenta(const std::vector< TVector3 > &momenta)
Sets the list of momenta used for the FW moment calculation, overwriting whatever list has been set b...
Definition: FoxWolfram.h:93