Index: src/Actions/FragmentationAction/AnalyseFragmentationResultsAction.cpp
===================================================================
--- src/Actions/FragmentationAction/AnalyseFragmentationResultsAction.cpp	(revision eb32b6fbd2260e7c9b6380e6f02cc40925252bf9)
+++ src/Actions/FragmentationAction/AnalyseFragmentationResultsAction.cpp	(revision 1b5a407a0d61719031c6978e4898248baf9f165f)
@@ -112,5 +112,5 @@
         writeTable<MPQCDataEnergyMap_t, MPQCDataEnergyVector_noeigenvalues_t >()(
             results.Result_Energy_fused, results.getMaxLevel());
-    LOG(0, "Energy table is \n" << energyresult);
+    LOG(2, "DEBUG: Energy table is \n" << energyresult);
     std::string filename;
     filename += FRAGMENTPREFIX + std::string("_Energy.dat");
@@ -125,5 +125,5 @@
         writeTable<MPQCDataEnergyMap_t, MPQCDataEigenvalues_t >()(
             results.Result_Energy_fused, results.getMaxLevel());
-    LOG(0, "Eigenvalue table is \n" << eigenvalueresult);
+    LOG(2, "DEBUG: Eigenvalue table is \n" << eigenvalueresult);
     std::string filename;
     filename += FRAGMENTPREFIX + std::string("_Eigenvalues.dat");
@@ -138,5 +138,5 @@
         writeTable<MPQCDataEnergyMap_t, MPQCDataEigenhistogram_t >()(
             results.Result_Energy_fused, results.getMaxLevel());
-    LOG(0, "Eigenhistogram table is \n" << eigenhistogramresult);
+    LOG(2, "DEBUG: Eigenhistogram table is \n" << eigenhistogramresult);
     std::string filename;
     filename += FRAGMENTPREFIX + std::string("_Eigenhistogram.dat");
@@ -151,5 +151,5 @@
         writeTable<MPQCDataEnergyMap_t, MPQCDataEigenvalues_t >()(
             results.Result_Energy_fused, results.getMaxLevel());
-    LOG(0, "Eigenvalue table is \n" << eigenvalueresult);
+    LOG(2, "DEBUG: Eigenvalue table is \n" << eigenvalueresult);
     std::string filename;
     filename += FRAGMENTPREFIX + std::string("_Eigenvalues.dat");
@@ -161,5 +161,5 @@
         writeTable<MPQCDataForceMap_t, MPQCDataForceVector_t>()(
             results.Result_Force_fused, results.getMaxLevel());
-    LOG(0, "Force table is \n" << forceresult);
+    LOG(2, "DEBUG: Force table is \n" << forceresult);
     std::string filename;
     filename += FRAGMENTPREFIX + std::string("_Forces.dat");
@@ -176,5 +176,5 @@
         writeTable<MPQCDataTimeMap_t, MPQCDataTimeVector_noflops_t >()(
             results.Result_Time_fused, results.getMaxLevel());
-    LOG(0, "Times table is \n" << timesresult);
+    LOG(2, "DEBUG: Times table is \n" << timesresult);
     std::string filename;
     filename += FRAGMENTPREFIX + std::string("_Times.dat");
@@ -198,5 +198,5 @@
         writeTable<VMGDataMap_t, VMGDataVector_t >()(
             results.Result_LongRange_fused, results.getMaxLevel(), 2);
-    LOG(0, "VMG table is \n" << gridresult);
+    LOG(2, "DEBUG: VMG table is \n" << gridresult);
     std::string filename;
     filename += FRAGMENTPREFIX + std::string("_VMGEnergy.dat");
@@ -209,5 +209,5 @@
         writeTable<VMGDataLongRangeMap_t, VMGDataLongRangeVector_t >()(
             results.Result_LongRangeIntegrated_fused, results.getMaxLevel(), 2);
-    LOG(0, "LongRange table is \n" << gridresult);
+    LOG(2, "DEBUG: LongRange table is \n" << gridresult);
     std::string filename;
     filename += FRAGMENTPREFIX + std::string("_LongRangeEnergy.dat");
@@ -277,17 +277,21 @@
   homology_container.insert(values);
 
-  LOG(1, "INFO: Listing all present atomic ids ...");
-  std::stringstream output;
-  for (World::AtomIterator iter = World::getInstance().getAtomIter();
-      iter != World::getInstance().atomEnd(); ++iter)
-    output << (*iter)->getId() << " ";
-  LOG(1, "INFO: { " << output.str() << "} .");
+  if (DoLog(2)) {
+    LOG(2, "DEBUG: Listing all present atomic ids ...");
+    std::stringstream output;
+    for (World::AtomIterator iter = World::getInstance().getAtomIter();
+        iter != World::getInstance().atomEnd(); ++iter)
+      output << (*iter)->getId() << " ";
+    LOG(2, "DEBUG: { " << output.str() << "} .");
+  }
 
   // for debugging: print container
-  LOG(1, "INFO: Listing all present homologies ...");
-  for (HomologyContainer::container_t::const_iterator iter =
-      homology_container.begin(); iter != homology_container.end(); ++iter) {
-    LOG(1, "INFO: graph " << iter->first << " has Fragment "
-        << iter->second.first << " and associated energy " << iter->second.second << ".");
+  if (DoLog(2)) {
+    LOG(2, "DEBUG: Listing all present homologies ...");
+    for (HomologyContainer::container_t::const_iterator iter =
+        homology_container.begin(); iter != homology_container.end(); ++iter) {
+      LOG(2, "DEBUG: graph " << iter->first << " has Fragment "
+          << iter->second.first << " and associated energy " << iter->second.second << ".");
+    }
   }
 
Index: src/Fragmentation/Summation/IndexSetContainer.cpp
===================================================================
--- src/Fragmentation/Summation/IndexSetContainer.cpp	(revision eb32b6fbd2260e7c9b6380e6f02cc40925252bf9)
+++ src/Fragmentation/Summation/IndexSetContainer.cpp	(revision 1b5a407a0d61719031c6978e4898248baf9f165f)
@@ -56,5 +56,5 @@
         _AllIndices->insert((Index_t)*keyiter);
     }
-  LOG(1, "INFO: AllIndices is " << *_AllIndices << ".");
+  LOG(2, "DEBUG: AllIndices is " << *_AllIndices << ".");
 
   return _AllIndices;
Index: src/Fragmentation/Summation/OrthogonalSummation_impl.hpp
===================================================================
--- src/Fragmentation/Summation/OrthogonalSummation_impl.hpp	(revision eb32b6fbd2260e7c9b6380e6f02cc40925252bf9)
+++ src/Fragmentation/Summation/OrthogonalSummation_impl.hpp	(revision 1b5a407a0d61719031c6978e4898248baf9f165f)
@@ -19,4 +19,5 @@
 
 #include "Fragmentation/Summation/ZeroInstance.hpp"
+#include "Fragmentation/Summation/printKeyNames.hpp"
 
 /** Constructor of class OrthogonalSummation.
@@ -42,5 +43,5 @@
     subsetmap.reset(new SubsetMap(container));
   } else {
-    LOG(1, "INFO: Using given SubsetMap.");
+    LOG(2, "DEBUG: Using given SubsetMap for " << printKeyNames::printName<T>() << ".");
   }
   /// instantiate all SubSetValue's by requesting the IndexSet from the Subsetmap
@@ -48,5 +49,5 @@
   typename InputValues_t::iterator valueiter = values.begin();
   for (;valueiter != values.end(); ++indexiter, ++valueiter) {
-    LOG(1, "INFO: Adding set " << **indexiter << " with value " << *valueiter << ".");
+    LOG(2, "DEBUG: Adding set " << **indexiter << " with value " << *valueiter << ".");
     setvalues.addValue( *indexiter, *valueiter );
   }
@@ -71,10 +72,10 @@
   if (iter->first->size() <= level)
     sum = (iter->second)->getContribution();
-  LOG(1, "DEBUG: Contribution from subset "+toString(*(iter->second->getIndexSet()))
+  LOG(3, "DEBUG: Contribution from subset "+toString(*(iter->second->getIndexSet()))
       +" is "+toString(sum)+".");
   for(++iter;(iter != setvalues.end()) && (iter->first->size() <= level); ++iter) {
     const T tempvalue = (iter->second)->getContribution();
     sum += tempvalue;
-    LOG(1, "DEBUG: Contribution from subset "+toString(*(iter->second->getIndexSet()))
+    LOG(3, "DEBUG: Contribution from subset "+toString(*(iter->second->getIndexSet()))
         +" is "+toString(tempvalue)+".");
   }
Index: src/Fragmentation/Summation/SetValue.hpp
===================================================================
--- src/Fragmentation/Summation/SetValue.hpp	(revision eb32b6fbd2260e7c9b6380e6f02cc40925252bf9)
+++ src/Fragmentation/Summation/SetValue.hpp	(revision 1b5a407a0d61719031c6978e4898248baf9f165f)
@@ -111,5 +111,5 @@
    */
   const T calcSum() {
-    LOG(1, "INFO: Summing up contribution for " << *indices << ".");
+    LOG(2, "DEBUG: Summing up contribution for " << *indices << ".");
     // we initialize with value
     T result = getValue();
@@ -120,5 +120,5 @@
       for (IndexSetContainer::Container_t::const_iterator iter = subsets.begin();
           iter != subsets.end(); ++iter) {
-        LOG(2, "INFO: Current subset is " << **iter << ".");
+        LOG(3, "DEBUG: Current subset is " << **iter << ".");
         // NOTE: our subset is not contained in the number of subsets
         typename SetValue<T>::ptr ptr = lookupValue(*iter);
Index: src/Fragmentation/Summation/SetValues/Histogram.cpp
===================================================================
--- src/Fragmentation/Summation/SetValues/Histogram.cpp	(revision eb32b6fbd2260e7c9b6380e6f02cc40925252bf9)
+++ src/Fragmentation/Summation/SetValues/Histogram.cpp	(revision 1b5a407a0d61719031c6978e4898248baf9f165f)
@@ -226,5 +226,5 @@
     ASSERT( loweriter->first < upperiter->first,
         "Histogram::superposeOtherHistogram() - the bin range is invalid.");
-    LOG(4, "DEBUG: bin range here is ["
+    LOG(5, "DEBUG: bin range here is ["
         << loweriter->first << ","  << upperiter->first << ").");
 
@@ -240,5 +240,5 @@
       if (offsets.back() != nextbin.first)
         offsets.push_back(nextbin.first);
-      LOG(3, "DEBUG: Offsets are " << offsets << ".");
+      LOG(4, "DEBUG: Offsets are " << offsets << ".");
     }
 
@@ -258,5 +258,5 @@
       std::stringstream output;
       std::for_each( bins.begin(), bins.end(), PrintPair<Bin_t>(output));
-      LOG(2, "DEBUG: Bins are after summation " << output.str() << ".");
+      LOG(3, "DEBUG: Bins are after summation " << output.str() << ".");
     }
   }
@@ -278,5 +278,5 @@
 {
   superposeOtherHistogram(other, +1.);
-  LOG(2, "DEBUG: Bins after addition are " << printBins() << ".");
+  LOG(3, "DEBUG: Bins after addition are " << printBins() << ".");
   return *this;
 }
@@ -285,5 +285,5 @@
 {
   superposeOtherHistogram(other, -1.);
-  LOG(2, "DEBUG: Bins after subtraction are " << printBins() << ".");
+  LOG(3, "DEBUG: Bins after subtraction are " << printBins() << ".");
   return *this;
 }
Index: src/Fragmentation/Summation/SubsetMap.cpp
===================================================================
--- src/Fragmentation/Summation/SubsetMap.cpp	(revision eb32b6fbd2260e7c9b6380e6f02cc40925252bf9)
+++ src/Fragmentation/Summation/SubsetMap.cpp	(revision 1b5a407a0d61719031c6978e4898248baf9f165f)
@@ -79,7 +79,7 @@
   // get the sets size and the size of the power sets
   const size_t SetSize = ptr->size();
-  LOG(1, "INFO: Current set to gather all subsets for is " << *ptr << " with size " << SetSize << ".");
+  LOG(2, "DEBUG: Current set to gather all subsets for is " << *ptr << " with size " << SetSize << ".");
   const size_t NoPowerSubsets = getNoPowerSets(SetSize);
-  LOG(1, "INFO: There are " << NoPowerSubsets << " sets to check for containment.");
+  LOG(2, "DEBUG: There are " << NoPowerSubsets << " sets to check for containment.");
   std::vector<IndexSet> returnsets;
   // sets is the number of possible subsets to check: NotContained means still
@@ -102,24 +102,24 @@
         "SubsetMap::gatherSubsets() - distance from begin to iterator is not correct.");
     *tempset = getSubset(*ptr, index );
-    LOG(2, "INFO: Current subset is " << *tempset << " at " << index << ".");
+    LOG(3, "DEBUG: Current subset is " << *tempset << " at " << index << ".");
     // check whether IndexSet is contained and known
     if (ptr->contains(*tempset)) {
       // mark as contained
       *iter = Contained;
-      LOG(3, "DEBUG: Marking subset as Contained.");
+      LOG(4, "DEBUG: Marking subset as Contained.");
       if (Lookup.count(tempset)) {
-        LOG(2, "DEBUG: Subset is present in Lookup, adding.");
+        LOG(3, "DEBUG: Subset is present in Lookup, adding.");
         returnsets.push_back(*tempset);
         // if so, also add its contained sets and mark them out
         const IndexSetContainer::Container_t &container = getSubsets(tempset)->getContainer();
         if (container.size()) {
-          LOG(2, "DEBUG: Subset is also present in Lookup, adding all its subsets");
+          LOG(3, "DEBUG: Subset is also present in Lookup, adding all its subsets");
           for(IndexSetContainer::Container_t::const_iterator containeriter = container.begin();
               containeriter != container.end();
               ++containeriter) {
             const size_t subindex = getPowerSetIndex(ptr, **containeriter);
-            LOG(4, "INFO: Current subset of subset is " << **containeriter << " at " << subindex << ".");
+            LOG(5, "INFO: Current subset of subset is " << **containeriter << " at " << subindex << ".");
             if (sets[subindex] != Contained) {
-              LOG(5, "DEBUG: Setting power subset to Contained.");
+              LOG(6, "DEBUG: Setting power subset to Contained.");
               sets[subindex] = Contained;
               returnsets.push_back(**containeriter);
@@ -130,5 +130,5 @@
     }
   }
-  LOG(1, "INFO: Adding " << returnsets.size() << " sets to Lookup for set " << *ptr << ".");
+  LOG(2, "DEBUG: Adding " << returnsets.size() << " sets to Lookup for set " << *ptr << ".");
   Lookup.insert( std::make_pair(ptr, IndexSetContainer::ptr(new IndexSetContainer(returnsets))) );
 }
Index: src/Fragmentation/Summation/Summation_impl.hpp
===================================================================
--- src/Fragmentation/Summation/Summation_impl.hpp	(revision eb32b6fbd2260e7c9b6380e6f02cc40925252bf9)
+++ src/Fragmentation/Summation/Summation_impl.hpp	(revision 1b5a407a0d61719031c6978e4898248baf9f165f)
@@ -17,4 +17,6 @@
 #include "CodePatterns/IteratorAdaptors.hpp"
 #include "CodePatterns/Log.hpp"
+
+#include "Fragmentation/Summation/printKeyNames.hpp"
 
 /** Constructor of class Summation.
@@ -40,5 +42,5 @@
     subsetmap.reset(new SubsetMap(container));
   } else {
-    LOG(1, "INFO: Using given SubsetMap.");
+    LOG(2, "DEBUG: Using given SubsetMap for " << printKeyNames::printName<T>() << ".");
   }
   /// instantiate all SubSetValue's by requesting the IndexSet from the Subsetmap
@@ -46,5 +48,5 @@
   typename InputValues_t::iterator valueiter = values.begin();
   for (;valueiter != values.end(); ++indexiter, ++valueiter) {
-    LOG(1, "INFO: Adding set " << **indexiter << " with value " << *valueiter << ".");
+    LOG(2, "DEBUG: Adding set " << **indexiter << " with value " << *valueiter << ".");
     setvalues.addValue( *indexiter, *valueiter );
   }
@@ -69,10 +71,10 @@
   if (iter->first->size() <= level)
     sum = (iter->second)->getValue();
-  LOG(1, "DEBUG: Value from subset "+toString(*(iter->second->getIndexSet()))
+  LOG(3, "DEBUG: Value from subset "+toString(*(iter->second->getIndexSet()))
       +" is "+toString(sum)+".");
   for(++iter;(iter != setvalues.end()) && (iter->first->size() <= level); ++iter) {
     const T tempvalue = (iter->second)->getValue();
     sum += tempvalue;
-    LOG(1, "DEBUG: Value from subset "+toString(*(iter->second->getIndexSet()))
+    LOG(3, "DEBUG: Value from subset "+toString(*(iter->second->getIndexSet()))
         +" is "+toString(tempvalue)+".");
   }
