+ // cout <<" ratio of k_q.k_p="<<kpdotq/(uq*zq*_p_boson.dot(_p_photon)) <<"\n";
+ // if (uq!=kpdotq/kphoton.dot(kquark+kboson)) {cout<<" !!!!!!!!!!!!!!!!!!!!!!!!!uq is wrong!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"<<" uq="<<uq<<" ?="<<kpdotq/kphoton.dot(kquark+kboson)<<"\n";}
+ // if (zq!=kphoton.dot(kquark+kboson)/(kphoton.dot(kquark+kboson)+kquark.dot(kboson)))
+ // {cout<<" !!!!!!!!!!!!!!!!!!!!!!!!!zq is wrong!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"<<" zq="<<zq<<" ?="
+ //generator()->log()<<"@@@@@@check the frame: Born conserve?= "<<_p_photon.isNear(_p_partona+_p_partonb-_p_boson, 0.000000000001)<<" (_p_partona+_p_partonb).z= "<<(_p_partona.z()+_p_partonb.z())/GeV<<"\n";
+ //generator()->log()<<"~~~~~~ test rotation in CM frame: photon.z= "<<kpgt.z()/GeV<<" boson.z="<<kvgt.z()/GeV<<" photon.e="<<kpgt.e()/GeV<<" smm2/(2.0*systemMass_="