******** PTcomponent **********************
inline ostream& operator << (ostream& os , const pair<double, double>& p){
return os<<"("<<p.first <<","<<p.second<<")";
******************
inline LorentzVector& setTo(LorentzVector& lv, double a){
lv.setPx(a);
lv.setPy(a);
lv.setPz(a);
lv.setE(a);
return lv;
*****************
inline double sign(double x, double sign) {
return (sign>0)? abs(x) : -abs(x);
template
inline long sign(long x, long y) {
return (y>0)? abs(x) : -abs(x);