evaluate(d,OpAssign(),s1);
zero_rep(d.elem());  for(int i=0; i < Layout::subgridVol(); ++i) d.elem() += forEach(s1, EvalLeaf1(i), OpCombine());   Internal::globalSum(d);
sum(const QDPExpr<RHS,OScalar<T> >& s1){  typename UnaryReturn<OScalar<T>, FnSum>::Type_t  d;  evaluate(d,OpAssign(),s1);   // since OScalar, no global sum needed  return d;}