Index: trunk/interface/SmearUtil.h
===================================================================
--- trunk/interface/SmearUtil.h	(revision 453)
+++ trunk/interface/SmearUtil.h	(revision 454)
@@ -226,6 +226,6 @@
 
  string PdgTableFilename;
- //map<int,PdgParticle> PdgTable;
  PdgTable PDGtable;
+ string inputfilelist, detectorcard, triggercard;
 
   // to sort a vector
Index: trunk/src/SmearUtil.cc
===================================================================
--- trunk/src/SmearUtil.cc	(revision 453)
+++ trunk/src/SmearUtil.cc	(revision 454)
@@ -45,4 +45,5 @@
 #include <iomanip>
 #include <map>
+#include <vector>
 using namespace std;
 
@@ -207,5 +208,7 @@
 
   PdgTableFilename  = "data/particle.tbl";
-  
+  inputfilelist     = "";
+  detectorcard      = "";
+  triggercard       = "";
 }
 
@@ -352,4 +355,7 @@
   PdgTableFilename = DET.PdgTableFilename;
   PDGtable         = DET.PDGtable;
+  inputfilelist    = DET.inputfilelist;
+  detectorcard     = DET.detectorcard;
+  triggercard      = DET.triggercard;
 }
 
@@ -497,9 +503,17 @@
   PdgTableFilename = DET.PdgTableFilename;
   PDGtable	   = DET.PDGtable;
+
+  inputfilelist    = DET.inputfilelist;
+  detectorcard     = DET.detectorcard;
+  triggercard      = DET.triggercard;
+
   return *this;
 }
 
-
-
+void RESOLution::setNames(const string& list, const string& det, const string& trig) {
+  inputfilelist    = list;
+  detectorcard     = det;
+  triggercard      = trig;
+}
 
 //------------------------------------------------------------------------------
@@ -648,6 +662,20 @@
 
 void RESOLution::Logfile(const string& LogName) { 
-  //void RESOLution::Logfile(string outputfilename) { 
-  
+
+  // creates the list of good input files
+  // this list is vector<string> inputfiles.
+  ifstream infile(inputfilelist.c_str());
+  vector<string> inputfiles;
+  string filename;
+  while(1) {
+      infile >> filename;                           // reads the first line of the list
+      if(!infile.good()) break;                     // quits when at the end of the list
+      ifstream checking_the_file(filename.c_str()); // try to open the file
+      if(!checking_the_file.good()) continue;       // skips bad/unknown files
+      else checking_the_file.close();               // close file if found
+      inputfiles.push_back(filename);               // append the name to the vector
+  }
+  infile.close();
+
   ofstream f_out(LogName.c_str());
 
@@ -704,5 +732,28 @@
   f_out <<"**                                                                  **"<< endl;
   f_out<<"#>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"<<"\n"; 
-  f_out<<"#  Input PDG table : " << PdgTableFilename << "                               *"<<"\n";
+  f_out <<"*                                                                    *"<< endl;
+  f_out <<"#********************************                                    *"<<"\n";
+  f_out <<"# Input files                                                        *"<<"\n";
+  f_out <<"#********************************                                    *"<<"\n";
+  f_out << left << setw(22) <<"*  Input list  "<<""
+        << left << setw(39) << inputfilelist << "" << right << setw(9) << "*"<<"\n";
+  for (unsigned int i =0; i<inputfiles.size(); i++) {
+     f_out << left << setw(22) <<"*  - file  "<<""
+           << left << setw(43) << inputfiles[i] << "" << right << setw(5) << "*"<<"\n";
+  }
+  if(detectorcard != "")
+     f_out << left << setw(22) <<"*  Detector card   "<<""
+           << left << setw(39) << detectorcard << "" << right << setw(9) << "*"<<"\n";
+  if(triggercard != "")
+     f_out << left << setw(22) <<"*  Trigger card    "<<""
+        << left << setw(39) << triggercard << "" << right << setw(9) << "*"<<"\n";
+  f_out<<"*  Beam optics :                                                     *"<<"\n";
+  f_out << left << setw(22) <<"*  - beam 1   "<<""
+        << left << setw(33) << RP_beam1Card << "" << right << setw(15) << "*"<<"\n";
+  f_out << left << setw(22) <<"*  - beam 2   "<<""
+        << left << setw(33) << RP_beam2Card << "" << right << setw(15) << "*"<<"\n";
+  f_out << left << setw(22) <<"*  Input PDG table   " << ""
+        << left << setw(39) << PdgTableFilename << "" << right << setw(9) << "*"<<"\n";
+
   f_out<<"*                                                                    *"<<"\n";
   f_out<<"*                                                                    *"<<"\n";
