Index: /trunk/Makefile
===================================================================
--- /trunk/Makefile	(revision 1099)
+++ /trunk/Makefile	(revision 1100)
@@ -185,4 +185,5 @@
 	modules/ConstituentFilter.h \
 	modules/StatusPidFilter.h \
+	modules/Cloner.h \
 	modules/ExampleModule.h
 tmp/external/ExRootAnalysis/ExRootAnalysisDict.$(SrcSuf): \
@@ -437,4 +438,13 @@
 	modules/TrackPileUpSubtractor.$(SrcSuf) \
 	modules/TrackPileUpSubtractor.h \
+	classes/DelphesClasses.h \
+	classes/DelphesFactory.h \
+	classes/DelphesFormula.h \
+	external/ExRootAnalysis/ExRootResult.h \
+	external/ExRootAnalysis/ExRootFilter.h \
+	external/ExRootAnalysis/ExRootClassifier.h
+tmp/modules/Cloner.$(ObjSuf): \
+	modules/Cloner.$(SrcSuf) \
+	modules/Cloner.h \
 	classes/DelphesClasses.h \
 	classes/DelphesFactory.h \
@@ -758,4 +768,5 @@
 	tmp/modules/PileUpMerger.$(ObjSuf) \
 	tmp/modules/TrackPileUpSubtractor.$(ObjSuf) \
+	tmp/modules/Cloner.$(ObjSuf) \
 	tmp/modules/JetPileUpSubtractor.$(ObjSuf) \
 	tmp/modules/MomentumSmearing.$(ObjSuf) \
@@ -1060,4 +1071,8 @@
 	@touch $@
 
+modules/Cloner.h: \
+	classes/DelphesModule.h
+	@touch $@
+
 external/fastjet/PseudoJet.hh: \
 	external/fastjet/internal/numconsts.hh \
Index: /trunk/modules/Cloner.cc
===================================================================
--- /trunk/modules/Cloner.cc	(revision 1100)
+++ /trunk/modules/Cloner.cc	(revision 1100)
@@ -0,0 +1,82 @@
+
+/** \class Clone
+ *
+ *  Clone candidate array
+ *
+ *  $Date$
+ *  $Revision$
+ *
+ *  \author M. Selvaggi - UCL, Louvain-la-Neuve
+ *
+ */
+
+#include "modules/Cloner.h"
+
+#include "classes/DelphesClasses.h"
+#include "classes/DelphesFactory.h"
+#include "classes/DelphesFormula.h"
+
+#include "ExRootAnalysis/ExRootResult.h"
+#include "ExRootAnalysis/ExRootFilter.h"
+#include "ExRootAnalysis/ExRootClassifier.h"
+
+#include <algorithm>
+#include <stdexcept>
+#include <iostream>
+#include <sstream>
+
+using namespace std;
+
+//------------------------------------------------------------------------------
+
+Cloner::Cloner() :
+  fItInputArray(0)
+{
+
+}
+
+//------------------------------------------------------------------------------
+
+Cloner::~Cloner()
+{
+
+}
+
+//------------------------------------------------------------------------------
+
+void Cloner::Init()
+{
+  // import input array(s)
+
+  fInputArray = ImportArray(GetString("InputArray", "FastJetFinder/jets"));
+  fItInputArray = fInputArray->MakeIterator();
+
+  // create output array(s)
+
+  fOutputArray = ExportArray(GetString("OutputArray", "jets"));
+
+}
+
+//------------------------------------------------------------------------------
+
+void Cloner::Finish()
+{
+  if(fItInputArray) delete fItInputArray;
+}
+
+//------------------------------------------------------------------------------
+
+void Cloner::Process()
+{
+  Candidate *candidate;
+ 
+ // loop over all input candidates
+  fItInputArray->Reset();
+  while((candidate = static_cast<Candidate*>(fItInputArray->Next())))
+  {
+    candidate = static_cast<Candidate*>(candidate->Clone());
+    fOutputArray->Add(candidate);
+  }
+}
+
+//------------------------------------------------------------------------------
Index: /trunk/modules/Cloner.h
===================================================================
--- /trunk/modules/Cloner.h	(revision 1100)
+++ /trunk/modules/Cloner.h	(revision 1100)
@@ -0,0 +1,43 @@
+#ifndef Clone_h
+#define Clone_h
+
+/** \class Clone
+ *
+ *  Clone candidate array
+ *
+ *  $Date$
+ *  $Revision$
+ *
+ *  \author M. Selvaggi - UCL, Louvain-la-Neuve
+ *
+ */
+
+#include "classes/DelphesModule.h"
+
+#include <deque>
+
+class TObjArray;
+class DelphesFormula;
+
+class Cloner: public DelphesModule
+{
+public:
+
+  Cloner();
+  ~Cloner();
+
+  void Init();
+  void Process();
+  void Finish();
+
+private:
+
+  TIterator *fItInputArray; //!
+
+  const TObjArray *fInputArray; //!
+  TObjArray *fOutputArray; //!
+
+  ClassDef(Cloner, 1)
+};
+
+#endif
