FairRoot/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 "RhoBase/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 //--------------------
41 // Instance Members --
42 //--------------------
43 
44  public:
45 
46  // Constructors
48 
49  // Destructor
50  virtual ~RhoTotalMomentum();
51 
52  // accessors to get at results
53 
54  inline double TotalEnergy() const { return _total4Momentum.T(); }
55  inline double TotalMomentum() const { return TVector3 ( _total4Momentum.X(),_total4Momentum.Y(),_total4Momentum.Z() ).Mag(); }
56  inline TVector3 Total3Momentum() const { return TVector3 ( _total4Momentum.X(),_total4Momentum.Y(),_total4Momentum.Z() ); }
57  inline TLorentzVector Total4Momentum() const { return _total4Momentum; }
58 
59  inline double TotalEnergyCms() const { return _total4MomentumCms.T(); }
60  inline double TotalMomentumCms() const { return TVector3 ( _total4MomentumCms.X(),_total4MomentumCms.Y(),_total4MomentumCms.Z() ).Mag(); }
61  inline TVector3 Total3MomentumCms() const { return TVector3 ( _total4MomentumCms.X(),_total4MomentumCms.Y(),_total4MomentumCms.Z() ); }
62  inline TLorentzVector Total4MomentumCms() const { return _total4MomentumCms; }
63 
64  inline double TotalMass() const { return _total4Momentum.Mag(); }
65 
66  inline double MissingEnergy() const { return _missing4Momentum.T(); }
67  inline double MissingMomentum() const { return TVector3 ( _missing4Momentum.X(),_missing4Momentum.Y(),_missing4Momentum.Z() ).Mag(); }
68  inline TVector3 Missing3Momentum() const { return TVector3 ( _missing4Momentum.X(),_missing4Momentum.Y(),_missing4Momentum.Z() ); }
69  inline TLorentzVector Missing4Momentum() const { return _missing4Momentum; }
70 
71  inline double MissingEnergyCms() const { return _missing4MomentumCms.T(); }
72  inline double MissingMomentumCms() const { return TVector3 ( _missing4MomentumCms.X(),_missing4MomentumCms.Y(),_missing4MomentumCms.Z() ).Mag(); }
73  inline TVector3 Missing3MomentumCms() const { return TVector3 ( _missing4MomentumCms.X(),_missing4MomentumCms.Y(),_missing4MomentumCms.Z() ); }
74  inline TLorentzVector Missing4MomentumCms() const { return _missing4MomentumCms; }
75 
76  inline double MissingMass() const { return _missing4Momentum.Mag(); }
77 
78  protected:
79 
80  // Member data
81  TLorentzVector _total4Momentum;
82  TLorentzVector _total4MomentumCms;
83 
84  TLorentzVector _missing4Momentum;
85  TLorentzVector _missing4MomentumCms;
86 
87  public:
88  ClassDef ( RhoTotalMomentum,1 ) // A simple object to calculate the total 4 momentum in an event
89 };
90 
91 #endif
RhoTotalMomentum(RhoCandList &, const RhoEventInfo &)
TLorentzVector _total4Momentum
double MissingMomentumCms() const
double MissingEnergy() const
TVector3 Missing3MomentumCms() const
TLorentzVector Missing4Momentum() const
TLorentzVector _missing4MomentumCms
double MissingEnergyCms() const
double TotalMomentum() const
TVector3 Total3Momentum() const
double TotalEnergyCms() const
TVector3 Total3MomentumCms() const
TLorentzVector Total4Momentum() const
double TotalMass() const
TLorentzVector _total4MomentumCms
double MissingMomentum() const
TLorentzVector _missing4Momentum
double TotalEnergy() const
TLorentzVector Missing4MomentumCms() const
TVector3 Missing3Momentum() const
double TotalMomentumCms() const
TLorentzVector Total4MomentumCms() const
virtual ~RhoTotalMomentum()
double MissingMass() const