diff --git a/Reconstruction/egamma/egammaAlgs/CMakeLists.txt b/Reconstruction/egamma/egammaAlgs/CMakeLists.txt
index 4c06636f1adbf935aa6b93a733ed83d28d4171fe..05f7cec4f20acd837cf87a37b72e2fe5191c63d1 100644
--- a/Reconstruction/egamma/egammaAlgs/CMakeLists.txt
+++ b/Reconstruction/egamma/egammaAlgs/CMakeLists.txt
@@ -6,7 +6,7 @@
 atlas_subdir( egammaAlgs )
 
 # Declare the package's dependencies:
-atlas_depends_on_subdirs( PUBLIC
+atlas_depends_on_subdirs( PRIVATE
                           Control/AthenaBaseComps
                           Event/EventKernel
                           Event/xAOD/xAODCaloEvent
@@ -14,7 +14,6 @@ atlas_depends_on_subdirs( PUBLIC
                           Event/xAOD/xAODTruth
                           GaudiKernel
                           PhysicsAnalysis/MCTruthClassifier
-                          PRIVATE
                           Calorimeter/CaloGeoHelpers
                           Calorimeter/CaloUtils
                           Calorimeter/CaloEvent
@@ -40,21 +39,11 @@ atlas_depends_on_subdirs( PUBLIC
 # External dependencies:
 find_package( CLHEP )
 
-# tag ROOTMathLibs was not recognized in automatic conversion in cmt2cmake
-
-# Component(s) in the package:
-atlas_add_library( egammaAlgsLib
-                   src/*.cxx
-                   NO_PUBLIC_HEADERS
-                   PRIVATE_INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS}
-                   PRIVATE_DEFINITIONS ${CLHEP_DEFINITIONS}
-                   LINK_LIBRARIES AthenaBaseComps EventKernel xAODCaloEvent xAODEgamma xAODTruth GaudiKernel MCTruthClassifierLib CaloUtilsLib StoreGateLib SGtests ElectronPhotonSelectorToolsLib
-                   PRIVATE_LINK_LIBRARIES ${CLHEP_LIBRARIES} CaloGeoHelpers AthenaKernel CxxUtils xAODTracking egammaRecEvent egammaUtils PathResolver Particle ParticleTruth TrkToolInterfaces InDetRecToolInterfaces FourMomUtils TrkTrack TrkPseudoMeasurementOnTrack InDetConversionFinderTools )
-
 atlas_add_component( egammaAlgs
+		     src/*.cxx
                      src/components/*.cxx
                      INCLUDE_DIRS ${CLHEP_INCLUDE_DIRS}
-                     LINK_LIBRARIES ${CLHEP_LIBRARIES} AthenaBaseComps EventKernel xAODCaloEvent xAODEgamma xAODTruth GaudiKernel MCTruthClassifierLib CaloGeoHelpers CaloUtilsLib AthenaKernel CxxUtils StoreGateLib SGtests xAODTracking ElectronPhotonSelectorToolsLib egammaRecEvent egammaUtils PathResolver egammaAlgsLib Particle ParticleTruth TrkToolInterfaces InDetRecToolInterfaces FourMomUtils TrkTrack TrkPseudoMeasurementOnTrack InDetConversionFinderTools )
+                     LINK_LIBRARIES ${CLHEP_LIBRARIES} AthenaBaseComps EventKernel xAODCaloEvent xAODEgamma xAODTruth GaudiKernel MCTruthClassifierLib CaloGeoHelpers CaloUtilsLib AthenaKernel CxxUtils StoreGateLib SGtests xAODTracking ElectronPhotonSelectorToolsLib egammaRecEvent egammaUtils PathResolver Particle ParticleTruth TrkToolInterfaces InDetRecToolInterfaces FourMomUtils TrkTrack TrkPseudoMeasurementOnTrack InDetConversionFinderTools )
 
 # Install files from the package:
 atlas_install_python_modules( python/*.py )
diff --git a/Reconstruction/egamma/egammaTools/python/EMBremCollectionBuilder.py b/Reconstruction/egamma/egammaAlgs/python/EMBremCollectionBuilder.py
similarity index 93%
rename from Reconstruction/egamma/egammaTools/python/EMBremCollectionBuilder.py
rename to Reconstruction/egamma/egammaAlgs/python/EMBremCollectionBuilder.py
index 5b2da797bd1c5dd7eb5166a0b285c97c03dca328..5a5bbb801a0747457b39e610f8385f8879032e99 100644
--- a/Reconstruction/egamma/egammaTools/python/EMBremCollectionBuilder.py
+++ b/Reconstruction/egamma/egammaAlgs/python/EMBremCollectionBuilder.py
@@ -13,10 +13,10 @@ from InDetRecExample.InDetJobProperties import InDetFlags
 import traceback
 
 #import base class
-from egammaTools import egammaToolsConf
+from egammaAlgs import egammaAlgsConf
 from InDetTools import egammaExtrapolator
 
-class egammaBremCollectionBuilder ( egammaToolsConf.EMBremCollectionBuilder ) :
+class egammaBremCollectionBuilder ( egammaAlgsConf.EMBremCollectionBuilder ) :
     __slots__ = ()
 
     def __init__(self, name="EMBremCollectionBuilder", **kw):
@@ -170,3 +170,12 @@ class egammaBremCollectionBuilder ( egammaToolsConf.EMBremCollectionBuilder ) :
         self.narrowDeltaPhiBrem=0.20 #Dominated by the needs of assymetric conversions
         self.narrowDeltaPhiRescale=0.05  
         self.narrowDeltaPhiRescaleBrem=0.1
+
+from egammaTrackTools.egammaTrackToolsFactories import EMExtrapolationTools
+EMBremCollectionBuilder = AlgFactory( egammaBremCollectionBuilder,
+                                      name = 'EMBremCollectionBuilder',
+                                      ExtrapolationTool = EMExtrapolationTools,
+                                      OutputTrackContainerName=egammaKeys.outputTrackKey(),
+                                      ClusterContainerName=egammaKeys.inputClusterKey(),
+                                      DoTruth=rec.doTruth()
+                                      )
diff --git a/Reconstruction/egamma/egammaTools/python/EMVertexBuilder.py b/Reconstruction/egamma/egammaAlgs/python/EMVertexBuilder.py
similarity index 95%
rename from Reconstruction/egamma/egammaTools/python/EMVertexBuilder.py
rename to Reconstruction/egamma/egammaAlgs/python/EMVertexBuilder.py
index 3ea8fcbc43968173d8040371faec2e9546683c05..37b63ec1aa2447d902176c0aa0fbff9a9dd3003e 100644
--- a/Reconstruction/egamma/egammaTools/python/EMVertexBuilder.py
+++ b/Reconstruction/egamma/egammaAlgs/python/EMVertexBuilder.py
@@ -3,7 +3,7 @@
 __doc__ = "ToolFactory to instantiate EMVertexBuilder with default configuration"
 __author__ = "Bruno Lenzi"
 
-import egammaToolsConf
+from egammaAlgs import egammaAlgsConf
 from egammaRec.Factories import FcnWrapper, ToolFactory
 from egammaRec import egammaKeys
 from RecExConfig.RecFlags import rec
@@ -32,7 +32,7 @@ class VertexFinderToolInstance(FcnWrapper):
     return theemvertexfindertool.toolInstance()
 
 
-EMVertexBuilder = ToolFactory( egammaToolsConf.EMVertexBuilder,
+EMVertexBuilder = AlgFactory( egammaAlgsConf.EMVertexBuilder,
     InputTrackParticleContainerName = egammaKeys.outputTrackParticleKey(),
     OutputConversionContainerName   = egammaKeys.outputConversionKey(),
     VertexFinderTool                = VertexFinderToolInstance(),
diff --git a/Reconstruction/egamma/egammaRec/python/egammaForwardGetter.py b/Reconstruction/egamma/egammaRec/python/egammaForwardGetter.py
index 0248fbcd3a2b18caaa07405ba9947b8865a42e45..8a0083c7f2a66db8451c49e99fd62dd9bc890459 100755
--- a/Reconstruction/egamma/egammaRec/python/egammaForwardGetter.py
+++ b/Reconstruction/egamma/egammaRec/python/egammaForwardGetter.py
@@ -9,7 +9,7 @@ import traceback
 from RecExConfig.Configured import Configured
 
 from egammaRec import egammaKeys
-from egammaRec import egammaRecConf
+from egammaAlgs import egammaAlgsConf
 from egammaRec.Factories import AlgFactory, FcnWrapper, FullNameWrapper
 from egammaRec import egammaRecFlags as egRecFlags
 egammaRecFlags = egRecFlags.jobproperties.egammaRecFlags
@@ -20,7 +20,7 @@ def forwardSelectorTools():
    "Return a list with the selectors for forward electrons"
    return [ LooseForwardElectronSelector(), MediumForwardElectronSelector(), TightForwardElectronSelector() ]
 
-egammaForwardBuilder = AlgFactory( egammaRecConf.egammaForwardBuilder,
+egammaForwardBuilder = AlgFactory( egammaAlgsConf.egammaForwardBuilder,
                                    name = 'egammaForward',
                                    
                                    # Keys
diff --git a/Reconstruction/egamma/egammaRec/python/egammaGetter.py b/Reconstruction/egamma/egammaRec/python/egammaGetter.py
index bbb25ca5df66eb4ce32b4eaf852921aba3764401..52465559d4ac5f106944f4e67f0c95ea5bc4d696 100755
--- a/Reconstruction/egamma/egammaRec/python/egammaGetter.py
+++ b/Reconstruction/egamma/egammaRec/python/egammaGetter.py
@@ -9,7 +9,7 @@ from AthenaCommon.DetFlags import DetFlags
 from RecExConfig.Configured import Configured
 #
 from egammaRec import egammaKeys
-from egammaRec import egammaRecConf
+from egammaAlgs import egammaAlgsConf
 from egammaRec.Factories import AlgFactory, FcnWrapper
 from egammaRec import egammaRecFlags as egRecFlags
 egammaRecFlags = egRecFlags.jobproperties.egammaRecFlags
@@ -18,17 +18,14 @@ egammaRecFlags = egRecFlags.jobproperties.egammaRecFlags
 def doSuperclusters():
   return egammaRecFlags.doSuperclusters()
 
-def doBremFinding():
-  return DetFlags.detdescr.ID_on() and egammaRecFlags.doBremFinding()
-
 def doConversions() :
   return DetFlags.detdescr.ID_on() and egammaRecFlags.doConversions()
 ################
 
 # Import the tool factories
 from egammaTools.egammaToolsFactories import \
-    EMBremCollectionBuilder, EMTrackMatchBuilder,\
-    EMVertexBuilder, EMConversionBuilder, EGammaAmbiguityTool,\
+    EMTrackMatchBuilder,\
+    EMConversionBuilder, EGammaAmbiguityTool,\
     EMClusterTool, EMFourMomBuilder, EMShowerBuilder, egammaOQFlagsBuilder, \
     ElectronPIDBuilder, PhotonPIDBuilder
 
@@ -72,7 +69,7 @@ class egammaGetter ( Configured ) :
         mlog.info('entering')        
 
         if doSuperclusters() : 
-          egammaBuilder = AlgFactory(egammaRecConf.topoEgammaBuilder, name = 'egamma',
+          egammaBuilder = AlgFactory(egammaAlgsConf.topoEgammaBuilder, name = 'egamma',
                                      # Keys
                                      ElectronOutputName = egammaKeys.outputElectronKey(),
                                      PhotonOutputName = egammaKeys.outputPhotonKey(),                                     
@@ -82,9 +79,7 @@ class egammaGetter ( Configured ) :
                                      photonSuperClusterBuilder = photonSuperClusterBuilder,
                                      InputTopoClusterContainerName = egammaRecFlags.egammaTopoClusterCollection(),                                           
                                      # Builder tools
-                                     BremCollectionBuilderTool = EMBremCollectionBuilder,
                                      TrackMatchBuilderTool = EMTrackMatchBuilder,
-                                     VertexBuilder = EMVertexBuilder if doConversions() else None,
                                      ConversionBuilderTool = EMConversionBuilder if doConversions() else None,
                                      AmbiguityTool = EGammaAmbiguityTool,                                     
                                      # Decoration tools
@@ -94,20 +89,17 @@ class egammaGetter ( Configured ) :
                                      # Flags and other properties
                                      # Track matching depending if ID is on/off
                                      doTrackMatching = DetFlags.detdescr.ID_on(),
-                                     # conversions building/matching depending if ID is on/off
-                                     doVertexCollection=doConversions(),
+                                     # conversions matching depending if ID is on/off
                                      doConversions = doConversions()
                                      )
         else : 
-          egammaBuilder = AlgFactory(egammaRecConf.egammaBuilder, name = 'egamma',
+          egammaBuilder = AlgFactory(egammaAlgsConf.egammaBuilder, name = 'egamma',
                                      # Keys
                                      ElectronOutputName = egammaKeys.outputElectronKey(),
                                      PhotonOutputName = egammaKeys.outputPhotonKey(),
                                      TopoSeededClusterContainerName = getTopoSeededCollectionName(),                                     
                                      # Builder tools
-                                     BremCollectionBuilderTool = EMBremCollectionBuilder,
                                      TrackMatchBuilderTool = EMTrackMatchBuilder,
-                                     VertexBuilder = EMVertexBuilder if doConversions() else None,
                                      ConversionBuilderTool = EMConversionBuilder if doConversions() else None,
                                      AmbiguityTool = EGammaAmbiguityTool,                                     
                                      # Decoration tools
@@ -117,8 +109,7 @@ class egammaGetter ( Configured ) :
                                      # Flags and other properties
                                      # Track matching depending if ID is on/off
                                      doTrackMatching = DetFlags.detdescr.ID_on(),
-                                     # conversions building/matching depending if ID is on/off
-                                     doVertexCollection=doConversions(),
+                                     # conversions matching depending if ID is on/off
                                      doConversions = doConversions(),
                                      #
                                      clusterEnergyCut = 10*MeV,
diff --git a/Reconstruction/egamma/egammaRec/python/egammaRecFlags.py b/Reconstruction/egamma/egammaRec/python/egammaRecFlags.py
index a432dc4d9b53d5811d37cb91465a5ce43c96d8ff..805e37baea624f56df5368a817392207d3394528 100755
--- a/Reconstruction/egamma/egammaRec/python/egammaRecFlags.py
+++ b/Reconstruction/egamma/egammaRec/python/egammaRecFlags.py
@@ -13,6 +13,8 @@ __doc__="egamma flags . "
 from AthenaCommon.JobProperties import JobProperty, JobPropertyContainer
 from AthenaCommon.JobProperties import jobproperties
 
+print "In egammaRecFlags"
+
 class Enabled(JobProperty):
     """ jobproperty to disable/enable the egamma algorithms as a group (container) in one go.
     Can enable/disable the full egamma
@@ -50,6 +52,20 @@ class doTopoCaloSeeded (JobProperty):
     allowedTypes=['bool']
     StoredValue=True
 
+class doBremFinding (egammaRecFlagsJobProperty):
+    """ switch for whether to do the brem binding
+    """
+    statusOn=True
+    allowedTypes=['bool']
+    StoredValue=True
+
+class doVertexBuilding (egammaRecFlagsJobProperty):
+    """ switch for whether to do the conversion vertex building
+    """
+    statusOn=True
+    allowedTypes=['bool']
+    StoredValue=True
+
 #Other options
 class doEgammaTruthAssociation (JobProperty):
     """ switch for truth association alg
@@ -59,7 +75,7 @@ class doEgammaTruthAssociation (JobProperty):
     StoredValue=True
 
 class doConversions (JobProperty):
-    """ switch for Conversions
+    """ switch for doing conversion matching
     """
     statusOn=True
     allowedTypes=['bool']
@@ -126,9 +142,10 @@ class egammaRecFlags(JobPropertyContainer):
 jobproperties.add_Container(egammaRecFlags)
 
 # I want always the following flags in the container  
-_list_Egamma=[Enabled,doEgammaCaloSeeded,doEgammaForwardSeeded,doConversions,doTopoCaloSeeded,cellContainerName,doSwitchTRTGas,
-              doEgammaTruthAssociation,clusterCorrectionVersion,calibMVAVersion, doSuperclusters, inputTopoClusterCollection, 
-              egammaTopoClusterCollection]
+_list_Egamma=[Enabled, doEgammaCaloSeeded, doEgammaForwardSeeded, doBremFinding, doVertexBuilding,
+              doConversions, doTopoCaloSeeded, cellContainerName, doSwitchTRTGas,
+              doEgammaTruthAssociation, clusterCorrectionVersion, calibMVAVersion, doSuperclusters, 
+              inputTopoClusterCollection, egammaTopoClusterCollection]
 
 for j in _list_Egamma: 
     jobproperties.egammaRecFlags.add_JobProperty(j)
diff --git a/Reconstruction/egamma/egammaRec/share/egammaRec_jobOptions.py b/Reconstruction/egamma/egammaRec/share/egammaRec_jobOptions.py
index 1ada07b8a1c449cb47445c8d58688e83e2275706..d5a865ab0198c3b21d7ab9ba581e270a0e602b39 100755
--- a/Reconstruction/egamma/egammaRec/share/egammaRec_jobOptions.py
+++ b/Reconstruction/egamma/egammaRec/share/egammaRec_jobOptions.py
@@ -14,6 +14,25 @@ topSequence = AlgSequence()
 ###############Print Egamma JobProperties#############
 jobproperties.egammaRecFlags.print_JobProperties("full")
 #####################################################################
+
+# Run Brem builder.
+if jobproperties.egammaRecFlags.doBremFinding() and DetFlags.detdescr.ID_on():
+    try:
+        import egammaAlgs.EMBremCollectionBuilder
+    except Exception:
+        treatException("Could not set up EMBremFinder. Switch it off !")
+        jobproperties.egammaRecFlags.doBremFinding=False    
+        egammaAlgs.EMBremCollectionBuilder(disable=True)
+
+# Run conversion vertex builder.
+if jobproperties.egammaRecFlags.doVertexBuilding() and DetFlags.detdescr.ID_on():
+    try:
+        import egammaAlgs.EMVertexBuilder
+    except Exception:
+        treatException("Could not set up the conversion vertex building. Switch it off !")
+        jobproperties.egammaRecFlags.doEMVertexBuilder=False    
+        egammaAlgs.EMVertexBuilder(disable=True)
+
 # Run calo-based (egamma) algorithm, includes topo-seeded
 # It requires either to read ESD
 # either that Emcluster have been build
diff --git a/Reconstruction/egamma/egammaTools/python/egammaToolsFactories.py b/Reconstruction/egamma/egammaTools/python/egammaToolsFactories.py
index d1d2e311c5e1e4f3ccafe4b4ada596e1eda2cb4d..bc06dc9f953e4fc506febeca12135d37b853a647 100644
--- a/Reconstruction/egamma/egammaTools/python/egammaToolsFactories.py
+++ b/Reconstruction/egamma/egammaTools/python/egammaToolsFactories.py
@@ -71,15 +71,7 @@ egammaCheckEnergyDepositTool = ToolFactory(egammaToolsConf.egammaCheckEnergyDepo
                                            ThrF3max=0.8)
 
 
-from EMBremCollectionBuilder import egammaBremCollectionBuilder
 from egammaTrackTools.egammaTrackToolsFactories import EMExtrapolationTools
-EMBremCollectionBuilder = ToolFactory( egammaBremCollectionBuilder,
-                                       name = 'EMBremCollectionBuilder',
-                                       ExtrapolationTool = EMExtrapolationTools,
-                                       OutputTrackContainerName=egammaKeys.outputTrackKey(),
-                                       ClusterContainerName=egammaKeys.inputClusterKey(),
-                                       DoTruth=rec.doTruth()
-                                       )
 
 
 EMConversionBuilder = ToolFactory( egammaToolsConf.EMConversionBuilder,
@@ -148,4 +140,3 @@ TightForwardElectronSelector = ToolFactory( ConfiguredAsgForwardElectronIsEMSele
 from EMShowerBuilder import EMShowerBuilder
 from egammaOQFlagsBuilder import egammaOQFlagsBuilder
 from EMTrackMatchBuilder import EMTrackMatchBuilder
-from EMVertexBuilder import EMVertexBuilder