MINT2
SpinSumV.h
Go to the documentation of this file.
1 #ifndef SPIN_SUM_V_HH
2 #define SPIN_SUM_V_HH
3 // author: Jonas Rademacker (Jonas.Rademacker@bristol.ac.uk)
4 // status: Mon 9 Feb 2009 19:18:13 GMT
5 
6 #include "TLorentzVector.h"
7 #include "Mint/Utils.h"
8 #include <iostream>
9 
10 class SpinSumV{ // spin sum for Vector->PP
11  protected:
12  TLorentzVector _p; // pA + pB (pA, pB are the 4-mom of dgtrs)
13  double _mR; // nominal mass of resonance.
14  public:
15  SpinSumV(const TLorentzVector& p, double mR)
16  : _p(p)
17  , _mR(mR)
18  {}
19 
20  TLorentzVector Dot(const TLorentzVector& rhs) const{
21  /*
22  std::cout << " rhs = " << rhs
23  << ", _p = " << _p
24  << ", _mR " << _mR
25  << " _p.Dot(rhs) " << _p.Dot(rhs)
26  << " _mR * _mR " << _mR*_mR
27  << ", ( _p.Dot(rhs) / _mR*_mR ); " << ( _p.Dot(rhs) / _mR*_mR )
28  << std::endl;
29  */
30  return -rhs + _p * ( _p.Dot(rhs) / (_mR*_mR) );
31  }
32  double Sandwich( const TLorentzVector& lhs
33  , const TLorentzVector& rhs) const{
34  return lhs.Dot(this->Dot(rhs));
35  }
36 
37 };
38 
39 // this implements, I hope,
40 // hep-ex 0011065v2, page 5 (CLEO)
41 #endif
42 //
double _mR
Definition: SpinSumV.h:13
TLorentzVector Dot(const TLorentzVector &rhs) const
Definition: SpinSumV.h:20
double Sandwich(const TLorentzVector &lhs, const TLorentzVector &rhs) const
Definition: SpinSumV.h:32
SpinSumV(const TLorentzVector &p, double mR)
Definition: SpinSumV.h:15
TLorentzVector _p
Definition: SpinSumV.h:12