Index: src/Fragmentation/Summation/Containers/FragmentationResultContainer.cpp
===================================================================
--- src/Fragmentation/Summation/Containers/FragmentationResultContainer.cpp	(revision e0ae58d2284a52b479b4bafd7533855451f64a6c)
+++ src/Fragmentation/Summation/Containers/FragmentationResultContainer.cpp	(revision 16893fd85d85ee4277ce29485e83a7aa2cc43533)
@@ -96,4 +96,12 @@
 }
 
+void FragmentationResultContainer::addShortRangeSummedResults(
+    const FragmentationShortRangeResults::summedshortrange_t &_summedshortrange
+    )
+{
+  OBSERVE;
+  summedshortrange.insert(_summedshortrange.begin(), _summedshortrange.end());
+}
+
 #ifdef HAVE_VMG
 const FragmentationResultContainer::longrangedata_t&
Index: src/Fragmentation/Summation/Containers/FragmentationResultContainer.hpp
===================================================================
--- src/Fragmentation/Summation/Containers/FragmentationResultContainer.hpp	(revision e0ae58d2284a52b479b4bafd7533855451f64a6c)
+++ src/Fragmentation/Summation/Containers/FragmentationResultContainer.hpp	(revision 16893fd85d85ee4277ce29485e83a7aa2cc43533)
@@ -29,5 +29,8 @@
 
 #include "Fragmentation/KeySetsContainer.hpp"
+#include "Fragmentation/Summation/IndexSet.hpp"
+#include "Fragmentation/Summation/Containers/FragmentationShortRangeResults.hpp"
 #include "Fragmentation/Summation/Containers/MPQCData.hpp"
+#include "Fragmentation/Summation/Containers/MPQCDataMap.hpp"
 #ifdef HAVE_VMG
 #include "Fragmentation/Summation/Containers/VMGData.hpp"
@@ -94,4 +97,14 @@
       );
 
+  /** Adds a a set of summed short range results.
+   *
+   * Adds all the containers to the ones present in this instance.
+   *
+   * \param _summedshortrange energy results per index set
+   */
+  void addShortRangeSummedResults(
+      const FragmentationShortRangeResults::summedshortrange_t &_summedshortrange
+      );
+
   /** Adds given cycles to internal keyset list.
    *
@@ -111,4 +124,5 @@
     forcekeysets.clear();
     shortrangedata.clear();
+    summedshortrange.clear();
 #ifdef HAVE_VMG
     longrangedata.clear();
@@ -121,4 +135,5 @@
   const KeySetsContainer &getForceKeySets() const  { return forcekeysets; }
   const shortrangedata_t& getShortRangeResults() const  { return shortrangedata; }
+  const FragmentationShortRangeResults::summedshortrange_t& getShortRangeSummedResults() const  { return summedshortrange; }
 #ifdef HAVE_VMG
   const longrangedata_t& getLongRangeResults() const;
@@ -141,4 +156,6 @@
   //! container of all cycle keysets
   KeySetsContainer cycles;
+  //!> container for summed up results per index set
+  FragmentationShortRangeResults::summedshortrange_t summedshortrange;
 
 #ifdef HAVE_VMG
@@ -158,4 +175,6 @@
     if (version > 0)
       ar & cycles;
+    if (version > 1)
+      ar & summedshortrange;
 #ifdef HAVE_VMG
     ar & longrangedata;
@@ -165,5 +184,5 @@
 
 // version for serialized information associated to FragmentationResultContainer
-BOOST_CLASS_VERSION(FragmentationResultContainer, 1)
+BOOST_CLASS_VERSION(FragmentationResultContainer, 2)
 
 #endif /* FRAGMENTATIONRESULTCONTAINER_HPP_ */
Index: src/Fragmentation/Summation/Containers/FragmentationShortRangeResults.cpp
===================================================================
--- src/Fragmentation/Summation/Containers/FragmentationShortRangeResults.cpp	(revision e0ae58d2284a52b479b4bafd7533855451f64a6c)
+++ src/Fragmentation/Summation/Containers/FragmentationShortRangeResults.cpp	(revision 16893fd85d85ee4277ce29485e83a7aa2cc43533)
@@ -39,4 +39,5 @@
 #include "FragmentationShortRangeResults.hpp"
 
+#include <boost/fusion/container/map.hpp>
 #include <boost/mpl/for_each.hpp>
 #include <boost/mpl/remove.hpp>
@@ -117,2 +118,18 @@
   }
 }
+
+const FragmentationShortRangeResults::summedshortrange_t
+FragmentationShortRangeResults::getSummedShortRangeResults() const
+{
+  summedshortrange_t results;
+  typedef std::map<IndexSet::ptr, std::pair<MPQCDataEnergyMap_t,MPQCDataEnergyMap_t> > maptype_t;
+  for (typename maptype_t::const_iterator resultiter = Result_perIndexSet_Energy.begin();
+      resultiter != Result_perIndexSet_Energy.end(); ++resultiter) {
+    MPQCData values;
+    values.energies.total = boost::fusion::at_key<MPQCDataFused::energy_total>(resultiter->second.first);
+    MPQCData contributions;
+    contributions.energies.total = boost::fusion::at_key<MPQCDataFused::energy_total>(resultiter->second.second);
+    results.insert( std::make_pair( resultiter->first, std::make_pair(values, contributions) ) );
+  }
+  return results;
+}
Index: src/Fragmentation/Summation/Containers/FragmentationShortRangeResults.hpp
===================================================================
--- src/Fragmentation/Summation/Containers/FragmentationShortRangeResults.hpp	(revision e0ae58d2284a52b479b4bafd7533855451f64a6c)
+++ src/Fragmentation/Summation/Containers/FragmentationShortRangeResults.hpp	(revision 16893fd85d85ee4277ce29485e83a7aa2cc43533)
@@ -79,4 +79,7 @@
   }
 
+  typedef std::map<IndexSet::ptr, std::pair<MPQCData,MPQCData> > summedshortrange_t;
+  const summedshortrange_t getSummedShortRangeResults() const;
+
 private:
   void initLookups(
