Belle II Software  release-08-01-10
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 
24 namespace Belle2 {
33 
34  public:
39 
41  virtual ~DistanceCalculatorModule();
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.