Belle II Software development
BremHit.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#include <framework/datastore/RelationsObject.h>
12#include <tracking/dataobjects/RecoTrack.h>
13#include <mdst/dataobjects/ECLCluster.h>
14
15#include <Math/Vector3D.h>
16
17namespace Belle2 {
24 class BremHit : public RelationsObject {
25 public:
29 BremHit() = default;
30
42 BremHit(const RecoTrack* recoTrack, const ECLCluster* bremCluster, const ROOT::Math::XYZVector& position, double bremEnergy,
43 double clusterDistance, double acceptanceFactor) :
44 m_position(position),
45 m_positionRadius(position.Rho()),
46 m_bremEnergy(bremEnergy),
47 m_clusterDistance(clusterDistance),
48 m_acceptanceFactor(acceptanceFactor)
49 {
50 addRelationTo(recoTrack);
51 addRelationTo(bremCluster);
52 }
53
55 void setPosition(const ROOT::Math::XYZVector& position) {m_position = position;}
56
58 void setBremEnergy(const double bremEnergy) {m_bremEnergy = bremEnergy;}
59
61 void setClusterDistance(const double distance) {m_clusterDistance = distance;}
62
64 ROOT::Math::XYZVector getPosition() const
65 {
66 return m_position;
67 }
69 double getBremEnergy() const
70 {
71 return m_bremEnergy;
72 }
73
75 double getClusterDistance() const
76 {
77 return m_clusterDistance;
78 }
79
82 {
83 return m_acceptanceFactor;
84 }
85
86 private:
88 ROOT::Math::XYZVector m_position;
89
92
95
98
101
104 };
106}
A bremsstrahlung hit that correlates an ECLCluster with a RecoTrack.
Definition: BremHit.h:24
double m_clusterDistance
Angle difference between the extrapolation and the bremCluster position.
Definition: BremHit.h:97
ROOT::Math::XYZVector m_position
The radiation position.
Definition: BremHit.h:88
BremHit()=default
Empty constructor for root.
double m_bremEnergy
The radiated energy.
Definition: BremHit.h:94
double getEffAcceptanceFactor() const
Return the effective acceptance factor to find the BremHit.
Definition: BremHit.h:81
BremHit(const RecoTrack *recoTrack, const ECLCluster *bremCluster, const ROOT::Math::XYZVector &position, double bremEnergy, double clusterDistance, double acceptanceFactor)
Create a BremHit, with information about the energy and position of the radiation Automatically adds ...
Definition: BremHit.h:42
ClassDef(BremHit, 2)
Making this class a ROOT class.
double getClusterDistance() const
Return the angle difference between the extrapolation and the bremCluster position.
Definition: BremHit.h:75
double getBremEnergy() const
Return the radiated energy.
Definition: BremHit.h:69
double m_positionRadius
The radiation position radius.
Definition: BremHit.h:91
double m_acceptanceFactor
The acceptance factor which is needed to find the BremHit.
Definition: BremHit.h:100
void setPosition(const ROOT::Math::XYZVector &position)
Set the radiation position.
Definition: BremHit.h:55
void setClusterDistance(const double distance)
Set the distance between the extrapolation and the bremCluster position.
Definition: BremHit.h:61
ROOT::Math::XYZVector getPosition() const
Return the radiation position.
Definition: BremHit.h:64
void setBremEnergy(const double bremEnergy)
Set the radiated energy.
Definition: BremHit.h:58
ECL cluster data.
Definition: ECLCluster.h:27
This is the Reconstruction Event-Data Model Track.
Definition: RecoTrack.h:79
Defines interface for accessing relations of objects in StoreArray.
void addRelationTo(const RelationsInterface< BASE > *object, float weight=1.0, const std::string &namedRelation="") const
Add a relation from this object to another object (with caching).
Abstract base class for different kinds of events.