Belle II Software  light-2403-persian
ClusterUtils Class Reference

Class to provide momentum-related information from ECLClusters. More...

#include <ClusterUtils.h>

Collaboration diagram for ClusterUtils:

Public Member Functions

 ClusterUtils ()
 Constructor.
 
const ROOT::Math::PxPyPzEVector GetCluster4MomentumFromCluster (const ECLCluster *cluster, ECLCluster::EHypothesisBit hypo)
 Returns cluster four momentum vector. More...
 
const ROOT::Math::PxPyPzEVector Get4MomentumFromCluster (const ECLCluster *cluster, ECLCluster::EHypothesisBit hypo)
 Returns four momentum vector. More...
 
const ROOT::Math::PxPyPzEVector Get4MomentumFromCluster (const ECLCluster *cluster, const ROOT::Math::XYZVector &vertex, ECLCluster::EHypothesisBit hypo)
 Returns four momentum vector. More...
 
const TMatrixD GetJacobiMatrix4x6FromCluster (const ECLCluster *cluster, ECLCluster::EHypothesisBit hypo)
 Returns 4x6 Jacobi matrix (px, py, pz, E) More...
 
const TMatrixD GetJacobiMatrix4x6FromCluster (const ECLCluster *cluster, const ROOT::Math::XYZVector &vertex, ECLCluster::EHypothesisBit hypo)
 Returns 4x6 Jacobi matrix (px, py, pz, E) More...
 
const TMatrixDSym GetCovarianceMatrix3x3FromCluster (const ECLCluster *cluster)
 Returns 3x3 covariance matrix (E, theta, phi) More...
 
const TMatrixDSym GetCovarianceMatrix4x4FromCluster (const ECLCluster *cluster, const TMatrixD &jacobiMatrix)
 Returns 4x4 covariance matrix (px, py, pz, E) More...
 
const TMatrixDSym GetCovarianceMatrix4x4FromCluster (const ECLCluster *cluster, const TMatrixDSym &covmatvertex, const TMatrixD &jacobiMatrix)
 Returns 4x4 covariance matrix (px, py, pz, E) More...
 
const TMatrixDSym GetCovarianceMatrix7x7FromCluster (const ECLCluster *cluster, const TMatrixD &jacobiMatrix)
 Returns 7x7 covariance matrix (px, py, pz, E, x, y, z) More...
 
const TMatrixDSym GetCovarianceMatrix7x7FromCluster (const ECLCluster *cluster, const TMatrixDSym &covmatvertex, const TMatrixD &jacobiMatrix)
 Returns 7x7 covariance matrix (px, py, pz, E, x, y, z) More...
 
const ROOT::Math::XYZVector GetIPPosition ()
 Returns default IP position from beam parameters. More...
 
const TMatrixDSym GetIPPositionCovarianceMatrix ()
 Returns default IP position covariance matrix from beam parameters. More...
 

Private Attributes

DBObjPtr< BeamSpotm_beamSpotDB
 Beam spot database object.
 
OptionalDBObjPtr< ECLPhotonEnergyResolutionm_photonEnergyResolutionDB
 Photon energy resolution database object.
 

Detailed Description

Class to provide momentum-related information from ECLClusters.

This requires the prior knowledge of the particle type (e.g., photon), and a vertex hypothesis. The default vertex hypothesis is taken from the beamparameters.

Definition at line 36 of file ClusterUtils.h.

Member Function Documentation

◆ Get4MomentumFromCluster() [1/2]

const PxPyPzEVector Get4MomentumFromCluster ( const ECLCluster cluster,
const ROOT::Math::XYZVector &  vertex,
ECLCluster::EHypothesisBit  hypo 
)

Returns four momentum vector.

Returns
const four momentum vector

Definition at line 32 of file ClusterUtils.cc.

34 {
35 
36  // Get particle direction from vertex and reconstructed cluster position.
37  XYZVector direction(cluster->getClusterPosition().X() - vertex.X(),
38  cluster->getClusterPosition().Y() - vertex.Y(),
39  cluster->getClusterPosition().Z() - vertex.Z());
40 
41  // Always ignore mass here (even for neutral hadrons) therefore the magnitude
42  // of the momentum is equal to the cluster energy under this hypo.
43  const double E = cluster->getEnergy(hypo); // must not be changed or clusterE getters will be wrong
44  const double px = E * sin(direction.Theta()) * cos(direction.Phi());
45  const double py = E * sin(direction.Theta()) * sin(direction.Phi());
46  const double pz = E * cos(direction.Theta());
47 
48  const PxPyPzEVector l(px, py, pz, E);
49  return l;
50 }

◆ Get4MomentumFromCluster() [2/2]

const PxPyPzEVector Get4MomentumFromCluster ( const ECLCluster cluster,
ECLCluster::EHypothesisBit  hypo 
)

Returns four momentum vector.

Returns
const four momentum vector

Definition at line 25 of file ClusterUtils.cc.

◆ GetCluster4MomentumFromCluster()

const PxPyPzEVector GetCluster4MomentumFromCluster ( const ECLCluster cluster,
ECLCluster::EHypothesisBit  hypo 
)

Returns cluster four momentum vector.

Returns
const cluster four momentum vector

Definition at line 19 of file ClusterUtils.cc.

◆ GetCovarianceMatrix3x3FromCluster()

const TMatrixDSym GetCovarianceMatrix3x3FromCluster ( const ECLCluster cluster)

Returns 3x3 covariance matrix (E, theta, phi)

Returns
const TMatrixDSym

Replace fixed energy resolution value by derived value from the DB if present

Definition at line 134 of file ClusterUtils.cc.

◆ GetCovarianceMatrix4x4FromCluster() [1/2]

const TMatrixDSym GetCovarianceMatrix4x4FromCluster ( const ECLCluster cluster,
const TMatrixD &  jacobiMatrix 
)

Returns 4x4 covariance matrix (px, py, pz, E)

Returns
const TMatrixDSym

Definition at line 156 of file ClusterUtils.cc.

◆ GetCovarianceMatrix4x4FromCluster() [2/2]

const TMatrixDSym GetCovarianceMatrix4x4FromCluster ( const ECLCluster cluster,
const TMatrixDSym &  covmatvertex,
const TMatrixD &  jacobiMatrix 
)

Returns 4x4 covariance matrix (px, py, pz, E)

Returns
const TMatrixDSym

Definition at line 162 of file ClusterUtils.cc.

◆ GetCovarianceMatrix7x7FromCluster() [1/2]

const TMatrixDSym GetCovarianceMatrix7x7FromCluster ( const ECLCluster cluster,
const TMatrixD &  jacobiMatrix 
)

Returns 7x7 covariance matrix (px, py, pz, E, x, y, z)

Returns
const TMatrixDSym

Definition at line 185 of file ClusterUtils.cc.

◆ GetCovarianceMatrix7x7FromCluster() [2/2]

const TMatrixDSym GetCovarianceMatrix7x7FromCluster ( const ECLCluster cluster,
const TMatrixDSym &  covmatvertex,
const TMatrixD &  jacobiMatrix 
)

Returns 7x7 covariance matrix (px, py, pz, E, x, y, z)

Returns
const TMatrixDSym

Definition at line 191 of file ClusterUtils.cc.

◆ GetIPPosition()

const XYZVector GetIPPosition ( )

Returns default IP position from beam parameters.

Returns
const XYZVector

Definition at line 216 of file ClusterUtils.cc.

◆ GetIPPositionCovarianceMatrix()

const TMatrixDSym GetIPPositionCovarianceMatrix ( )

Returns default IP position covariance matrix from beam parameters.

Returns
const TMatrixDSym

Definition at line 226 of file ClusterUtils.cc.

◆ GetJacobiMatrix4x6FromCluster() [1/2]

const TMatrixD GetJacobiMatrix4x6FromCluster ( const ECLCluster cluster,
const ROOT::Math::XYZVector &  vertex,
ECLCluster::EHypothesisBit  hypo 
)

Returns 4x6 Jacobi matrix (px, py, pz, E)

Returns
const TMatrixD

Definition at line 60 of file ClusterUtils.cc.

◆ GetJacobiMatrix4x6FromCluster() [2/2]

const TMatrixD GetJacobiMatrix4x6FromCluster ( const ECLCluster cluster,
ECLCluster::EHypothesisBit  hypo 
)

Returns 4x6 Jacobi matrix (px, py, pz, E)

Returns
const TMatrixD

Definition at line 54 of file ClusterUtils.cc.


The documentation for this class was generated from the following files: