Belle II Software  release-08-01-10
EventShapeCalculatorModule.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 <Math/Vector3D.h>
12 
13 #include <framework/core/Module.h>
14 
15 #include <analysis/dataobjects/EventShapeContainer.h>
16 
17 #include <framework/datastore/StoreObjPtr.h>
18 
19 namespace Belle2 {
38 
39  public:
40 
45 
50 
52  virtual void initialize() override;
53 
54 
59  virtual void event() override;
60 
61 
66  int parseParticleLists(std::vector<std::string>);
67 
68 
69  private:
70 
73  std::vector<std::string> m_particleListNames;
74  std::vector<ROOT::Math::PxPyPzEVector>
76  std::vector<ROOT::Math::XYZVector>
79  bool m_enableThrust = true;
80  bool m_enableCollisionAxis = true;
81  bool m_enableFW = true;
83  bool m_enableJets = true;
84  bool m_enableSphericity = true;
85  bool m_enableCleoCones = true;
86  bool m_enableAllMoments = false;
87  bool m_checkForDuplicates = false;
89  };
91 }
92 
Module to compute event shape variables starting from three lists of particle objects (tracks,...
int parseParticleLists(std::vector< std::string >)
Turns the ParticleLists provided as inputs in std::vectors of PxPyPzEVector and B2Vector3D,...
bool m_enableCollisionAxis
Enables the calculation of the quantities related to the collision axis.
virtual void initialize() override
Define the physical parameters.
std::vector< ROOT::Math::XYZVector > m_p3List
vector containing all the 3-momenta of the particles contained in the input lists.
virtual void event() override
Main method, called for each events.
virtual ~EventShapeCalculatorModule()
Default destructor.
bool m_enableHarmonicMoments
Enables the calculation of the Harmonic moments.
std::vector< std::string > m_particleListNames
Names of the ParticleLists (inputs).
bool m_enableAllMoments
Enables the calculation of the FW moments from 5 to 8.
bool m_enableThrust
Enables the calculation of thust-related quantities.
bool m_enableCleoCones
Enables the calculation of the Cleo Cones.
bool m_enableJets
Enables the calculation of the Jet-related quantities.
std::vector< ROOT::Math::PxPyPzEVector > m_p4List
vector containing all the 4-momenta of the particles contained in the input lists.
bool m_enableFW
Enables the calculation of the FW moments.
bool m_checkForDuplicates
Enables the check for the duplicates in the input list.
EventShapeCalculatorModule()
Constructor: Sets the description, the properties and the parameters of the module.
StoreObjPtr< EventShapeContainer > m_eventShapeContainer
event shape container object pointer
bool m_enableSphericity
Enables the calculation of the Sphericity matrix.
Base class for Modules.
Definition: Module.h:72
Type-safe access to single objects in the data store.
Definition: StoreObjPtr.h:96
Abstract base class for different kinds of events.