//-------------------------------------------------------
// example32.C
// pi0 -> gamma gamma decay calculations
// all values are in MeV
//-------------------------------------------------------
void example22(){
  // input data
  double p0 = 500; // MeV
  double m  = 135; // MeV
  double E  = sqrt(p0*p0 + m*m); // MeV
  double betaz = p0 / E;

  cout << "pi0 momentum : " << p0 << endl;

  // CM frame
  double E1, E2, p1z, p2z;
  E1 = E2 = m / 2.0;
  p1z = E1;
  p2z = -p1z;
  TLorentzVector gamma1, gamma2;
  gamma1.SetXYZM(0,0,p1z,0);
  gamma2.SetXYZM(0,0,p2z,0);
  cout << "CM photon energies : " << gamma1.E() << " " << gamma2.E() << endl;

  // lab frame
  // Boost() function modifies 4-vector components
  gamma1.Boost(0,0,betaz);
  gamma2.Boost(0,0,betaz);
  cout << "Boosted photon energies : " << gamma1.E() << " " << gamma2.E() << endl;
}
