PandaRoot
RhoTotalMomentum.h
Go to the documentation of this file.
1 //--------------------------------------------------------------------------
2 // File and Version Information:
3 //
4 // Description:
5 // Class RhoTotalMomentum - a simple object to calculate the total
6 // 4 momentum in an event
7 //
8 // Environment:
9 // Software developed for the BaBar Detector at the SLAC B-Factory.
10 //
11 // Author List:
12 // Paul Harrison Original author
13 //
14 // Copyright Information:
15 // Copyright (C) 1997 Hedgehog Concepts
16 //
17 // ROOT Version by Marcel Kunze, RUB
18 // Ralf Kliemt, HIM/GSI Feb.2013 (Cleanup & Restructuring)
19 //------------------------------------------------------------------------
20 
21 #ifndef RHOTOTALMOMENTUM_H
22 #define RHOTOTALMOMENTUM_H
23 
24 //------------------------------------
25 // Collaborating Class Declarations --
26 //------------------------------------
27 class RhoEventInfo;
28 class RhoCandidate;
29 #include "RhoCandList.h"
30 #include "TVector3.h"
31 #include "TLorentzVector.h"
32 
33 // ---------------------
34 // -- Class Interface --
35 // ---------------------
36 
37 class RhoTotalMomentum : public TObject {
38 
39  //--------------------
40  // Instance Members --
41  //--------------------
42 
43  public:
44  // Constructors
46 
47  // Destructor
48  virtual ~RhoTotalMomentum();
49 
50  // accessors to get at results
51 
52  inline double TotalEnergy() const { return _total4Momentum.T(); }
53  inline double TotalMomentum() const { return TVector3(_total4Momentum.X(), _total4Momentum.Y(), _total4Momentum.Z()).Mag(); }
54  inline TVector3 Total3Momentum() const { return TVector3(_total4Momentum.X(), _total4Momentum.Y(), _total4Momentum.Z()); }
55  inline TLorentzVector Total4Momentum() const { return _total4Momentum; }
56 
57  inline double TotalEnergyCms() const { return _total4MomentumCms.T(); }
58  inline double TotalMomentumCms() const { return TVector3(_total4MomentumCms.X(), _total4MomentumCms.Y(), _total4MomentumCms.Z()).Mag(); }
59  inline TVector3 Total3MomentumCms() const { return TVector3(_total4MomentumCms.X(), _total4MomentumCms.Y(), _total4MomentumCms.Z()); }
60  inline TLorentzVector Total4MomentumCms() const { return _total4MomentumCms; }
61 
62  inline double TotalMass() const { return _total4Momentum.Mag(); }
63 
64  inline double MissingEnergy() const { return _missing4Momentum.T(); }
65  inline double MissingMomentum() const { return TVector3(_missing4Momentum.X(), _missing4Momentum.Y(), _missing4Momentum.Z()).Mag(); }
66  inline TVector3 Missing3Momentum() const { return TVector3(_missing4Momentum.X(), _missing4Momentum.Y(), _missing4Momentum.Z()); }
67  inline TLorentzVector Missing4Momentum() const { return _missing4Momentum; }
68 
69  inline double MissingEnergyCms() const { return _missing4MomentumCms.T(); }
70  inline double MissingMomentumCms() const { return TVector3(_missing4MomentumCms.X(), _missing4MomentumCms.Y(), _missing4MomentumCms.Z()).Mag(); }
71  inline TVector3 Missing3MomentumCms() const { return TVector3(_missing4MomentumCms.X(), _missing4MomentumCms.Y(), _missing4MomentumCms.Z()); }
72  inline TLorentzVector Missing4MomentumCms() const { return _missing4MomentumCms; }
73 
74  inline double MissingMass() const { return _missing4Momentum.Mag(); }
75 
76  protected:
77  // Member data
78  TLorentzVector _total4Momentum;
79  TLorentzVector _total4MomentumCms;
80 
81  TLorentzVector _missing4Momentum;
82  TLorentzVector _missing4MomentumCms;
83 
84  public:
85  ClassDef(RhoTotalMomentum, 1) // A simple object to calculate the total 4 momentum in an event
86 };
87 
88 #endif
TLorentzVector Total4Momentum() const
RhoTotalMomentum(RhoCandList &, const RhoEventInfo &)
double MissingEnergyCms() const
TVector3 Total3MomentumCms() const
double TotalMomentumCms() const
double TotalEnergy() const
TLorentzVector _total4Momentum
TVector3 Missing3Momentum() const
TLorentzVector Missing4MomentumCms() const
TLorentzVector _missing4MomentumCms
double MissingMomentumCms() const
virtual ~RhoTotalMomentum()
TVector3 Total3Momentum() const
TLorentzVector _total4MomentumCms
TLorentzVector _missing4Momentum
double MissingEnergy() const
TLorentzVector Missing4Momentum() const
double TotalMass() const
double TotalEnergyCms() const
TVector3 Missing3MomentumCms() const
double MissingMomentum() const
double MissingMass() const
TLorentzVector Total4MomentumCms() const
double TotalMomentum() const