From c1b3604cc7077a9bbf1168f1e0e2aaadf32892c0 Mon Sep 17 00:00:00 2001
From: John Derek Chapman <chapman@hep.phy.cam.ac.uk>
Date: Fri, 18 Nov 2016 16:40:09 +0100
Subject: [PATCH] python/DigitizationFlags.py - as Bichsel simulation is now
 the default for Pixels, set doBichselSimulation digitization flag to be True
 by default. ATLASRECTS-2776. Tagging Digitization-02-00-14-01
 (Digitization-02-00-14-01)

	* python/DigitizationFlags.py - as Bichsel simulation is now the
	default for Pixels set doBichselSimulation digitization flag to be
	True by default. ATLASRECTS-2776
	* Tagging Digitization-02-00-14-01

2016-10-27 Noemi Calace <Noemi.Calace@cern.ch>
	* python/DigiAlgConfig.py: hook for SiSmearedDigitizationTool
	* Tagging Digitization-02-00-14

2016-09-26  John Chapman  <John.Chapman@cern.ch>

	* python/DigitizationFlags.py - add new pileupDSID JobProperty,
	currently harcoded values for testing. ATLASSIM-3053
	* python/DigitizationWriteMetaData.py - write out
	digitizationFlags.pileupDSID. ATLASSIM-3053
	* python/DigitizationReadMetaData.py - add code to fill
	digitizationFlags.pileupDSID JobProperty (commented out until
	AthFile fixed). ATLASSIM-3053
	* Tagging Digitization-02-00-13
...
(Long ChangeLog diff - truncated)


Former-commit-id: d0aa69c941a380f18e3fab64b94c2a99dbf49b31
---
 Simulation/Digitization/python/DigiAlgConfig.py    |  2 ++
 .../Digitization/python/DigitizationFlags.py       | 14 +++++++++++---
 .../python/DigitizationReadMetaData.py             | 14 ++++++++++++++
 .../python/DigitizationWriteMetaData.py            |  2 +-
 4 files changed, 28 insertions(+), 4 deletions(-)

diff --git a/Simulation/Digitization/python/DigiAlgConfig.py b/Simulation/Digitization/python/DigiAlgConfig.py
index 721f0c15071..0b34621a228 100644
--- a/Simulation/Digitization/python/DigiAlgConfig.py
+++ b/Simulation/Digitization/python/DigiAlgConfig.py
@@ -83,6 +83,8 @@ def getStandardInDetPileUpTools():
             PileUpToolsList += [ "PixelFastDigitizationTool" ]
         elif 'doLightPixelDigi' in digitizationFlags.experimentalDigi():
             PileUpToolsList += [ "PixelLightDigitizationTool" ]
+        elif 'doSmearedPixelDigi' in digitizationFlags.experimentalDigi():
+            PileUpToolsList += [ "PixelSmearedDigitizationTool" ]
         else:
             PileUpToolsList += [ "PixelDigitizationTool" ]
     if DetFlags.digitize.SCT_on():
diff --git a/Simulation/Digitization/python/DigitizationFlags.py b/Simulation/Digitization/python/DigitizationFlags.py
index e4915b496f8..4209095bea3 100755
--- a/Simulation/Digitization/python/DigitizationFlags.py
+++ b/Simulation/Digitization/python/DigitizationFlags.py
@@ -206,6 +206,14 @@ class specialConfiguration(JobProperty):
     allowedTypes=['dict']
     StoredValue=dict()
 
+#
+class pileupDSID(JobProperty):
+    """ Map from background type to DSID
+    """
+    statusOn=True # False
+    allowedTypes=['dict']
+    StoredValue= {'Low Pt Minimum Bias':361034, 'High Pt Minimum Bias':361035} #{'Signal':110401, 'Low Pt Minimum Bias':361034, 'High Pt Minimum Bias':361035} #dict()
+
 #
 class doLowPtMinBias(JobProperty):
     """ Superimpose mixed low pt minimum bias events (pile-up) on signal events?
@@ -423,9 +431,9 @@ class doBichselSimulation(JobProperty):
     """ Should the Bichsel model be used in Pixel and SCT
     Digitization.
     """
-    statusOn=False
+    statusOn=True
     allowedTypes=['bool']
-    StoredValue=False
+    StoredValue=True
 
 class IOVDbGlobalTag(JobProperty):
     """ This overrides the default IOVDbGlobalTag which
@@ -800,7 +808,7 @@ list_jobproperties=[doInDetNoise,doCaloNoise,doMuonNoise,doFwdNoise,doRadiationD
                     bunchSpacing,initialBunchCrossing,finalBunchCrossing,doXingByXingPileUp,\
                     simRunNumber,dataRunNumber,BeamIntensityPattern,FixedT0BunchCrossing,cavernIgnoresBeamInt,\
                     RunAndLumiOverrideList,SignalPatternForSteppingCache,
-                    experimentalDigi,specialConfiguration,digiSteeringConf,TRTRangeCut]
+                    experimentalDigi,pileupDSID,specialConfiguration,digiSteeringConf,TRTRangeCut]
 
 for i in list_jobproperties:
     jobproperties.Digitization.add_JobProperty(i)
diff --git a/Simulation/Digitization/python/DigitizationReadMetaData.py b/Simulation/Digitization/python/DigitizationReadMetaData.py
index 1d8871d32e2..9482c6e75ac 100644
--- a/Simulation/Digitization/python/DigitizationReadMetaData.py
+++ b/Simulation/Digitization/python/DigitizationReadMetaData.py
@@ -72,6 +72,19 @@ def expandPileUpType(shortpileuptype):
         return "Beam Halo"
     return "Unknown Pile-Up Type"
 
+def doMC_channel_number(f,pileUpType):
+    print "doMC_channel_number for %s", pileUpType
+    if "mc_channel_number" in f.infos.keys():
+        params = dict()
+        from Digitization.DigitizationFlags import digitizationFlags
+        if digitizationFlags.pileupDSID.statusOn:
+            params = digitizationFlags.pileupDSID.get_Value()
+        print "MC channel number from AthFile %s", f.infos["mc_channel_number"]
+        params[pileUpType]= f.infos["mc_channel_number"]
+        digitizationFlags.pileupDSID = params
+        del params
+    return
+
 def doSpecialConfiguration(f):
     #safety checks before trying to access metadata
     if "tag_info" in f.infos.keys():
@@ -133,6 +146,7 @@ def buildDict(inputtype, inputfile):
     ## Not part of building the metadata dictionary, but this is the
     ## most convenient time to access this information.
     doSpecialConfiguration(f)
+    #doMC_channel_number(f,inputtype) #FIXME commented out for now until mc_channel_number is filled properly by AthFile.
 
     metadatadict = dict()
     #safety checks before trying to access metadata
diff --git a/Simulation/Digitization/python/DigitizationWriteMetaData.py b/Simulation/Digitization/python/DigitizationWriteMetaData.py
index 2d3e1681833..7a398acc7ae 100644
--- a/Simulation/Digitization/python/DigitizationWriteMetaData.py
+++ b/Simulation/Digitization/python/DigitizationWriteMetaData.py
@@ -76,7 +76,7 @@ def writeDigitizationMetadata():
                          "initialBunchCrossing", "finalBunchCrossing", "FixedT0BunchCrossing",
                          "doLowPtMinimumBias", "doHighPtMinimumBias",
                          "doCavern", "doBeamGas", "doBeamHalo",
-                         "rndmSvc", "physicsList", "overrideMetadata"]
+                         "rndmSvc", "physicsList", "overrideMetadata","pileupDSID"]
                          #"readSeedsFromFile", "rndmSeedInputFile",
     from Digitization.DigitizationFlags import digitizationFlags
     if (not ModifyingEventIdBySvc()):
-- 
GitLab