Belle II Software  release-05-02-19
ClusterUtils.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2017-2019 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Torben Ferber (torben.ferber@desy.de) *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 // BEAMSPOT AND DATABASE
14 #include <mdst/dbobjects/BeamSpot.h>
15 #include <framework/database/DBObjPtr.h>
16 
17 // MDST
18 #include <mdst/dataobjects/ECLCluster.h>
19 
20 // ROOT
21 #include <TLorentzVector.h>
22 #include <TMatrixD.h>
23 
24 namespace Belle2 {
36  class ClusterUtils {
37 
38  public:
39 
43  ClusterUtils();
44 
49  const TLorentzVector GetCluster4MomentumFromCluster(const ECLCluster* cluster, ECLCluster::EHypothesisBit hypo);
50 
55  const TLorentzVector Get4MomentumFromCluster(const ECLCluster* cluster, ECLCluster::EHypothesisBit hypo);
56 
61  const TLorentzVector Get4MomentumFromCluster(const ECLCluster* cluster, const TVector3& vertex, ECLCluster::EHypothesisBit hypo);
62 
67  const TMatrixDSym GetCovarianceMatrix4x4FromCluster(const ECLCluster* cluster, ECLCluster::EHypothesisBit hypo);
68 
73  const TMatrixDSym GetCovarianceMatrix4x4FromCluster(const ECLCluster* cluster, const TVector3& vertex,
74  const TMatrixDSym& covmatvertex, ECLCluster::EHypothesisBit hypo);
75 
80  const TMatrixDSym GetCovarianceMatrix7x7FromCluster(const ECLCluster* cluster, ECLCluster::EHypothesisBit hypo);
81 
86  const TMatrixDSym GetCovarianceMatrix7x7FromCluster(const ECLCluster* cluster, const TVector3& vertex,
87  const TMatrixDSym& covmatvertex, ECLCluster::EHypothesisBit hypo);
88 
93  const TVector3 GetIPPosition();
94 
99  const TMatrixDSym GetIPPositionCovarianceMatrix();
100 
101  private:
102 
104  };
105 
107 } // Belle2 namespace
Belle2::ECLCluster
ECL cluster data.
Definition: ECLCluster.h:39
Belle2::ECLCluster::EHypothesisBit
EHypothesisBit
The hypothesis bits for this ECLCluster (Connected region (CR) is split using this hypothesis.
Definition: ECLCluster.h:43
Belle2::ClusterUtils::Get4MomentumFromCluster
const TLorentzVector Get4MomentumFromCluster(const ECLCluster *cluster, ECLCluster::EHypothesisBit hypo)
Returns four momentum vector.
Definition: ClusterUtils.cc:26
Belle2::ClusterUtils::GetCovarianceMatrix4x4FromCluster
const TMatrixDSym GetCovarianceMatrix4x4FromCluster(const ECLCluster *cluster, ECLCluster::EHypothesisBit hypo)
Returns 4x4 covariance matrix (px, py, pz, E)
Definition: ClusterUtils.cc:53
Belle2::ClusterUtils::GetIPPosition
const TVector3 GetIPPosition()
Returns default IP position from beam parameters.
Definition: ClusterUtils.cc:182
Belle2::DBObjPtr
Class for accessing objects in the database.
Definition: DBObjPtr.h:31
Belle2::ClusterUtils::GetCovarianceMatrix7x7FromCluster
const TMatrixDSym GetCovarianceMatrix7x7FromCluster(const ECLCluster *cluster, ECLCluster::EHypothesisBit hypo)
Returns 7x7 covariance matrix (px, py, pz, E, x, y, z)
Definition: ClusterUtils.cc:149
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::ClusterUtils::GetCluster4MomentumFromCluster
const TLorentzVector GetCluster4MomentumFromCluster(const ECLCluster *cluster, ECLCluster::EHypothesisBit hypo)
Returns cluster four momentum vector.
Definition: ClusterUtils.cc:20
Belle2::ClusterUtils::m_beamSpotDB
DBObjPtr< BeamSpot > m_beamSpotDB
Beam spot database object.
Definition: ClusterUtils.h:111
Belle2::ClusterUtils::ClusterUtils
ClusterUtils()
Constructor.
Belle2::ClusterUtils::GetIPPositionCovarianceMatrix
const TMatrixDSym GetIPPositionCovarianceMatrix()
Returns default IP position covariance matrix from beam parameters.
Definition: ClusterUtils.cc:191