Belle II Software  release-05-01-25
BremHit.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2018 - Belle II Collaboration *
4  * Contributors: Patrick Ecker *
5  * *
6  * This software is provided "as is" without any warranty. *
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 <TVector3.h>
16 
17 namespace Belle2 {
24  class BremHit : public RelationsObject {
25  public:
29  BremHit() = default;
30 
41  BremHit(const RecoTrack* recoTrack, const ECLCluster* bremCluster, const TVector3& position, double bremEnergy,
42  double clusterDistance, double acceptanceFactor) :
43  m_position(position),
44  m_positionRadius(position.Perp()),
45  m_bremEnergy(bremEnergy),
46  m_clusterDistance(clusterDistance),
47  m_acceptanceFactor(acceptanceFactor)
48  {
49  addRelationTo(recoTrack);
50  addRelationTo(bremCluster);
51  }
52 
54  void setPosition(TVector3& position) {m_position = position;}
55 
57  void setBremEnergy(double bremEnergy) {m_bremEnergy = bremEnergy;}
58 
60  void setClusterDistance(double distance) {m_clusterDistance = distance;}
61 
63  TVector3 getPosition() const
64  {
65  return m_position;
66  }
68  double getBremEnergy() const
69  {
70  return m_bremEnergy;
71  }
72 
74  double getClusterDistance() const
75  {
76  return m_clusterDistance;
77  }
78 
80  double getEffAcceptanceFactor() const
81  {
82  return m_acceptanceFactor;
83  }
84 
85  private:
87  TVector3 m_position;
88 
90  double m_positionRadius;
91 
93  double m_bremEnergy;
94 
97 
100 
103  };
105 }
Belle2::BremHit::setBremEnergy
void setBremEnergy(double bremEnergy)
Set the radiated energy.
Definition: BremHit.h:63
Belle2::ECLCluster
ECL cluster data.
Definition: ECLCluster.h:39
Belle2::BremHit::m_acceptanceFactor
double m_acceptanceFactor
The acceptance factor which is needed to find the BremHit.
Definition: BremHit.h:105
Belle2::RelationsInterface::addRelationTo
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).
Definition: RelationsObject.h:144
Belle2::BremHit::m_position
TVector3 m_position
The radiation position.
Definition: BremHit.h:93
Belle2::BremHit::setPosition
void setPosition(TVector3 &position)
Set the radiation position.
Definition: BremHit.h:60
Belle2::RecoTrack
This is the Reconstruction Event-Data Model Track.
Definition: RecoTrack.h:78
Belle2::BremHit::getPosition
TVector3 getPosition() const
Return the radiation position.
Definition: BremHit.h:69
Belle2::BremHit::setClusterDistance
void setClusterDistance(double distance)
Set the distance between the extrapolation and the bremCluster position.
Definition: BremHit.h:66
Belle2::BremHit::getEffAcceptanceFactor
double getEffAcceptanceFactor() const
Return the effective acceptance factor to find the BremHit.
Definition: BremHit.h:86
Belle2::BremHit::m_positionRadius
double m_positionRadius
The radiation position radius.
Definition: BremHit.h:96
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::BremHit::ClassDef
ClassDef(BremHit, 1)
Making this class a ROOT class.
Belle2::BremHit::getClusterDistance
double getClusterDistance() const
Return the angle difference between the extrapolation and the bremCluster position.
Definition: BremHit.h:80
Belle2::BremHit
A bremsstrahlung hit that correlates an ECLCluster with a RecoTrack.
Definition: BremHit.h:30
Belle2::RelationsObject
RelationsInterface< TObject > RelationsObject
Provides interface for getting/adding relations to objects in StoreArrays.
Definition: RelationsObject.h:443
Belle2::BremHit::m_bremEnergy
double m_bremEnergy
The radiated energy.
Definition: BremHit.h:99
Belle2::BremHit::BremHit
BremHit()=default
Empty constructor for root.
Belle2::BremHit::getBremEnergy
double getBremEnergy() const
Return the radiated energy.
Definition: BremHit.h:74
Belle2::BremHit::m_clusterDistance
double m_clusterDistance
Angle difference between the extrapolation and the bremCluster position.
Definition: BremHit.h:102