diff --git a/Control/AthenaConfiguration/python/DetectorConfigFlags.py b/Control/AthenaConfiguration/python/DetectorConfigFlags.py
index b66f9323971b6cb2a518a79a94452f60978a0c66..5960b079514a9e85b78a0e8e7eb4f6c9985c6055 100644
--- a/Control/AthenaConfiguration/python/DetectorConfigFlags.py
+++ b/Control/AthenaConfiguration/python/DetectorConfigFlags.py
@@ -1,4 +1,4 @@
-# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
+# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 
 from __future__ import print_function
 
@@ -8,6 +8,7 @@ from AthenaConfiguration.AutoConfigFlags import GetDetDescrInfo
 # Only some flags have been migrated. A full list of what the old
 # DetFlags provided is given for reference below:
 # detectors : ID = bpipe pixel SCT TRT BCM DBM
+#             ITk = bpipe ITkPixel ITkStrip BCMPrime (in future maybe PLR)
 #             Forward = Lucid ZDC ALFA AFP FwdRegion
 #             LAr = em HEC FCal
 #             Calo = em HEC FCal Tile
@@ -46,6 +47,13 @@ def createDetectorConfigFlags():
     dcf.addFlag('Detector.GeometryID',    lambda prevFlags : (prevFlags.Detector.GeometryBCM or prevFlags.Detector.GeometryDBM or
                                                               prevFlags.Detector.GeometryPixel or prevFlags.Detector.GeometrySCT or
                                                               prevFlags.Detector.GeometryTRT))
+    
+    #Upgrade ITk Inner Tracker is a separate and parallel detector
+    dcf.addFlag('Detector.GeometryBCMPrime',   False)
+    dcf.addFlag('Detector.GeometryITkPixel',   False)
+    dcf.addFlag('Detector.GeometryITkStrip',   False)
+    dcf.addFlag('Detector.GeometryITk',    lambda prevFlags : (prevFlags.Detector.GeometryBCMPrime or prevFlags.Detector.GeometryITkPixel or prevFlags.Detector.GeometryITkStrip))
+
     dcf.addFlag('Detector.GeometryLAr',   False) # Add separate em HEC and FCAL flags?
     dcf.addFlag('Detector.GeometryTile',  False)
     dcf.addFlag('Detector.GeometryCalo',  lambda prevFlags : (prevFlags.Detector.GeometryLAr or prevFlags.Detector.GeometryTile))
@@ -81,7 +89,14 @@ def createDetectorConfigFlags():
     dcf.addFlag('Detector.SimulateHGTD',  False)
     dcf.addFlag('Detector.SimulateID',    lambda prevFlags : (prevFlags.Detector.SimulateBCM or prevFlags.Detector.SimulateDBM or
                                                               prevFlags.Detector.SimulatePixel or prevFlags.Detector.SimulateSCT or
-                                                              prevFlags.Detector.SimulateTRT or prevFlags.Detector.SimulateHGTD))
+                                                              prevFlags.Detector.SimulateTRT))
+    
+    #Upgrade ITk Inner Tracker is a separate and parallel detector
+    dcf.addFlag('Detector.SimulateBCMPrime',   False)
+    dcf.addFlag('Detector.SimulateITkPixel',   False)
+    dcf.addFlag('Detector.SimulateITkStrip',   False)
+    dcf.addFlag('Detector.SimulateITk',    lambda prevFlags : (prevFlags.Detector.SimulateBCMPrime or prevFlags.Detector.SimulateITkPixel or prevFlags.Detector.SimulateITkStrip or prevFlags.Detector.SimulateHGTD))
+
     dcf.addFlag('Detector.SimulateLAr',   False) # Add separate em HEC and FCAL flags?
     dcf.addFlag('Detector.SimulateTile',  False)
     dcf.addFlag('Detector.SimulateCalo',  lambda prevFlags : (prevFlags.Detector.SimulateLAr or prevFlags.Detector.SimulateTile))
@@ -117,6 +132,12 @@ def createDetectorConfigFlags():
     dcf.addFlag('Detector.OverlayID',    lambda prevFlags : (prevFlags.Detector.OverlayBCM or prevFlags.Detector.OverlayDBM or
                                                               prevFlags.Detector.OverlayPixel or prevFlags.Detector.OverlaySCT or
                                                               prevFlags.Detector.OverlayTRT))
+    
+    dcf.addFlag('Detector.OverlayBCMPrime',   False)
+    dcf.addFlag('Detector.OverlayITkPixel',   False)
+    dcf.addFlag('Detector.OverlayITkStrip',   False)
+    dcf.addFlag('Detector.OverlayITk',    lambda prevFlags : (prevFlags.Detector.OverlayBCMPrime or prevFlags.Detector.OverlayITkPixel or prevFlags.Detector.OverlayITkStrip))
+
     dcf.addFlag('Detector.OverlayLAr',   False) # Add separate em HEC and FCAL flags?
     dcf.addFlag('Detector.OverlayTile',  False)
     dcf.addFlag('Detector.OverlayCalo',  lambda prevFlags : (prevFlags.Detector.OverlayLAr or prevFlags.Detector.OverlayTile))
@@ -131,8 +152,7 @@ def createDetectorConfigFlags():
     dcf.addFlag('Detector.OverlayMuon',  lambda prevFlags : (prevFlags.Detector.OverlayCSC or prevFlags.Detector.OverlayMDT or
                                                              prevFlags.Detector.OverlayRPC or prevFlags.Detector.OverlayTGC or
                                                              prevFlags.Detector.OverlaysTGC or prevFlags.Detector.OverlayMM))
-    dcf.addFlag('Detector.Overlay',      lambda prevFlags : (prevFlags.Detector.OverlayID or prevFlags.Detector.OverlayCalo or
-                                                             prevFlags.Detector.OverlayMuon))
+    dcf.addFlag('Detector.Overlay',      lambda prevFlags : (prevFlags.Detector.OverlayID or prevFlags.Detector.OverlayCalo or prevFlags.Detector.OverlayMuon))
 
     dcf.addFlag('Detector.RecoBCM',   False)
     dcf.addFlag('Detector.RecoIBL', lambda prevFlags : (prevFlags.Detector.RecoPixel and prevFlags.GeoModel.Run in ["RUN2", "RUN3"])) # TODO Review if a separate RecoIBL flag is really required here
@@ -142,6 +162,12 @@ def createDetectorConfigFlags():
     dcf.addFlag('Detector.RecoID',    lambda prevFlags : (prevFlags.Detector.RecoBCM or prevFlags.Detector.RecoIBL or
                                                           prevFlags.Detector.RecoPixel or prevFlags.Detector.RecoSCT or
                                                           prevFlags.Detector.RecoTRT))
+    
 #    dcf.addFlag('Detector.Reco',      lambda prevFlags : (prevFlags.Detector.RecoID or prevFlags.Detector.RecoCalo or
 #                                                          prevFlags.Detector.RecoMuon))
+    dcf.addFlag('Detector.RecoITkPixel', False)
+    dcf.addFlag('Detector.RecoITkStrip',   False)
+    dcf.addFlag('Detector.RecoBCMPrime',   False)
+    dcf.addFlag('Detector.RecoITk',    lambda prevFlags : (prevFlags.Detector.RecoITkPixel or prevFlags.Detector.RecoITkStrip or prevFlags.Detector.RecoBCMPrime))
+
     return dcf