Belle II Software development
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
19namespace Belle2 {
35
36 public:
37
42
47
49 virtual void initialize() override;
50
51
56 virtual void event() override;
57
58
63 int parseParticleLists(std::vector<std::string>);
64
65
66 private:
67
70 std::vector<std::string> m_particleListNames;
71 std::vector<ROOT::Math::PxPyPzEVector>
73 std::vector<ROOT::Math::XYZVector>
76 bool m_enableThrust = true;
78 bool m_enableFW = true;
80 bool m_enableJets = true;
81 bool m_enableSphericity = true;
82 bool m_enableCleoCones = true;
83 bool m_enableAllMoments = false;
84 bool m_checkForDuplicates = false;
86 };
88}
89
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.