Belle II Software light-2406-ragdoll
DistanceCalculatorModule.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
10#pragma once
11#include <framework/core/Module.h>
12#include <string>
13#include <TMatrixFSym.h>
14
15#include <Eigen/Core>
16
17#include <analysis/dataobjects/Btube.h>
18#include <analysis/dataobjects/Particle.h>
19#include <analysis/dataobjects/ParticleList.h>
20#include <analysis/DecayDescriptor/DecayDescriptor.h>
21
22#include <framework/datastore/StoreObjPtr.h>
23
24namespace Belle2 {
33
34 public:
39
42
44 virtual void initialize() override;
45
47 virtual void event() override;
48
49 private:
50
52 void getDistance(const Particle* p1, const Particle* p2);
54 void getDistanceErrors(const Particle* p1, const Particle* p2);
56 void getBtubeDistance(const Particle* p, const Btube* t);
58 void getBtubeDistanceErrors(const Particle* p, const Btube* t);
59
60 std::string m_listName;
61 std::string m_decayString;
63 std::string m_mode;
64 Eigen::Vector3d m_distance;
65 TMatrixFSym m_distanceCovMatrix;
67 };
69}
70
71
For each MCParticle with hits in the CDC, this class stores some summarising information on those hit...
Definition: Btube.h:27
The DecayDescriptor stores information about a decay tree or parts of a decay tree.
Calculates distance between two vertices, distance of closest approach between a vertex and a track,...
TMatrixFSym m_distanceCovMatrix
covariance matrix of distance
virtual void initialize() override
declare data store elements
virtual void event() override
process event
std::string m_listName
name of particle list
void getBtubeDistanceErrors(const Particle *p, const Btube *t)
returns the error on the distance between the btube and the object (depending on m_mode)
DistanceCalculatorModule()
Constructor: Sets the description, the properties and the parameters of the module.
void getDistanceErrors(const Particle *p1, const Particle *p2)
returns the error on the distance between tracks or vertex objects (depending on the m_mode)
Eigen::Vector3d m_distance
distance between two objects (track/vertex/Btube and vertex/track)
DecayDescriptor m_decayDescriptor
decay descriptor which specifies which particles are used to calculate the distance
void getDistance(const Particle *p1, const Particle *p2)
returns the distance between tracks or vertex objects (depending on the m_mode)
void getBtubeDistance(const Particle *p, const Btube *t)
returns the distance between the btube and the object (depending on m_mode)
StoreObjPtr< ParticleList > m_plist
input particle list
Base class for Modules.
Definition: Module.h:72
Class to store reconstructed particles.
Definition: Particle.h:75
Type-safe access to single objects in the data store.
Definition: StoreObjPtr.h:96
Abstract base class for different kinds of events.
Definition: ClusterUtils.h:24