Belle II Software development
ClusterUtils.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// DATABASE objects
12#include <mdst/dbobjects/BeamSpot.h>
13#include <analysis/dbobjects/ECLPhotonEnergyResolution.h>
14#include <framework/database/DBObjPtr.h>
15
16// MDST
17#include <mdst/dataobjects/ECLCluster.h>
18
19// ROOT
20#include <Math/Vector3D.h>
21#include <Math/Vector4D.h>
22#include <TMatrixD.h>
23
24#include <framework/gearbox/Const.h>
25
26namespace Belle2 {
39
40 public:
45
50 const ROOT::Math::PxPyPzEVector GetCluster4MomentumFromCluster(const ECLCluster* cluster, ECLCluster::EHypothesisBit hypo);
51
56 const ROOT::Math::PxPyPzEVector Get4MomentumFromCluster(const ECLCluster* cluster, ECLCluster::EHypothesisBit hypo);
57
62 const ROOT::Math::PxPyPzEVector Get4MomentumFromCluster(const ECLCluster* cluster, const ROOT::Math::XYZVector& vertex,
68 const TMatrixD GetJacobiMatrix4x6FromCluster(const ECLCluster* cluster, ECLCluster::EHypothesisBit hypo);
69
74 const TMatrixD GetJacobiMatrix4x6FromCluster(const ECLCluster* cluster, const ROOT::Math::XYZVector& vertex,
76
81 const TMatrixDSym GetCovarianceMatrix3x3FromCluster(const ECLCluster* cluster, int particleHypo = Const::photon.getPDGCode());
82
87 const TMatrixDSym GetCovarianceMatrix4x4FromCluster(const ECLCluster* cluster, const TMatrixD& jacobiMatrix);
88
93 const TMatrixDSym GetCovarianceMatrix4x4FromCluster(const ECLCluster* cluster,
94 const TMatrixDSym& covmatvertex,
95 const TMatrixD& jacobiMatrix);
96
101 const TMatrixDSym GetCovarianceMatrix7x7FromCluster(const ECLCluster* cluster, const TMatrixD& jacobiMatrix);
102
107 const TMatrixDSym GetCovarianceMatrix7x7FromCluster(const ECLCluster* cluster,
108 const TMatrixDSym& covmatvertex,
109 const TMatrixD& jacobiMatrix);
110
115 const ROOT::Math::XYZVector GetIPPosition();
116
121 const TMatrixDSym GetIPPositionCovarianceMatrix();
122
123 private:
128
133
138
143
148
149 };
150
152} // Belle2 namespace
Class to provide momentum-related information from ECLClusters.
Definition: ClusterUtils.h:38
const TMatrixDSym GetCovarianceMatrix7x7FromCluster(const ECLCluster *cluster, const TMatrixD &jacobiMatrix)
Returns 7x7 covariance matrix (px, py, pz, E, x, y, z)
const ROOT::Math::PxPyPzEVector Get4MomentumFromCluster(const ECLCluster *cluster, ECLCluster::EHypothesisBit hypo)
Returns four momentum vector.
Definition: ClusterUtils.cc:25
OptionalDBObjPtr< ECLPhotonEnergyResolution > m_photonEnergyResolutionDB
Photon energy resolution database object.
Definition: ClusterUtils.h:132
OptionalDBObjPtr< ECLPhotonEnergyResolution > m_antiNeutronPositionResolutionDB
Antineutron position resolution database objects.
Definition: ClusterUtils.h:142
const TMatrixD GetJacobiMatrix4x6FromCluster(const ECLCluster *cluster, ECLCluster::EHypothesisBit hypo)
Returns 4x6 Jacobi matrix (px, py, pz, E)
Definition: ClusterUtils.cc:54
const ROOT::Math::PxPyPzEVector GetCluster4MomentumFromCluster(const ECLCluster *cluster, ECLCluster::EHypothesisBit hypo)
Returns cluster four momentum vector.
Definition: ClusterUtils.cc:19
OptionalDBObjPtr< ECLPhotonEnergyResolution > m_kaonPositionResolutionDB
Neutral kaon position resolution database objects.
Definition: ClusterUtils.h:147
const TMatrixDSym GetCovarianceMatrix4x4FromCluster(const ECLCluster *cluster, const TMatrixD &jacobiMatrix)
Returns 4x4 covariance matrix (px, py, pz, E)
DBObjPtr< BeamSpot > m_beamSpotDB
Beam spot database object.
Definition: ClusterUtils.h:127
OptionalDBObjPtr< ECLPhotonEnergyResolution > m_neutronPositionResolutionDB
Neutron position resolution database objects.
Definition: ClusterUtils.h:137
const TMatrixDSym GetCovarianceMatrix3x3FromCluster(const ECLCluster *cluster, int particleHypo=Const::photon.getPDGCode())
Returns 3x3 covariance matrix (E, theta, phi)
const TMatrixDSym GetIPPositionCovarianceMatrix()
Returns default IP position covariance matrix from beam parameters.
ClusterUtils()
Constructor.
const ROOT::Math::XYZVector GetIPPosition()
Returns default IP position from beam parameters.
static const ParticleType photon
photon particle
Definition: Const.h:673
Class for accessing objects in the database.
Definition: DBObjPtr.h:21
ECL cluster data.
Definition: ECLCluster.h:27
EHypothesisBit
The hypothesis bits for this ECLCluster (Connected region (CR) is split using this hypothesis.
Definition: ECLCluster.h:31
Optional DBObjPtr: This class behaves the same as the DBObjPtr except that it will not raise errors w...
Definition: DBObjPtr.h:48
Abstract base class for different kinds of events.