Index: trunk/MagicSoft/Mars/mdata/MDataChain.cc
===================================================================
--- trunk/MagicSoft/Mars/mdata/MDataChain.cc	(revision 1361)
+++ trunk/MagicSoft/Mars/mdata/MDataChain.cc	(revision 1465)
@@ -162,7 +162,10 @@
 {
     int l = txt.Length();
-    for (int i = 0; i<l; i++)
-        if (!isalnum(txt[i]) && txt[i]!='.' && txt[i]!='-')
+    for (int i=0; i<l; i++)
+    {
+        if (!isalnum(txt[i]) && txt[i]!='.' &&
+            ((txt[i]!='-' && txt[i]!='+') || i!=0))
             return i;
+    }
 
     return l;
@@ -210,4 +213,5 @@
     if (txt=="sgn")   return kESgn;
     if (txt[0]=='-')  return kENegative;
+    if (txt[0]=='+')  return kEPositive;
 
     return kENoop;
@@ -324,5 +328,5 @@
         case '8':
         case '9':
-            if (txt[0]!='-' || isdigit(txt[1]) || txt[1]=='.')
+            if ((txt[0]!='-' && txt[0]!='+') || isdigit(txt[1]) || txt[1]=='.')
             {
                 char *end;
@@ -360,5 +364,5 @@
             txt = txt.Strip(TString::kBoth);
 
-            if (txt.IsNull() || txt[0]!='(')
+            if ((txt.IsNull() || txt[0]!='(') && text[0]!='-' && text[0]!='+')
             {
                 newmember = new MDataMember(text.Data());
@@ -376,5 +380,5 @@
 
             Int_t first = GetBracket(txt);
-            TString sub = op==kENegative ? text.Remove(0,1) + txt : txt(1, first-1);
+            TString sub = op==kENegative || op==kEPositive ? text.Remove(0,1) + txt : txt(1, first-1);
             txt.Remove(0, first+1);
 
@@ -435,4 +439,5 @@
     case kESgn:      return val<0 ? -1 : 1;
     case kENegative: return -val;
+    case kEPositive: return val;
     case kENoop:     return val;
     }
@@ -466,4 +471,5 @@
     case kESgn:      *fLog << "sgn"   << flush; break;
     case kENegative: *fLog << "-" << flush; break;
+    case kEPositive: *fLog << "+" << flush; break;
     case kENoop:
         break;
Index: trunk/MagicSoft/Mars/mdata/MDataChain.h
===================================================================
--- trunk/MagicSoft/Mars/mdata/MDataChain.h	(revision 1361)
+++ trunk/MagicSoft/Mars/mdata/MDataChain.h	(revision 1465)
@@ -37,4 +37,5 @@
         kEExp,
         kESgn,
+        kEPositive,
         kENegative
     } OperatorType_t;
