Index: /trunk/src/SmearUtil.cc
===================================================================
--- /trunk/src/SmearUtil.cc	(revision 403)
+++ /trunk/src/SmearUtil.cc	(revision 404)
@@ -194,5 +194,6 @@
   //for very forward detectors
   RP_offsetEl_s     = 120;    // distance of beam separation point, from IP
-  RP_offsetEl_x     = 0.097;
+  RP_offsetEl_x     = -0.097; // half distance of separation of beams in horizontal plan, in m
+  RP_offsetEl_y     = 0;      // half distance of separation of beams in vertical plan, in m
   RP_cross_x        = -500;   // IP offset in horizontal plane, in micrometers
   RP_cross_y        = 0.0;    // IP offset in vertical plane, in micrometers
@@ -312,4 +313,5 @@
   RP_offsetEl_s     = DET.RP_offsetEl_s;
   RP_offsetEl_x     = DET.RP_offsetEl_x;
+  RP_offsetEl_y     = DET.RP_offsetEl_y;
   RP_cross_x        = DET.RP_cross_x;
   RP_cross_y        = DET.RP_cross_y;
@@ -449,4 +451,5 @@
   RP_offsetEl_s     = DET.RP_offsetEl_s;
   RP_offsetEl_x     = DET.RP_offsetEl_x;
+  RP_offsetEl_y     = DET.RP_offsetEl_y;
   RP_beam1Card      = DET.RP_beam1Card;
   RP_beam2Card      = DET.RP_beam2Card;
@@ -529,4 +532,5 @@
     else if(strstr(temp_string.c_str(),"RP_offsetEl_s"))    {curstring >> varname >> value; RP_offsetEl_s     = value;}
     else if(strstr(temp_string.c_str(),"RP_offsetEl_x"))    {curstring >> varname >> value; RP_offsetEl_x     = value;}
+    else if(strstr(temp_string.c_str(),"RP_offsetEl_y"))    {curstring >> varname >> value; RP_offsetEl_y     = value;}
     else if(strstr(temp_string.c_str(),"RP_cross_x"))       {curstring >> varname >> value; RP_cross_x        = value;}
     else if(strstr(temp_string.c_str(),"RP_cross_y"))       {curstring >> varname >> value; RP_cross_y        = value;}
@@ -724,6 +728,8 @@
     f_out << left << setw(35) <<"* Datacard for beam 2: "<<""
           << left << setw(25) <<RP_beam2Card            <<""<< right << setw(10)<<"*"<<"\n";
-    f_out << left << setw(44) <<"* Beam separation, in meters:     "<<""
+    f_out << left << setw(44) <<"* Beam separation, in meters(hor):"<<""
           << left << setw(6) << RP_offsetEl_x          <<""<< right << setw(10)<<"*"<<"\n";
+    f_out << left << setw(44) <<"* Beam separation, in meters(ver):"<<""
+          << left << setw(6) << RP_offsetEl_y          <<""<< right << setw(10)<<"*"<<"\n";
     f_out << left << setw(44) <<"* Distance from IP for Beam separation (m):"<<""
           << left << setw(6) <<RP_offsetEl_s           <<""<< right << setw(10)<<"*"<<"\n";
@@ -1404,6 +1410,9 @@
     // ID name   chg       mass    total width   lifetime
     //  1 d      -1      0.33000     0.00000   0.00000E+00
+    //  in the table, the charge is in units of e+/3
+    //  the total width is in GeV
+    //  the lifetime is ctau in mm
     curstring >> ID >> name >> charge >> mass >> width >> lifetime;
-    PdgParticle particle(ID,name,mass,charge/3.,width,lifetime);
+    PdgParticle particle(ID,name,mass,charge/3.,width,lifetime/1000.);
     PDGtable.insert(ID,particle);
     //PdgTable.insert(pair<int,PdgParticle>(ID,particle));
@@ -1522,2 +1531,60 @@
 
 }
+
+void print_header() {
+  cout << endl << endl;
+  
+  cout <<"*********************************************************************"<< endl;
+  cout <<"*********************************************************************"<< endl;
+  cout <<"**                                                                 **"<< endl;
+  cout <<"**                            Welcome to                           **"<< endl;
+  cout <<"**                                                                 **"<< endl;
+  cout <<"**                                                                 **"<< endl;
+  cout <<"**     .ddddddd-            lL             hH                      **"<< endl;
+  cout <<"**     -Dd` `dD:           Ll             hH`                      **"<< endl;
+  cout <<"**     dDd   dDd    eeee.  lL  .pp+pp    Hh+hhh`   -eeee- `sssss   **"<< endl;
+  cout <<"**    -Dd   `DD   ee. ee  Ll   .Pp. PP   Hh. HH.  ee. ee  sSs      **"<< endl;
+  cout <<"**    dD`   dDd  eEeee:   lL.  pP.  pP  hH   hH` eEeee:` -sSSSs.   **"<< endl;
+  cout <<"**   .Dd  :dd    eE.     LlL   PpppPP   Hh  Hh   eE         sSS    **"<< endl;
+  cout <<"**   dddddd:.     eee+:  lL.  pp.      hh.  hh    eee+  sssssS     **"<< endl;
+  cout <<"**                            Pp                                   **"<< endl;
+  cout <<"**                                                                 **"<< endl;
+  cout <<"**           Delphes, a framework for the fast simulation          **"<< endl;
+  cout <<"**                 of a  generic collider experiment               **"<< endl;
+  cout <<"**                    arXiv:0903.2225v1 [hep-ph]                   **"<< endl;
+  cout <<"**                                                                 **"<< endl;
+  cout <<"**                  --- Version 1.6 of Delphes ---                 **"<< endl;
+  cout <<"**                Last date of change:    7 May 2009               **"<< endl;
+  cout <<"**                                                                 **"<< endl;
+  cout <<"**                                                                 **"<< endl;
+  cout <<"**     This package uses:                                          **"<< endl;
+  cout <<"**     ------------------                                          **"<< endl;
+  cout <<"**     FastJet algorithm: Phys. Lett. B641 (2006) [hep-ph/0512210] **"<< endl;
+  cout <<"**     Hector: JINST 2:P09005 (2007) [physics.acc-ph:0707.1198v2]  **"<< endl;
+  cout <<"**     FROG:                               [hep-ex/0901.2718v1]    **"<< endl;
+  cout <<"**                                                                 **"<< endl;
+  cout <<"**-----------------------------------------------------------------**"<< endl;
+  cout <<"**                                                                 **"<< endl;
+  cout <<"**   Main authors:                                                 **"<< endl;
+  cout <<"**   -------------                                                 **"<< endl;
+  cout <<"**                                                                 **"<< endl;
+  cout <<"**              SÃ©verine Ovyn               Xavier Rouby           **"<< endl;
+  cout <<"**       severine.ovyn@uclouvain.be      xavier.rouby@cern         **"<< endl;
+  cout <<"**       Center for Particle Physics and Phenomenology (CP3)       **"<< endl;
+  cout <<"**       Universite Catholique de Louvain (UCL)                    **"<< endl;
+  cout <<"**       Louvain-la-Neuve, Belgium                                 **"<< endl;
+  cout <<"**                                                                 **"<< endl;
+  cout <<"**-----------------------------------------------------------------**"<< endl;
+  cout <<"**                                                                 **"<< endl;
+  cout <<"**   Former Delphes versions and documentation can be found on :   **"<< endl;
+  cout <<"**               http://www.fynu.ucl.ac.be/delphes.html            **"<< endl;
+  cout <<"**                                                                 **"<< endl;
+  cout <<"**                                                                 **"<< endl;
+  cout <<"**   Disclaimer: this program is a beta version of Delphes and     **"<< endl;
+  cout <<"** therefore comes without guarantees. Beware of errors and please **"<< endl;
+  cout <<"**        give us your feedbacks about potential bugs              **"<< endl;
+  cout <<"**                                                                 **"<< endl;
+  cout <<"*********************************************************************"<< endl;
+  cout <<"*********************************************************************"<< endl;
+
+}
