diff --git a/Trigger/TrigT1/L1Topo/L1TopoAlgorithms/CMakeLists.txt b/Trigger/TrigT1/L1Topo/L1TopoAlgorithms/CMakeLists.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f732df52dd4b1d12e4c3b8c1cbaa1b48cc5d673a
--- /dev/null
+++ b/Trigger/TrigT1/L1Topo/L1TopoAlgorithms/CMakeLists.txt
@@ -0,0 +1,66 @@
+# $Id: CMakeLists.txt 730711 2016-03-17 13:37:39Z krasznaa $
+################################################################################
+# Package: L1TopoAlgorithms
+################################################################################
+
+# Declare the package name:
+atlas_subdir( L1TopoAlgorithms )
+
+# Declare the package's dependencies:
+atlas_depends_on_subdirs(
+   PUBLIC
+   Trigger/TrigT1/L1Topo/L1TopoEvent
+   Trigger/TrigT1/L1Topo/L1TopoInterfaces
+   PRIVATE
+   Trigger/TrigT1/L1Topo/L1TopoSimulationUtils )
+
+# External dependencies:
+find_package( Boost )
+find_package( ROOT COMPONENTS Core Hist )
+
+# Make sure that the executable of the package gets linked against all of its
+# dependencies:
+string( REPLACE "-Wl,--as-needed" "" CMAKE_EXE_LINKER_FLAGS
+   "${CMAKE_EXE_LINKER_FLAGS}" )
+
+# The component(s) in the package:
+atlas_add_library( L1TopoAlgorithms
+   L1TopoAlgorithms/*.h Root/*.cxx
+   PUBLIC_HEADERS L1TopoAlgorithms
+   PRIVATE_INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS}
+   LINK_LIBRARIES L1TopoEvent L1TopoInterfaces
+   PRIVATE_LINK_LIBRARIES ${ROOT_LIBRARIES} ${Boost_LIBRARIES}
+   L1TopoSimulationUtils )
+
+atlas_add_executable( TrigConfL1TopoGenPyAlg
+   src/test/L1TopoGenPyAlg.cxx
+   LINK_LIBRARIES L1TopoAlgorithms )
+
+# Install files from the package:
+atlas_install_python_modules( python/*.py )
+
+# In release recompilation mode only parse the following if the package is
+# being rebuilt:
+if( ATLAS_RELEASE_RECOMPILE_DRYRUN )
+   return()
+endif()
+if( ATLAS_RELEASE_MODE AND NOT ATLAS_PACKAGE_RECOMPILE )
+   return()
+endif()
+
+# Create an auto-generated python description of the available algorithms:
+add_custom_command( OUTPUT
+   ${CMAKE_PYTHON_OUTPUT_DIRECTORY}/L1TopoAlgorithms/L1TopoAlgConfig.py
+   COMMAND ${CMAKE_COMMAND} -E make_directory
+   ${CMAKE_PYTHON_OUTPUT_DIRECTORY}/L1TopoAlgorithms
+   COMMAND ${CMAKE_BINARY_DIR}/atlas_build_run.sh TrigConfL1TopoGenPyAlg
+   ${CMAKE_PYTHON_OUTPUT_DIRECTORY}/L1TopoAlgorithms/L1TopoAlgConfig.py
+   DEPENDS TrigConfL1TopoGenPyAlg )
+add_custom_target( L1TopoPyGenAlg ALL SOURCES
+   ${CMAKE_PYTHON_OUTPUT_DIRECTORY}/L1TopoAlgorithms/L1TopoAlgConfig.py )
+add_dependencies( Package_L1TopoAlgorithms L1TopoPyGenAlg )
+
+# Install the auto-generated file:
+install( FILES
+   ${CMAKE_PYTHON_OUTPUT_DIRECTORY}/L1TopoAlgorithms/L1TopoAlgConfig.py
+   DESTINATION ${CMAKE_INSTALL_PYTHONDIR}/L1TopoAlgorithms OPTIONAL )
diff --git a/Trigger/TrigT1/L1Topo/L1TopoAlgorithms/Root/DeltaEtaIncl1.cxx b/Trigger/TrigT1/L1Topo/L1TopoAlgorithms/Root/DeltaEtaIncl1.cxx
index a3ad9768297f9631ef74829d6e2461a24cabeee7..10a6908a06ec7a593c386e347120822225fcb0f5 100644
--- a/Trigger/TrigT1/L1Topo/L1TopoAlgorithms/Root/DeltaEtaIncl1.cxx
+++ b/Trigger/TrigT1/L1Topo/L1TopoAlgorithms/Root/DeltaEtaIncl1.cxx
@@ -13,6 +13,7 @@
 #include <string>
 #include <iostream>
 #include <sstream>
+#include <vector>
 #include "TH1F.h"
 
 #include "L1TopoAlgorithms/DeltaEtaIncl1.h"
@@ -95,8 +96,8 @@ TCS::DeltaEtaIncl1::initialize() {
    TRG_MSG_INFO("number output : " << numberOutputBits());
 
    // create strings for histogram names
-   ostringstream MyAcceptHist[numberOutputBits()];
-   ostringstream MyRejectHist[numberOutputBits()];
+   vector<ostringstream> MyAcceptHist(numberOutputBits());
+   vector<ostringstream> MyRejectHist(numberOutputBits());
    
    for (unsigned int i=0;i<numberOutputBits();i++) {
      MyAcceptHist[i] << "Accept" << p_DeltaEtaMin[i] << "DEta"; 
diff --git a/Trigger/TrigT1/L1Topo/L1TopoAlgorithms/Root/DeltaEtaIncl2.cxx b/Trigger/TrigT1/L1Topo/L1TopoAlgorithms/Root/DeltaEtaIncl2.cxx
index 157788dd8a19f240023f635ed5bc2621f0f4e197..bbb691d73e87100feeec84beb7f447fd68e6a13b 100644
--- a/Trigger/TrigT1/L1Topo/L1TopoAlgorithms/Root/DeltaEtaIncl2.cxx
+++ b/Trigger/TrigT1/L1Topo/L1TopoAlgorithms/Root/DeltaEtaIncl2.cxx
@@ -13,6 +13,7 @@
 #include <string>
 #include <iostream>
 #include <sstream>
+#include <vector>
 #include "TH1F.h"
 
 #include "L1TopoAlgorithms/DeltaEtaIncl2.h"
@@ -92,8 +93,8 @@ TCS::DeltaEtaIncl2::initialize() {
    TRG_MSG_INFO("number output : " << numberOutputBits());
 
    // create strings for histogram names
-   ostringstream MyAcceptHist[numberOutputBits()];
-   ostringstream MyRejectHist[numberOutputBits()];
+   vector<ostringstream> MyAcceptHist(numberOutputBits());
+   vector<ostringstream> MyRejectHist(numberOutputBits());
    
    for (unsigned int i=0;i<numberOutputBits();i++) {
      MyAcceptHist[i] << "Accept" << p_DeltaEtaMin[i] << "DEta"; 
diff --git a/Trigger/TrigT1/L1Topo/L1TopoAlgorithms/Root/DeltaPhiIncl2.cxx b/Trigger/TrigT1/L1Topo/L1TopoAlgorithms/Root/DeltaPhiIncl2.cxx
index edb45232d9b16aa529273874f66fad90f5368f77..dc0131b27b88cd3a05fb964991bd759a5418e839 100644
--- a/Trigger/TrigT1/L1Topo/L1TopoAlgorithms/Root/DeltaPhiIncl2.cxx
+++ b/Trigger/TrigT1/L1Topo/L1TopoAlgorithms/Root/DeltaPhiIncl2.cxx
@@ -13,6 +13,7 @@
 #include <string>
 #include <iostream>
 #include <sstream>
+#include <vector>
 #include "TH1F.h"
 
 #include "L1TopoAlgorithms/DeltaPhiIncl2.h"
@@ -90,8 +91,8 @@ TCS::DeltaPhiIncl2::initialize() {
    TRG_MSG_INFO("number output : " << numberOutputBits());
 
    // create strings for histogram names
-   ostringstream MyAcceptHist[numberOutputBits()];
-   ostringstream MyRejectHist[numberOutputBits()];
+   vector<ostringstream> MyAcceptHist(numberOutputBits());
+   vector<ostringstream> MyRejectHist(numberOutputBits());
    
    for (unsigned int i=0;i<numberOutputBits();i++) {
      MyAcceptHist[i] << "Accept" << p_DeltaPhiMin[i] << "DPHI" << p_DeltaPhiMax[i];
diff --git a/Trigger/TrigT1/L1Topo/L1TopoAlgorithms/Root/InvariantMassInclusive1.cxx b/Trigger/TrigT1/L1Topo/L1TopoAlgorithms/Root/InvariantMassInclusive1.cxx
index c378920bccdcb27e8787f21921b8495ae16e6e60..13753402a3d673cf6adedc92a84a82af2a7f200c 100644
--- a/Trigger/TrigT1/L1Topo/L1TopoAlgorithms/Root/InvariantMassInclusive1.cxx
+++ b/Trigger/TrigT1/L1Topo/L1TopoAlgorithms/Root/InvariantMassInclusive1.cxx
@@ -12,6 +12,7 @@
 #include <string>
 #include <iostream>
 #include <sstream>
+#include <vector>
 #include "TH1F.h"
 
 #include "L1TopoAlgorithms/InvariantMassInclusive1.h"
@@ -133,8 +134,8 @@ TCS::InvariantMassInclusive1::initialize() {
    TRG_MSG_INFO("number output : " << numberOutputBits());
 
    // create strings for histogram names
-   ostringstream MyAcceptHist[numberOutputBits()];
-   ostringstream MyRejectHist[numberOutputBits()];
+   vector<ostringstream> MyAcceptHist(numberOutputBits());
+   vector<ostringstream> MyRejectHist(numberOutputBits());
    
    for (unsigned int i=0;i<numberOutputBits();i++) {
      MyAcceptHist[i] << "Accept" << sqrt(p_InvMassMin[i]) << "INVM"; 
diff --git a/Trigger/TrigT1/L1Topo/L1TopoAlgorithms/Root/JetHT.cxx b/Trigger/TrigT1/L1Topo/L1TopoAlgorithms/Root/JetHT.cxx
index 07a0dd7754cffd1d79e6058eb153916909b55dce..d48b1d4fd7698a9d9f1cd6e8a41bf9f27fe0df76 100644
--- a/Trigger/TrigT1/L1Topo/L1TopoAlgorithms/Root/JetHT.cxx
+++ b/Trigger/TrigT1/L1Topo/L1TopoAlgorithms/Root/JetHT.cxx
@@ -12,6 +12,7 @@
 #include <string>
 #include <iostream>
 #include <sstream>
+#include <vector>
 #include "TH1F.h"
 
 #include "L1TopoAlgorithms/JetHT.h"
@@ -68,8 +69,8 @@ TCS::JetHT::initialize() {
    TRG_MSG_INFO("number output : " << numberOutputBits());
 
    // create strings for histogram names
-   ostringstream MyAcceptHist[numberOutputBits()];
-   ostringstream MyRejectHist[numberOutputBits()];
+   vector<ostringstream> MyAcceptHist(numberOutputBits());
+   vector<ostringstream> MyRejectHist(numberOutputBits());
    
    for (unsigned int i=0;i<numberOutputBits();i++) {
      MyAcceptHist[i] << "Accept" << p_HT[i] << "HT"; 
diff --git a/Trigger/TrigT1/L1Topo/L1TopoAlgorithms/Root/JetSimpleCone.cxx b/Trigger/TrigT1/L1Topo/L1TopoAlgorithms/Root/JetSimpleCone.cxx
index 3a63c5ad8afdfae0d0a35809cf930555c14ad816..59c348dbb7db96aa6eabbb2b11d948b9bca12737 100644
--- a/Trigger/TrigT1/L1Topo/L1TopoAlgorithms/Root/JetSimpleCone.cxx
+++ b/Trigger/TrigT1/L1Topo/L1TopoAlgorithms/Root/JetSimpleCone.cxx
@@ -71,8 +71,8 @@ TCS::JetSimpleCone::initialize() {
    TRG_MSG_INFO("number output : " << numberOutputBits());
 
    // create strings for histogram names
-   ostringstream MyAcceptHist[numberOutputBits()];
-   ostringstream MyRejectHist[numberOutputBits()];
+   vector<ostringstream> MyAcceptHist(numberOutputBits());
+   vector<ostringstream> MyRejectHist(numberOutputBits());
    
    for (unsigned int i=0;i<numberOutputBits();i++) {
      MyAcceptHist[i] << "Accept" << p_SimpleCone[i] << "SimpleCone"; 
diff --git a/Trigger/TrigT1/L1Topo/L1TopoAlgorithms/Root/MinDeltaPhiIncl2.cxx b/Trigger/TrigT1/L1Topo/L1TopoAlgorithms/Root/MinDeltaPhiIncl2.cxx
index 30a3361b7d99c8c655521dfc7431afd227c49084..31721d2f84365b57df555a465d34f286e96d59d4 100644
--- a/Trigger/TrigT1/L1Topo/L1TopoAlgorithms/Root/MinDeltaPhiIncl2.cxx
+++ b/Trigger/TrigT1/L1Topo/L1TopoAlgorithms/Root/MinDeltaPhiIncl2.cxx
@@ -11,6 +11,7 @@
 #include <string>
 #include <iostream>
 #include <sstream>
+#include <vector>
 #include <algorithm>
 #include "TH1F.h"
 
@@ -92,8 +93,8 @@ TCS::MinDeltaPhiIncl2::initialize() {
    TRG_MSG_INFO("nummber output : " << numberOutputBits());
 
    // create strings for histogram names
-   ostringstream MyAcceptHist[numberOutputBits()];
-   ostringstream MyRejectHist[numberOutputBits()];
+   vector<ostringstream> MyAcceptHist(numberOutputBits());
+   vector<ostringstream> MyRejectHist(numberOutputBits());
    
    for (unsigned int i=0;i< numberOutputBits();i++) {
      MyAcceptHist[i] << "Accept" << p_DeltaPhiMin[i]  << "MinDPhi2";