Index: /trunk/classes/DelphesHepMCReader.cc
===================================================================
--- /trunk/classes/DelphesHepMCReader.cc	(revision 1188)
+++ /trunk/classes/DelphesHepMCReader.cc	(revision 1189)
@@ -338,5 +338,5 @@
   pdgParticle = fPDG->GetParticle(fPID);
   candidate->Charge = pdgParticle ? int(pdgParticle->Charge()/3.0) : -999;
-  candidate->Mass = pdgParticle ? pdgParticle->Mass() : -999.9;
+  candidate->Mass = fMass;
 
   candidate->Momentum.SetPxPyPzE(fPx, fPy, fPz, fE);
Index: /trunk/classes/DelphesLHEFReader.cc
===================================================================
--- /trunk/classes/DelphesLHEFReader.cc	(revision 1188)
+++ /trunk/classes/DelphesLHEFReader.cc	(revision 1189)
@@ -181,5 +181,5 @@
   pdgParticle = fPDG->GetParticle(fPID);
   candidate->Charge = pdgParticle ? int(pdgParticle->Charge()/3.0) : -999;
-  candidate->Mass = pdgParticle ? pdgParticle->Mass() : -999.9;
+  candidate->Mass = fMass;
 
   candidate->Momentum.SetPxPyPzE(fPx, fPy, fPz, fE);
Index: /trunk/classes/DelphesSTDHEPReader.cc
===================================================================
--- /trunk/classes/DelphesSTDHEPReader.cc	(revision 1188)
+++ /trunk/classes/DelphesSTDHEPReader.cc	(revision 1189)
@@ -415,5 +415,5 @@
   int number;
   int pid, status, m1, m2, d1, d2;
-  double px, py, pz, e, m;
+  double px, py, pz, e, mass;
   double x, y, z, t;
 
@@ -439,5 +439,5 @@
     xdr_double(&bufferXDR[4], &pz);
     xdr_double(&bufferXDR[4], &e);
-    xdr_double(&bufferXDR[4], &m);
+    xdr_double(&bufferXDR[4], &mass);
 
     xdr_double(&bufferXDR[5], &x);
@@ -461,5 +461,5 @@
     pdgParticle = fPDG->GetParticle(pid);
     candidate->Charge = pdgParticle ? int(pdgParticle->Charge()/3.0) : -999;
-    candidate->Mass = pdgParticle ? pdgParticle->Mass() : -999.9;
+    candidate->Mass = mass;
 
     candidate->Momentum.SetPxPyPzE(px, py, pz, e);
Index: /trunk/readers/DelphesCMSFWLite.cpp
===================================================================
--- /trunk/readers/DelphesCMSFWLite.cpp	(revision 1188)
+++ /trunk/readers/DelphesCMSFWLite.cpp	(revision 1189)
@@ -57,5 +57,5 @@
 
   Int_t pid, status;
-  Double_t px, py, pz, e;
+  Double_t px, py, pz, e, mass;
   Double_t x, y, z;
 
@@ -73,5 +73,5 @@
     pid = particle.pdgId();
     status = particle.status();
-    px = particle.px(); py = particle.py(); pz = particle.pz(); e = particle.energy();
+    px = particle.px(); py = particle.py(); pz = particle.pz(); e = particle.energy(); mass = particle.mass();
     x = particle.vx(); y = particle.vy(); z = particle.vz();
 
Index: /trunk/readers/DelphesProMC.cpp
===================================================================
--- /trunk/readers/DelphesProMC.cpp	(revision 1188)
+++ /trunk/readers/DelphesProMC.cpp	(revision 1189)
@@ -53,5 +53,5 @@
 
   Int_t pid, status;
-  Double_t px, py, pz, e, mass;
+  Double_t px, py, pz, mass;
   Double_t x, y, z;
 
@@ -91,5 +91,4 @@
     px = mutableParticles->px(i); py = mutableParticles->py(i); pz = mutableParticles->pz(i); mass = mutableParticles->mass(i);
     x = mutableParticles->x(i); y = mutableParticles->y(i); z = mutableParticles->z(i);
-    e = TMath::Sqrt(px*px + py*py + pz*pz + mass*mass);
 
     candidate = factory->NewCandidate();
@@ -108,7 +107,7 @@
     pdgParticle = pdg->GetParticle(pid);
     candidate->Charge = pdgParticle ? Int_t(pdgParticle->Charge()/3.0) : -999;
-    candidate->Mass = pdgParticle ? pdgParticle->Mass() : -999.9;
-
-    candidate->Momentum.SetPxPyPzE(px, py, pz, e);
+    candidate->Mass = mass;
+
+    candidate->Momentum.SetXYZM(px, py, pz, mass);
 
     candidate->Position.SetXYZT(x, y, z, 0.0);
Index: /trunk/readers/DelphesPythia8.cpp
===================================================================
--- /trunk/readers/DelphesPythia8.cpp	(revision 1188)
+++ /trunk/readers/DelphesPythia8.cpp	(revision 1189)
@@ -43,5 +43,5 @@
 
   Int_t pid, status;
-  Double_t px, py, pz, e;
+  Double_t px, py, pz, e, mass;
   Double_t x, y, z, t;
 
@@ -77,5 +77,5 @@
     pid = particle.id();
     status = particle.status();
-    px = particle.px(); py = particle.py(); pz = particle.pz(); e = particle.e();
+    px = particle.px(); py = particle.py(); pz = particle.pz(); e = particle.e(); mass = particle.m();
     x = particle.xProd(); y = particle.yProd(); z = particle.zProd(); t = particle.tProd();
 
