MINT2
SpinSumT.h
Go to the documentation of this file.
1 #ifndef SPIN_SUM_T_HH
2 #define SPIN_SUM_T_HH
3 // author: Jonas Rademacker (Jonas.Rademacker@bristol.ac.uk)
4 // status: Mon 9 Feb 2009 19:18:13 GMT
5 
6 #include "Mint/SpinSumV.h"
7 
8 #include "TLorentzVector.h"
9 
10 #include <iostream>
11 
12 class SpinSumT{
13  protected:
15  public:
16  SpinSumT(const TLorentzVector& p, double mR)
17  : _sv(p, mR)
18  {}
19  double Sandwich( const TLorentzVector& lm
20  , const TLorentzVector& ln
21  , const TLorentzVector& ra
22  , const TLorentzVector& rb
23  ){
24 
25  double manb = _sv.Sandwich(lm, ra) * _sv.Sandwich(ln, rb);
26  double mbna = _sv.Sandwich(lm, rb) * _sv.Sandwich(ln, ra);
27  double mnab = _sv.Sandwich(lm, ln) * _sv.Sandwich(ra, rb);
28 
29  /*
30  std::cout << "manb " << manb
31  << ", mbna " << mbna
32  << ", mban " << mnab
33  << std::endl;
34  */
35  return (1./2.)*(manb + mbna) - (1./3.)*mnab;
36 
37 
38 
39  }
40 };
41 
42 #endif
43 
44 //
double Sandwich(const TLorentzVector &lhs, const TLorentzVector &rhs) const
Definition: SpinSumV.h:32
SpinSumV _sv
Definition: SpinSumT.h:14
SpinSumT(const TLorentzVector &p, double mR)
Definition: SpinSumT.h:16
double Sandwich(const TLorentzVector &lm, const TLorentzVector &ln, const TLorentzVector &ra, const TLorentzVector &rb)
Definition: SpinSumT.h:19