diff --git a/InnerDetector/InDetConditions/PixelConditionsAlgorithms/python/PixelConditionsConfig.py b/InnerDetector/InDetConditions/PixelConditionsAlgorithms/python/PixelConditionsConfig.py index 9d7affa908bb2673d33fceccf541ac769128ed76..d37d8a0a7350ea84fafd25fcb070086e57ba0003 100644 --- a/InnerDetector/InDetConditions/PixelConditionsAlgorithms/python/PixelConditionsConfig.py +++ b/InnerDetector/InDetConditions/PixelConditionsAlgorithms/python/PixelConditionsConfig.py @@ -26,114 +26,6 @@ def PixelConfigCondAlgCfg(flags, name="PixelConfigCondAlg", **kwargs): UseDCSTemperatureConditions=True, UseTDAQConditions=False, ) - # Digitization parameters - CondArgs.update( - BunchSpace=25.0, - ) - - # RUN-1 and beginning of RUN-2(2015) - if (runNum<284500): - CondArgs.update( -# BarrelAnalogThreshold=[-1,-1,-1,-1], -# EndcapAnalogThreshold=[-1,-1,-1], -# DBMAnalogThreshold=[-1,-1,-1], - BarrelToTThreshold=[-1,3,3,3], - EndcapToTThreshold=[3,3,3], - DBMToTThreshold=[-1,-1,-1], - FEI3BarrelLatency=[-1,256,256,256], - FEI3EndcapLatency=[256,256,256], - FEI3BarrelHitDuplication=[True,True,True,True], - FEI3EndcapHitDuplication=[True,True,True], - FEI3BarrelSmallHitToT=[-1,7,7,7], - FEI3EndcapSmallHitToT=[7,7,7], - FEI3BarrelTimingSimTune=[2015,2015,2015,2015], - FEI3EndcapTimingSimTune=[2015,2015,2015], - FEI4BarrelHitDiscConfig=[0] - ) - - # mc16a and mc16c (2016) - elif (runNum<300000): - CondArgs.update( -# BarrelAnalogThreshold=[-1,-1,-1,-1], -# EndcapAnalogThreshold=[-1,-1,-1], -# DBMAnalogThreshold=[-1,-1,-1], - BarrelToTThreshold=[-1,5,5,5], - EndcapToTThreshold=[5,5,5], - DBMToTThreshold=[-1,-1,-1], - FEI3BarrelLatency=[-1,151,256,256], - FEI3EndcapLatency=[256,256,256], - FEI3BarrelHitDuplication=[False,False,False,False], - FEI3EndcapHitDuplication=[False,False,False], - FEI3BarrelSmallHitToT=[-1, -1, -1, -1], - FEI3EndcapSmallHitToT=[-1, -1, -1], - FEI3BarrelTimingSimTune=[2015,2015,2015,2015], - FEI3EndcapTimingSimTune=[2015,2015,2015], - FEI4BarrelHitDiscConfig=[2] - ) - - # mc16d (2017) - elif (runNum<310000): - CondArgs.update( -# BarrelAnalogThreshold=[-1,-1,-1,-1], -# EndcapAnalogThreshold=[-1,-1,-1], -# DBMAnalogThreshold=[-1,-1,-1], - BarrelToTThreshold=[-1,5,5,5], - EndcapToTThreshold=[5,5,5], - DBMToTThreshold=[-1,-1,-1], - FEI3BarrelLatency=[-1,151,256,256], - FEI3EndcapLatency=[256,256,256], - FEI3BarrelHitDuplication=[False,False,False,False], - FEI3EndcapHitDuplication=[False,False,False], - FEI3BarrelSmallHitToT=[-1, -1, -1, -1], - FEI3EndcapSmallHitToT=[-1, -1, -1], - FEI3BarrelTimingSimTune=[2018,2018,2018,2018], - FEI3EndcapTimingSimTune=[2018,2018,2018], - FEI4BarrelHitDiscConfig=[2] - ) - - # mc16e (2018) - else: - CondArgs.update( -# BarrelAnalogThreshold=[-1,-1,-1,-1], -# EndcapAnalogThreshold=[-1,-1,-1], -# DBMAnalogThreshold=[-1,-1,-1], - BarrelToTThreshold=[-1,3,5,5], - EndcapToTThreshold=[5,5,5], - DBMToTThreshold=[-1,-1,-1], - FEI3BarrelLatency=[-1,151,256,256], - FEI3EndcapLatency=[256,256,256], - FEI3BarrelHitDuplication=[False,False,False,False], - FEI3EndcapHitDuplication=[False,False,False], - FEI3BarrelSmallHitToT=[-1, -1, -1, -1], - FEI3EndcapSmallHitToT=[-1, -1, -1], - FEI3BarrelTimingSimTune=[2018,2018,2018,2018], - FEI3EndcapTimingSimTune=[2018,2018,2018], - FEI4BarrelHitDiscConfig=[2] - ) - - CondArgs.update( - BarrelCrossTalk=[0.06,0.06,0.06,0.06], - BarrelThermalNoise=[160.0,160.0,160.0,160.0], - BarrelNoiseOccupancy=[5e-8,5e-8,5e-8,5e-8], - BarrelDisableProbability=[9e-3,9e-3,9e-3,9e-3], - IBLNoiseShape=[0.0, 0.0330, 0.0, 0.2696, 0.1993, 0.1741, 0.1652, 0.1506, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0078], - BLayerNoiseShape=[0.0, 0.0, 0.0, 0.0, 0.2204, 0.5311, 0.7493, 0.8954, 0.9980, 1.0], - PixelNoiseShape=[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.2418, 0.4397, 0.5858, 0.6949, 0.7737, 0.8414, 0.8959, 0.9414, 0.9828, 1.0], - # Layer-2 noise [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.2129, 0.4016, 0.5477, 0.6599, 0.7435, 0.8160, 0.8779, 0.9340, 0.9798, 1.0], - EndcapCrossTalk=[0.06,0.06,0.06], - EndcapThermalNoise=[160.0,160.0,160.0], -# EndcapNoiseOccupancy=[5e-8,5e-8,5e-8], -# EndcapDisableProbability=[9e-3,9e-3,9e-3], -# EndcapNoiseShape=[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1748, 0.3409, 0.4760, 0.5850, 0.6754, 0.7538, 0.8264, 0.8962, 0.9655, 1.0], -# [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1852, 0.3528, 0.4881, 0.5961, 0.6855, 0.7640, 0.8374, 0.9068, 0.9749, 1.0], -# [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1735, 0.3380, 0.4733, 0.5829, 0.6730, 0.7516, 0.8234, 0.8916, 0.9595, 1.0]], - DBMCrossTalk=[0.06,0.06,0.06], - DBMThermalNoise=[160.0,160.0,160.0] -# DBMNoiseOccupancy=[5e-8,5e-8,5e-8], -# DBMDisableProbability=[9e-3,9e-3,9e-3], -# DBMNoiseShape=[[0.0,1.0],[0.0,1.0],[0.0,1.0]] - ) - if flags.Beam.Type == "cosmics": CondArgs.update( UseComTime=True, @@ -160,6 +52,138 @@ def PixelConfigCondAlgCfg(flags, name="PixelConfigCondAlg", **kwargs): EndcapTimeOffset=[5.0,5.0,5.0], DBMTimeOffset=[5.0,5.0,5.0] ) + # Digitization parameters + CondArgs.update( + BunchSpace=25.0, + FEI4BarrelHitDiscConfig=[2] + ) + + #==================================================================================== + # Run-dependent SIMULATION(digitization) parameters: + #==================================================================================== + # RUN2 2015/2016 + CondArgs.update( + BarrelToTThreshold2016 = [ -1, 5, 5, 5], + FEI3BarrelLatency2016 = [ 0, 151, 256, 256], + FEI3BarrelHitDuplication2016 = [False,False,False,False], + FEI3BarrelSmallHitToT2016 = [ -1, -1, -1, -1], + FEI3BarrelTimingSimTune2016 = [ -1, 2015, 2015, 2015], + BarrelCrossTalk2016 = [ 0.30, 0.06, 0.06, 0.06], + BarrelNoiseOccupancy2016 = [ 5e-8, 5e-8, 5e-8, 5e-8], + BarrelDisableProbability2016 = [ 9e-3, 9e-3, 9e-3, 9e-3], + EndcapToTThreshold2016 = [ 5, 5, 5], + FEI3EndcapLatency2016 = [ 256, 256, 256], + FEI3EndcapHitDuplication2016 = [False,False,False], + FEI3EndcapSmallHitToT2016 = [ -1, -1, -1], + FEI3EndcapTimingSimTune2016 = [ 2015, 2015, 2015], + EndcapCrossTalk2016 = [ 0.06, 0.06, 0.06], + EndcapNoiseOccupancy2016 = [ 5e-8, 5e-8, 5e-8], + EndcapDisableProbability2016 = [ 9e-3, 9e-3, 9e-3], + DBMToTThreshold2016 = [ -1, -1, -1], + DBMCrossTalk2016 = [ 0.06, 0.06, 0.06], + DBMNoiseOccupancy2016 = [ 5e-8, 5e-8, 5e-8], + DBMDisableProbability2016 = [ 9e-3, 9e-3, 9e-3], + IBLNoiseShape2016 = [0.0, 0.0330, 0.0, 0.3026, 0.5019, 0.6760, 0.8412, 0.9918, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], + BLayerNoiseShape2016 = [0.0, 0.0, 0.0, 0.0, 0.2204, 0.5311, 0.7493, 0.8954, 0.9980, 1.0], + PixelNoiseShape2016 = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.2418, 0.4397, 0.5858, 0.6949, 0.7737, 0.8414, 0.8959, 0.9414, 0.9828, 1.0], + # Layer-2 noise shape [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.2129, 0.4016, 0.5477, 0.6599, 0.7435, 0.8160, 0.8779, 0.9340, 0.9798, 1.0] + # So far, Gaudi::Property does not support 2D vector. + #EndcapNoiseShape=[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1748, 0.3409, 0.4760, 0.5850, 0.6754, 0.7538, 0.8264, 0.8962, 0.9655, 1.0], + # [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1852, 0.3528, 0.4881, 0.5961, 0.6855, 0.7640, 0.8374, 0.9068, 0.9749, 1.0], + # [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1735, 0.3380, 0.4733, 0.5829, 0.6730, 0.7516, 0.8234, 0.8916, 0.9595, 1.0]] + ) + #==================================================================================== + # RUN2 2017 + CondArgs.update( + BarrelToTThreshold2017 = [ -1, 5, 5, 5], + FEI3BarrelLatency2017 = [ 0, 151, 256, 256], + FEI3BarrelHitDuplication2017 = [False,False,False,False], + FEI3BarrelSmallHitToT2017 = [ -1, -1, -1, -1], + FEI3BarrelTimingSimTune2017 = [ -1, 2018, 2018, 2018], + BarrelCrossTalk2017 = [ 0.30, 0.06, 0.06, 0.06], + BarrelNoiseOccupancy2017 = [ 5e-8, 5e-8, 5e-8, 5e-8], + BarrelDisableProbability2017 = [ 9e-3, 9e-3, 9e-3, 9e-3], + EndcapToTThreshold2017 = [ 5, 5, 5], + FEI3EndcapLatency2017 = [ 256, 256, 256], + FEI3EndcapHitDuplication2017 = [False,False,False], + FEI3EndcapSmallHitToT2017 = [ -1, -1, -1], + FEI3EndcapTimingSimTune2017 = [ 2018, 2018, 2018], + EndcapCrossTalk2017 = [ 0.06, 0.06, 0.06], + EndcapNoiseOccupancy2017 = [ 5e-8, 5e-8, 5e-8], + EndcapDisableProbability2017 = [ 9e-3, 9e-3, 9e-3], + DBMToTThreshold2017 = [ -1, -1, -1], + DBMCrossTalk2017 = [ 0.06, 0.06, 0.06], + DBMNoiseOccupancy2017 = [ 5e-8, 5e-8, 5e-8], + DBMDisableProbability2017 = [ 9e-3, 9e-3, 9e-3], + IBLNoiseShape2017 = [0.0, 0.0330, 0.0, 0.3026, 0.5019, 0.6760, 0.8412, 0.9918, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], + BLayerNoiseShape2017 = [0.0, 0.0, 0.0, 0.0, 0.2204, 0.5311, 0.7493, 0.8954, 0.9980, 1.0], + PixelNoiseShape2017 = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.2418, 0.4397, 0.5858, 0.6949, 0.7737, 0.8414, 0.8959, 0.9414, 0.9828, 1.0], + ) + #==================================================================================== + # RUN2 2018 + CondArgs.update( + BarrelToTThreshold2018 = [ -1, 3, 5, 5], + FEI3BarrelLatency2018 = [ 0, 151, 256, 256], + FEI3BarrelHitDuplication2018 = [False,False,False,False], + FEI3BarrelSmallHitToT2018 = [ -1, -1, -1, -1], + FEI3BarrelTimingSimTune2018 = [ -1, 2018, 2018, 2018], + BarrelCrossTalk2018 = [ 0.30, 0.06, 0.06, 0.06], + BarrelNoiseOccupancy2018 = [ 5e-8, 5e-8, 5e-8, 5e-8], + BarrelDisableProbability2018 = [ 9e-3, 9e-3, 9e-3, 9e-3], + EndcapToTThreshold2018 = [ 5, 5, 5], + FEI3EndcapLatency2018 = [ 256, 256, 256], + FEI3EndcapHitDuplication2018 = [False,False,False], + FEI3EndcapSmallHitToT2018 = [ -1, -1, -1], + FEI3EndcapTimingSimTune2018 = [ 2018, 2018, 2018], + EndcapCrossTalk2018 = [ 0.06, 0.06, 0.06], + EndcapNoiseOccupancy2018 = [ 5e-8, 5e-8, 5e-8], + EndcapDisableProbability2018 = [ 9e-3, 9e-3, 9e-3], + DBMToTThreshold2018 = [ -1, -1, -1], + DBMCrossTalk2018 = [ 0.06, 0.06, 0.06], + DBMNoiseOccupancy2018 = [ 5e-8, 5e-8, 5e-8], + DBMDisableProbability2018 = [ 9e-3, 9e-3, 9e-3], + IBLNoiseShape2018 = [0.0, 0.0330, 0.0, 0.3026, 0.5019, 0.6760, 0.8412, 0.9918, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0], + BLayerNoiseShape2018 = [0.0, 0.0, 0.0, 0.0, 0.2204, 0.5311, 0.7493, 0.8954, 0.9980, 1.0], + PixelNoiseShape2018 = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.2418, 0.4397, 0.5858, 0.6949, 0.7737, 0.8414, 0.8959, 0.9414, 0.9828, 1.0], + ) + #==================================================================================== + # RUN1 + CondArgs.update( + BarrelToTThresholdRUN1 = [ 3, 3, 3], + FEI3BarrelLatencyRUN1 = [ 256, 256, 256], + FEI3BarrelHitDuplicationRUN1 = [ True, True, True], + FEI3BarrelSmallHitToTRUN1 = [ 7, 7, 7], + FEI3BarrelTimingSimTuneRUN1 = [ 2009, 2009, 2009], + BarrelCrossTalkRUN1 = [ 0.06, 0.06, 0.06], + BarrelNoiseOccupancyRUN1 = [ 5e-8, 5e-8, 5e-8], + BarrelDisableProbabilityRUN1 = [ 9e-3, 9e-3, 9e-3], + EndcapToTThresholdRUN1 = [ 3, 3, 3], + FEI3EndcapLatencyRUN1 = [ 256, 256, 256], + FEI3EndcapHitDuplicationRUN1 = [ True, True, True], + FEI3EndcapSmallHitToTRUN1 = [ 7, 7, 7], + FEI3EndcapTimingSimTuneRUN1 = [ 2009, 2009, 2009], + EndcapCrossTalkRUN1 = [ 0.06, 0.06, 0.06], + EndcapNoiseOccupancyRUN1 = [ 5e-8, 5e-8, 5e-8], + EndcapDisableProbabilityRUN1 = [ 9e-3, 9e-3, 9e-3], + BLayerNoiseShapeRUN1 = [0.0, 0.0, 0.0, 0.0, 0.2204, 0.5311, 0.7493, 0.8954, 0.9980, 1.0], + PixelNoiseShapeRUN1 = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.2418, 0.4397, 0.5858, 0.6949, 0.7737, 0.8414, 0.8959, 0.9414, 0.9828, 1.0], + ) + #==================================================================================== + # ITK + CondArgs.update( + BarrelToTThresholdITK = [ 3, 3, 3, 3, 3], + BarrelCrossTalkITK = [ 0.06, 0.06, 0.06, 0.06, 0.06], + BarrelNoiseOccupancyITK = [ 5e-8, 5e-8, 5e-8, 5e-8, 5e-8], + BarrelDisableProbabilityITK = [ 9e-3, 9e-3, 9e-3, 9e-3, 9e-3], + EndcapToTThresholdITK = [ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3], + EndcapCrossTalkITK = [ 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06], + EndcapNoiseOccupancyITK = [ 5e-8, 5e-8, 5e-8, 5e-8, 5e-8, 5e-8, 5e-8, 5e-8, 5e-8, 5e-8, 5e-8, 5e-8, 5e-8, 5e-8], + EndcapDisableProbabilityITK = [ 9e-3, 9e-3, 9e-3, 9e-3, 9e-3, 9e-3, 9e-3, 9e-3, 9e-3, 9e-3, 9e-3, 9e-3, 9e-3, 9e-3], + InnermostNoiseShapeITK = [0.0, 1.0], + NextInnermostNoiseShapeITK = [0.0, 1.0], + PixelNoiseShapeITK = [0.0, 1.0] + ) + # Charge calibration parameters CondArgs.update( DefaultCalibrationParameterA=70.2, @@ -215,7 +239,7 @@ def PixelConfigCondAlgCfg(flags, name="PixelConfigCondAlg", **kwargs): elif (runNum >= 222222 and runNum < 289350): # 2015 IdMappingDat="PixelCabling/Pixels_Atlas_IdMapping_Run2.dat" else: - IdMappingDat="PixelCabling/Pixels_Atlas_IdMapping_May08.dat" + IdMappingDat="PixelCabling/Pixels_Atlas_IdMapping_344494.dat" CondArgs.update( UseCablingConditions=useCablingConditions, diff --git a/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelConfigCondAlg.cxx b/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelConfigCondAlg.cxx index 48dc399d4199d550f9a5f0a179bf4a557fb088e5..b6fbbaa61fb03650bcc54e9909535dc685484dcf 100644 --- a/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelConfigCondAlg.cxx +++ b/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelConfigCondAlg.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration */ #include "PixelConfigCondAlg.h" @@ -9,14 +9,8 @@ #include <sstream> PixelConfigCondAlg::PixelConfigCondAlg(const std::string& name, ISvcLocator* pSvcLocator): - ::AthReentrantAlgorithm(name, pSvcLocator), - m_IBLNoiseShape({0.0,1.0}), - m_BLayerNoiseShape({0.0,1.0}), - m_PixelNoiseShape({0.0,1.0}) + ::AthReentrantAlgorithm(name, pSvcLocator) { - declareProperty("IBLNoiseShape", m_IBLNoiseShape); // This is ad-hoc solution. - declareProperty("BLayerNoiseShape", m_BLayerNoiseShape); - declareProperty("PixelNoiseShape", m_PixelNoiseShape); } StatusCode PixelConfigCondAlg::initialize() { @@ -151,61 +145,9 @@ StatusCode PixelConfigCondAlg::execute(const EventContext& ctx) const { writeCdo -> setDefaultBarrelInTimeThreshold(m_BarrelInTimeThreshold); writeCdo -> setDefaultEndcapInTimeThreshold(m_EndcapInTimeThreshold); writeCdo -> setDefaultDBMInTimeThreshold(m_DBMInTimeThreshold); - writeCdo -> setBarrelToTThreshold(m_BarrelToTThreshold); - writeCdo -> setEndcapToTThreshold(m_EndcapToTThreshold); - writeCdo -> setDBMToTThreshold(m_DBMToTThreshold); - writeCdo -> setBarrelCrossTalk(m_BarrelCrossTalk); - writeCdo -> setEndcapCrossTalk(m_EndcapCrossTalk); - writeCdo -> setDBMCrossTalk(m_DBMCrossTalk); writeCdo -> setBarrelThermalNoise(m_BarrelThermalNoise); writeCdo -> setEndcapThermalNoise(m_EndcapThermalNoise); writeCdo -> setDBMThermalNoise(m_DBMThermalNoise); - writeCdo -> setBarrelNoiseOccupancy(m_BarrelNoiseOccupancy); - writeCdo -> setEndcapNoiseOccupancy(m_EndcapNoiseOccupancy); - writeCdo -> setDBMNoiseOccupancy(m_DBMNoiseOccupancy); - writeCdo -> setBarrelDisableProbability(m_BarrelDisableProbability); - writeCdo -> setEndcapDisableProbability(m_EndcapDisableProbability); - writeCdo -> setDBMDisableProbability(m_DBMDisableProbability); - - for (size_t i=0; i<m_IBLNoiseShape.size(); i++) { writeCdo->setBarrelNoiseShape(0,m_IBLNoiseShape.at(i)); } - for (size_t i=0; i<m_BLayerNoiseShape.size(); i++) { writeCdo->setBarrelNoiseShape(1,m_BLayerNoiseShape.at(i)); } - for (size_t i=0; i<m_PixelNoiseShape.size(); i++) { writeCdo->setBarrelNoiseShape(2,m_PixelNoiseShape.at(i)); } - for (size_t i=0; i<m_PixelNoiseShape.size(); i++) { writeCdo->setBarrelNoiseShape(3,m_PixelNoiseShape.at(i)); } - - for (size_t i=0; i<m_PixelNoiseShape.size(); i++) { writeCdo->setEndcapNoiseShape(0,m_PixelNoiseShape.at(i)); } - for (size_t i=0; i<m_PixelNoiseShape.size(); i++) { writeCdo->setEndcapNoiseShape(1,m_PixelNoiseShape.at(i)); } - for (size_t i=0; i<m_PixelNoiseShape.size(); i++) { writeCdo->setEndcapNoiseShape(2,m_PixelNoiseShape.at(i)); } - - for (size_t i=0; i<m_IBLNoiseShape.size(); i++) { writeCdo->setDBMNoiseShape(0,m_IBLNoiseShape.at(i)); } - for (size_t i=0; i<m_IBLNoiseShape.size(); i++) { writeCdo->setDBMNoiseShape(1,m_IBLNoiseShape.at(i)); } - for (size_t i=0; i<m_IBLNoiseShape.size(); i++) { writeCdo->setDBMNoiseShape(2,m_IBLNoiseShape.at(i)); } - -/* - for (size_t i=0; i<m_BarrelNoiseShape.size(); i++) { - for (size_t j=0; j<m_BarrelNoiseShape[i].size(); j++) { - writeCdo -> setBarrelNoiseShape(i,m_BarrelNoiseShape[i][j]); - } - } - for (size_t i=0; i<m_EndcapNoiseShape.size(); i++) { - for (size_t j=0; j<m_EndcapNoiseShape[i].size(); j++) { - writeCdo -> setEndcapNoiseShape(i,m_EndcapNoiseShape[i][j]); - } - } - for (size_t i=0; i<m_DBMNoiseShape.size(); i++) { - for (size_t j=0; j<m_DBMNoiseShape[i].size(); j++) { - writeCdo -> setDBMNoiseShape(i,m_DBMNoiseShape[i][j]); - } - } -*/ - - writeCdo -> setFEI3BarrelLatency(m_FEI3BarrelLatency); - writeCdo -> setFEI3EndcapLatency(m_FEI3EndcapLatency); - writeCdo -> setFEI3BarrelHitDuplication(m_FEI3BarrelHitDuplication); - writeCdo -> setFEI3EndcapHitDuplication(m_FEI3EndcapHitDuplication); - writeCdo -> setFEI3BarrelSmallHitToT(m_FEI3BarrelSmallHitToT); - writeCdo -> setFEI3EndcapSmallHitToT(m_FEI3EndcapSmallHitToT); - writeCdo -> setFEI3BarrelTimingSimTune(m_FEI3BarrelTimingSimTune); - writeCdo -> setFEI3EndcapTimingSimTune(m_FEI3EndcapTimingSimTune); writeCdo -> setFEI4BarrelHitDiscConfig(m_FEI4BarrelHitDiscConfig); writeCdo -> setFEI4EndcapHitDiscConfig(m_FEI4EndcapHitDiscConfig); @@ -218,10 +160,6 @@ StatusCode PixelConfigCondAlg::execute(const EventContext& ctx) const { writeCdo -> setDefaultBiasVoltage(m_biasVoltage); writeCdo -> setDefaultTemperature(m_temperature); - // Cabling parameters - writeCdo -> setCablingMapToFile(m_cablingMapToFile); - writeCdo -> setCablingMapFileName(m_cablingMapFileName); - // Distortion parameters writeCdo -> setDistortionInputSource(m_distortionInputSource); writeCdo -> setDistortionVersion(m_distortionVersion); @@ -235,6 +173,228 @@ StatusCode PixelConfigCondAlg::execute(const EventContext& ctx) const { writeCdo -> setDistortionWriteToFile(m_distortionWriteToFile); writeCdo -> setDistortionFileName(m_distortionFileName); + // Cabling parameters + writeCdo -> setCablingMapToFile(m_cablingMapToFile); + writeCdo -> setCablingMapFileName(m_cablingMapFileName); + + int currentRunNumber = ctx.eventID().run_number(); + if (currentRunNumber<222222) { + writeCdo -> setBarrelToTThreshold(m_BarrelToTThresholdRUN1); + writeCdo -> setFEI3BarrelLatency(m_FEI3BarrelLatencyRUN1); + writeCdo -> setFEI3BarrelHitDuplication(m_FEI3BarrelHitDuplicationRUN1); + writeCdo -> setFEI3BarrelSmallHitToT(m_FEI3BarrelSmallHitToTRUN1); + writeCdo -> setFEI3BarrelTimingSimTune(m_FEI3BarrelTimingSimTuneRUN1); + writeCdo -> setBarrelCrossTalk(m_BarrelCrossTalkRUN1); + writeCdo -> setBarrelNoiseOccupancy(m_BarrelNoiseOccupancyRUN1); + writeCdo -> setBarrelDisableProbability(m_BarrelDisableProbabilityRUN1); + + writeCdo -> setEndcapToTThreshold(m_EndcapToTThresholdRUN1); + writeCdo -> setFEI3EndcapLatency(m_FEI3EndcapLatencyRUN1); + writeCdo -> setFEI3EndcapHitDuplication(m_FEI3EndcapHitDuplicationRUN1); + writeCdo -> setFEI3EndcapSmallHitToT(m_FEI3EndcapSmallHitToTRUN1); + writeCdo -> setFEI3EndcapTimingSimTune(m_FEI3EndcapTimingSimTuneRUN1); + writeCdo -> setEndcapCrossTalk(m_EndcapCrossTalkRUN1); + writeCdo -> setEndcapNoiseOccupancy(m_EndcapNoiseOccupancyRUN1); + writeCdo -> setEndcapDisableProbability(m_EndcapDisableProbabilityRUN1); + + // This is ad-hoc solution. + for (size_t i=0; i<m_BLayerNoiseShapeRUN1.size(); i++) { writeCdo->setBarrelNoiseShape(0,m_BLayerNoiseShapeRUN1[i]); } + for (size_t i=0; i<m_PixelNoiseShapeRUN1.size(); i++) { + for (size_t layer:{1,2}) { writeCdo->setBarrelNoiseShape(layer,m_PixelNoiseShapeRUN1[i]); } + } + + for (size_t i=0; i<m_PixelNoiseShapeRUN1.size(); i++) { + for (size_t layer:{0,1,2}) { writeCdo->setEndcapNoiseShape(layer,m_PixelNoiseShapeRUN1[i]); } + } + } + else if (currentRunNumber<240000) { // RUN2 + writeCdo -> setBarrelToTThreshold(m_BarrelToTThreshold2016); + writeCdo -> setFEI3BarrelLatency(m_FEI3BarrelLatency2016); + writeCdo -> setFEI3BarrelHitDuplication(m_FEI3BarrelHitDuplication2016); + writeCdo -> setFEI3BarrelSmallHitToT(m_FEI3BarrelSmallHitToT2016); + writeCdo -> setFEI3BarrelTimingSimTune(m_FEI3BarrelTimingSimTune2016); + writeCdo -> setBarrelCrossTalk(m_BarrelCrossTalk2016); + writeCdo -> setBarrelNoiseOccupancy(m_BarrelNoiseOccupancy2016); + writeCdo -> setBarrelDisableProbability(m_BarrelDisableProbability2016); + + writeCdo -> setEndcapToTThreshold(m_EndcapToTThreshold2016); + writeCdo -> setFEI3EndcapLatency(m_FEI3EndcapLatency2016); + writeCdo -> setFEI3EndcapHitDuplication(m_FEI3EndcapHitDuplication2016); + writeCdo -> setFEI3EndcapSmallHitToT(m_FEI3EndcapSmallHitToT2016); + writeCdo -> setFEI3EndcapTimingSimTune(m_FEI3EndcapTimingSimTune2016); + writeCdo -> setEndcapCrossTalk(m_EndcapCrossTalk2016); + writeCdo -> setEndcapNoiseOccupancy(m_EndcapNoiseOccupancy2016); + writeCdo -> setEndcapDisableProbability(m_EndcapDisableProbability2016); + + writeCdo -> setDBMToTThreshold(m_DBMToTThreshold2016); + writeCdo -> setDBMCrossTalk(m_DBMCrossTalk2016); + writeCdo -> setDBMNoiseOccupancy(m_DBMNoiseOccupancy2016); + writeCdo -> setDBMDisableProbability(m_DBMDisableProbability2016); + + /* + So far, Gaudi::Property does not support 2D vector. + for (size_t i=0; i<m_BarrelNoiseShape.size(); i++) { + for (size_t j=0; j<m_BarrelNoiseShape[i].size(); j++) { + writeCdo -> setBarrelNoiseShape(i,m_BarrelNoiseShape[i][j]); + } + } + */ + + // This is ad-hoc solution. + for (size_t i=0; i<m_IBLNoiseShape2016.size(); i++) { writeCdo->setBarrelNoiseShape(0,m_IBLNoiseShape2016[i]); } + for (size_t i=0; i<m_BLayerNoiseShape2016.size(); i++) { writeCdo->setBarrelNoiseShape(1,m_BLayerNoiseShape2016[i]); } + for (size_t i=0; i<m_PixelNoiseShape2016.size(); i++) { + for (size_t layer:{2,3}) { writeCdo->setBarrelNoiseShape(layer,m_PixelNoiseShape2016[i]); } + } + + for (size_t i=0; i<m_PixelNoiseShape2016.size(); i++) { + for (size_t layer:{0,1,2}) { writeCdo->setEndcapNoiseShape(layer,m_PixelNoiseShape2016[i]); } + } + + for (size_t i=0; i<m_IBLNoiseShape2016.size(); i++) { + for (size_t layer:{0,1,2}) { writeCdo->setDBMNoiseShape(layer,m_IBLNoiseShape2016[i]); } + } + } + else if (currentRunNumber<250000) { // RUN4 + writeCdo -> setBarrelToTThreshold(m_BarrelToTThresholdITK); + writeCdo -> setBarrelCrossTalk(m_BarrelCrossTalkITK); + writeCdo -> setBarrelNoiseOccupancy(m_BarrelNoiseOccupancyITK); + writeCdo -> setBarrelDisableProbability(m_BarrelDisableProbabilityITK); + + writeCdo -> setEndcapToTThreshold(m_EndcapToTThresholdITK); + writeCdo -> setEndcapCrossTalk(m_EndcapCrossTalkITK); + writeCdo -> setEndcapNoiseOccupancy(m_EndcapNoiseOccupancyITK); + writeCdo -> setEndcapDisableProbability(m_EndcapDisableProbabilityITK); + + // This is ad-hoc solution. + for (size_t i=0; i<m_InnermostNoiseShapeITK.size(); i++) { writeCdo->setBarrelNoiseShape(0,m_InnermostNoiseShapeITK[i]); } + for (size_t i=0; i<m_NextInnermostNoiseShapeITK.size(); i++) { writeCdo->setBarrelNoiseShape(1,m_NextInnermostNoiseShapeITK[i]); } + for (size_t i=0; i<m_PixelNoiseShapeITK.size(); i++) { + for (size_t layer:{2,3,4}) { writeCdo->setBarrelNoiseShape(layer,m_PixelNoiseShapeITK[i]); } + } + + for (size_t i=0; i<m_EndcapToTThresholdITK.size(); i++) { + for (size_t j=0; j<m_PixelNoiseShapeITK.size(); j++) { writeCdo->setEndcapNoiseShape(i,m_PixelNoiseShapeITK[j]); } + } + } + else if (currentRunNumber<300000) { // RUN2 2015/2016 + writeCdo -> setBarrelToTThreshold(m_BarrelToTThreshold2016); + writeCdo -> setFEI3BarrelLatency(m_FEI3BarrelLatency2016); + writeCdo -> setFEI3BarrelHitDuplication(m_FEI3BarrelHitDuplication2016); + writeCdo -> setFEI3BarrelSmallHitToT(m_FEI3BarrelSmallHitToT2016); + writeCdo -> setFEI3BarrelTimingSimTune(m_FEI3BarrelTimingSimTune2016); + writeCdo -> setBarrelCrossTalk(m_BarrelCrossTalk2016); + writeCdo -> setBarrelNoiseOccupancy(m_BarrelNoiseOccupancy2016); + writeCdo -> setBarrelDisableProbability(m_BarrelDisableProbability2016); + + writeCdo -> setEndcapToTThreshold(m_EndcapToTThreshold2016); + writeCdo -> setFEI3EndcapLatency(m_FEI3EndcapLatency2016); + writeCdo -> setFEI3EndcapHitDuplication(m_FEI3EndcapHitDuplication2016); + writeCdo -> setFEI3EndcapSmallHitToT(m_FEI3EndcapSmallHitToT2016); + writeCdo -> setFEI3EndcapTimingSimTune(m_FEI3EndcapTimingSimTune2016); + writeCdo -> setEndcapCrossTalk(m_EndcapCrossTalk2016); + writeCdo -> setEndcapNoiseOccupancy(m_EndcapNoiseOccupancy2016); + writeCdo -> setEndcapDisableProbability(m_EndcapDisableProbability2016); + + writeCdo -> setDBMToTThreshold(m_DBMToTThreshold2016); + writeCdo -> setDBMCrossTalk(m_DBMCrossTalk2016); + writeCdo -> setDBMNoiseOccupancy(m_DBMNoiseOccupancy2016); + writeCdo -> setDBMDisableProbability(m_DBMDisableProbability2016); + + // This is ad-hoc solution. + for (size_t i=0; i<m_IBLNoiseShape2016.size(); i++) { writeCdo->setBarrelNoiseShape(0,m_IBLNoiseShape2016[i]); } + for (size_t i=0; i<m_BLayerNoiseShape2016.size(); i++) { writeCdo->setBarrelNoiseShape(1,m_BLayerNoiseShape2016[i]); } + for (size_t i=0; i<m_PixelNoiseShape2016.size(); i++) { + for (size_t layer:{2,3}) { writeCdo->setBarrelNoiseShape(layer,m_PixelNoiseShape2016[i]); } + } + + for (size_t i=0; i<m_PixelNoiseShape2016.size(); i++) { + for (size_t layer:{0,1,2}) { writeCdo->setEndcapNoiseShape(layer,m_PixelNoiseShape2016[i]); } + } + + for (size_t i=0; i<m_IBLNoiseShape2016.size(); i++) { + for (size_t layer:{0,1,2}) { writeCdo->setDBMNoiseShape(layer,m_IBLNoiseShape2016[i]); } + } + } + else if (currentRunNumber<310000) { // RUN2 2017 + writeCdo -> setBarrelToTThreshold(m_BarrelToTThreshold2017); + writeCdo -> setFEI3BarrelLatency(m_FEI3BarrelLatency2017); + writeCdo -> setFEI3BarrelHitDuplication(m_FEI3BarrelHitDuplication2017); + writeCdo -> setFEI3BarrelSmallHitToT(m_FEI3BarrelSmallHitToT2017); + writeCdo -> setFEI3BarrelTimingSimTune(m_FEI3BarrelTimingSimTune2017); + writeCdo -> setBarrelCrossTalk(m_BarrelCrossTalk2017); + writeCdo -> setBarrelNoiseOccupancy(m_BarrelNoiseOccupancy2017); + writeCdo -> setBarrelDisableProbability(m_BarrelDisableProbability2017); + + writeCdo -> setEndcapToTThreshold(m_EndcapToTThreshold2017); + writeCdo -> setFEI3EndcapLatency(m_FEI3EndcapLatency2017); + writeCdo -> setFEI3EndcapHitDuplication(m_FEI3EndcapHitDuplication2017); + writeCdo -> setFEI3EndcapSmallHitToT(m_FEI3EndcapSmallHitToT2017); + writeCdo -> setFEI3EndcapTimingSimTune(m_FEI3EndcapTimingSimTune2017); + writeCdo -> setEndcapCrossTalk(m_EndcapCrossTalk2017); + writeCdo -> setEndcapNoiseOccupancy(m_EndcapNoiseOccupancy2017); + writeCdo -> setEndcapDisableProbability(m_EndcapDisableProbability2017); + + writeCdo -> setDBMToTThreshold(m_DBMToTThreshold2017); + writeCdo -> setDBMCrossTalk(m_DBMCrossTalk2017); + writeCdo -> setDBMNoiseOccupancy(m_DBMNoiseOccupancy2017); + writeCdo -> setDBMDisableProbability(m_DBMDisableProbability2017); + + // This is ad-hoc solution. + for (size_t i=0; i<m_IBLNoiseShape2017.size(); i++) { writeCdo->setBarrelNoiseShape(0,m_IBLNoiseShape2017[i]); } + for (size_t i=0; i<m_BLayerNoiseShape2017.size(); i++) { writeCdo->setBarrelNoiseShape(1,m_BLayerNoiseShape2017[i]); } + for (size_t i=0; i<m_PixelNoiseShape2017.size(); i++) { + for (size_t layer:{2,3}) { writeCdo->setBarrelNoiseShape(layer,m_PixelNoiseShape2017[i]); } + } + + for (size_t i=0; i<m_PixelNoiseShape2017.size(); i++) { + for (size_t layer:{0,1,2}) { writeCdo->setEndcapNoiseShape(layer,m_PixelNoiseShape2017[i]); } + } + + for (size_t i=0; i<m_IBLNoiseShape2017.size(); i++) { + for (size_t layer:{0,1,2}) { writeCdo->setDBMNoiseShape(layer,m_IBLNoiseShape2017[i]); } + } + } + else { // RUN2 2018 + writeCdo -> setBarrelToTThreshold(m_BarrelToTThreshold2018); + writeCdo -> setFEI3BarrelLatency(m_FEI3BarrelLatency2018); + writeCdo -> setFEI3BarrelHitDuplication(m_FEI3BarrelHitDuplication2018); + writeCdo -> setFEI3BarrelSmallHitToT(m_FEI3BarrelSmallHitToT2018); + writeCdo -> setFEI3BarrelTimingSimTune(m_FEI3BarrelTimingSimTune2018); + writeCdo -> setBarrelCrossTalk(m_BarrelCrossTalk2018); + writeCdo -> setBarrelNoiseOccupancy(m_BarrelNoiseOccupancy2018); + writeCdo -> setBarrelDisableProbability(m_BarrelDisableProbability2018); + + writeCdo -> setEndcapToTThreshold(m_EndcapToTThreshold2018); + writeCdo -> setFEI3EndcapLatency(m_FEI3EndcapLatency2018); + writeCdo -> setFEI3EndcapHitDuplication(m_FEI3EndcapHitDuplication2018); + writeCdo -> setFEI3EndcapSmallHitToT(m_FEI3EndcapSmallHitToT2018); + writeCdo -> setFEI3EndcapTimingSimTune(m_FEI3EndcapTimingSimTune2018); + writeCdo -> setEndcapCrossTalk(m_EndcapCrossTalk2018); + writeCdo -> setEndcapNoiseOccupancy(m_EndcapNoiseOccupancy2018); + writeCdo -> setEndcapDisableProbability(m_EndcapDisableProbability2018); + + writeCdo -> setDBMToTThreshold(m_DBMToTThreshold2018); + writeCdo -> setDBMCrossTalk(m_DBMCrossTalk2018); + writeCdo -> setDBMNoiseOccupancy(m_DBMNoiseOccupancy2018); + writeCdo -> setDBMDisableProbability(m_DBMDisableProbability2018); + + // This is ad-hoc solution. + for (size_t i=0; i<m_IBLNoiseShape2018.size(); i++) { writeCdo->setBarrelNoiseShape(0,m_IBLNoiseShape2018[i]); } + for (size_t i=0; i<m_BLayerNoiseShape2018.size(); i++) { writeCdo->setBarrelNoiseShape(1,m_BLayerNoiseShape2018[i]); } + for (size_t i=0; i<m_PixelNoiseShape2018.size(); i++) { + for (size_t layer:{2,3}) { writeCdo->setBarrelNoiseShape(layer,m_PixelNoiseShape2018[i]); } + } + + for (size_t i=0; i<m_PixelNoiseShape2018.size(); i++) { + for (size_t layer:{0,1,2}) { writeCdo->setEndcapNoiseShape(layer,m_PixelNoiseShape2018[i]); } + } + + for (size_t i=0; i<m_IBLNoiseShape2018.size(); i++) { + for (size_t layer:{0,1,2}) { writeCdo->setDBMNoiseShape(layer,m_IBLNoiseShape2018[i]); } + } + } + //======================= // Combine time interval //======================= diff --git a/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelConfigCondAlg.h b/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelConfigCondAlg.h index 43800012a500eaa275f1623cec4f6188b3c4bd0a..ebb5a04ad2771622fa90fd8b46ab5ba840cb9657 100644 --- a/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelConfigCondAlg.h +++ b/InnerDetector/InDetConditions/PixelConditionsAlgorithms/src/PixelConfigCondAlg.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration */ /** * @file PixelConditionsAlgorithms/PixelConfigCondAlg.h @@ -32,6 +32,10 @@ class PixelConfigCondAlg : public AthReentrantAlgorithm { virtual StatusCode execute(const EventContext& ctx) const override; private: + // Key for basic pixel parameters + SG::WriteCondHandleKey<PixelModuleData> m_writeKey + {this, "WriteKey", "PixelModuleData", "Output key of pixel module data"}; + // Switch parameters Gaudi::Property<bool> m_useCalibConditions {this, "UseCalibConditions", true, "Use conditions DB for charge calibration"}; @@ -66,6 +70,9 @@ class PixelConfigCondAlg : public AthReentrantAlgorithm { double m_ComTime{0.0}; + SG::ReadHandleKey<ComTime> m_ComTimeKey + {this, "ComTimeKey", "ComTime", "Commissioning time for cosmic"}; + Gaudi::Property<std::vector<int>> m_BarrelNumberOfBCID {this, "BarrelNumberOfBCID", {1,1,1,1}, "BCID numbers for barrel pixel layers"}; @@ -93,14 +100,409 @@ class PixelConfigCondAlg : public AthReentrantAlgorithm { Gaudi::Property<std::vector<double>> m_DBMTimeJitter {this, "DBMTimeJitter", {0.0,0.0,0.0}, "Time jitter of DBM layer"}; + // Dead map key. This will be replaced once new deadmap format is validated. + SG::ReadCondHandleKey<CondAttrListCollection> m_readDeadMapKey + {this, "ReadDeadMapKey", "/PIXEL/PixMapOverlay", "Input key of deadmap conditions folder"}; + + //==================================================================================== + // Run-dependent SIMULATION(digitization) parameters: + // + // So far, they are year-granularity (3 entries!), thus they may be still + // controlled via job option. + // + // MC Project: RUN1 RUN2 mc16a RUN2 mc16d RUN2 mc16e + // Year: - 2014 2015/2016 2017 2018 + // Run Number: <222222 284500 300000 310000 + // + // Barrel: + // ToT: [ 3, 3, 3] [ -1, 5, 5, 5] [ -1, 5, 5, 5] [ -1, 3, 5, 5] + // Latency: [ 256, 256, 256] [ -1, 150, 256, 256] [ -1, 150, 256, 256] [ -1, 150, 256, 256] + // Duplicaiton: [ T, T, T] [ N/A, F, F, F] [ N/A, F, F, F] [ N/A, F, F, F] + // SmallHit: [ 7, 7, 7] [ N/A, 0, 0, 0] [ N/A, 0, 0, 0] [ N/A, 0, 0, 0] + // TimingTune: [2009,2009,2009] [ N/A,2015,2015,2015] [ N/A,2018,2018,2018] [ N/A,2018,2018,2018] + // CrossTalk: [0.06,0.06,0.06] [0.30,0.06,0.06,0.06] [0.30,0.06,0.06,0.06] [0.30,0.06,0.06,0.06] + // NoiseOcc.: [5e-8,5e-8,5e-8] [5e-8,5e-8,5e-8,5e-8] [5e-8,5e-8,5e-8,5e-8] [5e-8,5e-8,5e-8,5e-8] + // DisalbePix: [9e-3,9e-3,9e-3] [9e-3,9e-3,9e-3,9e-3] [9e-3,9e-3,9e-3,9e-3] [9e-3,9e-3,9e-3,9e-3] + // NoiseShape: [2018,2018,2018] [2018,2018,2018,2018] [2018,2018,2018,2018] [2018,2018,2018,2018] + // + // Endcap: + // ToT: [ 3, 3, 3] [ 5, 5, 5] [ 5, 5, 5] [ 5, 5, 5] + // Latency: [ 256, 256, 256] [ 256, 256, 256] [ 256, 256, 256] [ 256, 256, 256] + // Duplicaiton: [ T, T, T] [ F, F, F] [ F, F, F] [ F, F, F] + // SmallHit: [ 7, 7, 7] [ 0, 0, 0] [ 0, 0, 0] [ 0, 0, 0] + // TimingTune: [2009,2009,2009] [2015,2015,2015] [2018,2018,2018] [2018,2018,2018] + // CrossTalk: [0.06,0.06,0.06] [0.06,0.06,0.06] [0.06,0.06,0.06] [0.06,0.06,0.06] + // NoiseOcc.: [5e-8,5e-8,5e-8] [5e-8,5e-8,5e-8] [5e-8,5e-8,5e-8] [5e-8,5e-8,5e-8] + // DisalbePix: [9e-3,9e-3,9e-3] [9e-3,9e-3,9e-3] [9e-3,9e-3,9e-3] [9e-3,9e-3,9e-3] + // NoiseShape: [2018,2018,2018] [2018,2018,2018] [2018,2018,2018] [2018,2018,2018] + // + // DBM: + // ToT: [N/A] [ -1, -1, -1] [ -1, -1, -1] [ -1, -1, -1] + // CrossTalk: [N/A] [0.06,0.06,0.06] [0.06,0.06,0.06] [0.06,0.06,0.06] + // NoiseOcc.: [N/A] [5e-8,5e-8,5e-8] [5e-8,5e-8,5e-8] [5e-8,5e-8,5e-8] + // DisalbePix: [N/A] [9e-3,9e-3,9e-3] [9e-3,9e-3,9e-3] [9e-3,9e-3,9e-3] + // + // See https://twiki.cern.ch/twiki/bin/view/Atlas/PixelConditionsRUN2 + // for further details. + // + // + // Upgrade ITk-pixel + // + // MC Project: RUN4 (unknown) + // Year: 2027 + // Run Number: [240000-250000] + // + // Barrel: + // ToT: [ 3, 3, 3, 3, 3] + // CrossTalk: [0.06,0.06,0.06,0.06,0.06] + // NoiseOcc.: [5e-8,5e-8,5e-8,5e-8,5e-8] + // DisalbePix: [9e-3,9e-3,9e-3,9e-3,9e-3] + // NoiseShape: [2018,2018,2018,2018,2018] + // + // Endcap: + // ToT: [ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3] + // CrossTalk: [0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06] + // NoiseOcc.: [5e-8,5e-8,5e-8,5e-8,5e-8,5e-8,5e-8,5e-8,5e-8,5e-8,5e-8,5e-8,5e-8,5e-8] + // DisalbePix: [9e-3,9e-3,9e-3,9e-3,9e-3,9e-3,9e-3,9e-3,9e-3,9e-3,9e-3,9e-3,9e-3,9e-3] + // NoiseShape: [2018,2018,2018,2018,2018,2018,2018,2018,2018,2018,2018,2018,2018,2018] + // + //==================================================================================== + + // Variable definition is a bit ugly here... + //==================================================================================== + // Barrel RUN2 2015/2016 + Gaudi::Property<std::vector<int>> m_BarrelToTThreshold2016 + {this, "BarrelToTThreshold2016", {-1, 5, 5, 5}, "ToT thresholds for barrel pixel layers in 2015/2016"}; + + Gaudi::Property<std::vector<int>> m_FEI3BarrelLatency2016 + {this, "FEI3BarrelLatency2016", { 0,151,256,256}, "FEI3 latency for barrel pixel layers in 2015/2016"}; + + Gaudi::Property<std::vector<bool>> m_FEI3BarrelHitDuplication2016 + {this, "FEI3BarrelHitDuplication2016", {false,false,false,false}, "Use FEI3 hit-duplicaiton for barrel pixel layers in 2015/2016"}; + + Gaudi::Property<std::vector<int>> m_FEI3BarrelSmallHitToT2016 + {this, "FEI3BarrelSmallHitToT2016", {-1,-1,-1,-1}, "Small hit ToT thresold for FEI3 hit-duplication of barrel pixel layers in 2015/2016"}; + + Gaudi::Property<std::vector<int>> m_FEI3BarrelTimingSimTune2016 + {this, "FEI3BarrelTimingSimTune2016", {-1,2015,2015,2015}, "FEI3 timing tuning set of barrel pixel layers in 2015/2016"}; + + Gaudi::Property<std::vector<double>> m_BarrelCrossTalk2016 + {this, "BarrelCrossTalk2016", {0.30,0.06,0.06,0.06}, "Cross-talk fraction of barrel pixel layers in 2015/2016"}; + + Gaudi::Property<std::vector<double>> m_BarrelNoiseOccupancy2016 + {this, "BarrelNoiseOccupancy2016", {5e-8,5e-8,5e-8,5e-8}, "Noise occupancy of barrel pixel layers in 2015/2016"}; + + Gaudi::Property<std::vector<double>> m_BarrelDisableProbability2016 + {this, "BarrelDisableProbability2016", {9e-3,9e-3,9e-3,9e-3}, "Disable probability of barrel pixel layers in 2015/2016"}; + +// So far, Gaudi::Property does not support 2D vector. +// Gaudi::Property<std::vector<std::vector<float>>> m_BarrelNoiseShape2016 +// {this, "BarrelNoiseShape", {{0.0,1.0},{0.0,1.0},{0.0,1.0},{0.0,1.0}}, "Noise shape of barrel pixel layers"}; + + // This is ad-hoc solution. + Gaudi::Property<std::vector<float>> m_IBLNoiseShape2016 + {this, "IBLNoiseShape2016", {0.0,1.0}, "Noise shape for IBL in 2015/2016"}; + + Gaudi::Property<std::vector<float>> m_BLayerNoiseShape2016 + {this, "BLayerNoiseShape2016", {0.0,1.0}, "Noise shape for b-layer in 2015/2016"}; + + Gaudi::Property<std::vector<float>> m_PixelNoiseShape2016 + {this, "PixelNoiseShape2016", {0.0,1.0}, "Noise shape for PIXEL in 2015/2016"}; + + // Endcap RUN2 2015/2016 + Gaudi::Property<std::vector<int>> m_EndcapToTThreshold2016 + {this, "EndcapToTThreshold2016", { 5, 5, 5}, "ToT thresholds for endcap pixel layers in 2015/2016"}; + + Gaudi::Property<std::vector<int>> m_FEI3EndcapLatency2016 + {this, "FEI3EndcapLatency2016", {256,256,256}, "FEI3 latency for endcap pixel layers in 2015/2016"}; + + Gaudi::Property<std::vector<bool>> m_FEI3EndcapHitDuplication2016 + {this, "FEI3EndcapHitDuplication2016", {false,false,false}, "Use FEI3 hit-duplicaiton for endcap pixel layers in 2015/2016"}; + + Gaudi::Property<std::vector<int>> m_FEI3EndcapSmallHitToT2016 + {this, "FEI3EndcapSmallHitToT2016", {-1,-1,-1}, "Small hit ToT thresold for FEI3 hit-duplication of endcap pixel layers in 2015/2016"}; + + Gaudi::Property<std::vector<int>> m_FEI3EndcapTimingSimTune2016 + {this, "FEI3EndcapTimingSimTune2016", {2015,2015,2015}, "FEI3 timing tuning set of endcap pixel layers in 2015/2016"}; + + Gaudi::Property<std::vector<double>> m_EndcapCrossTalk2016 + {this, "EndcapCrossTalk2016", {0.06,0.06,0.06}, "Cross-talk fraction of barrel endcap layers in 2015/2016"}; + + Gaudi::Property<std::vector<double>> m_EndcapNoiseOccupancy2016 + {this, "EndcapNoiseOccupancy2016", {5e-8,5e-8,5e-8}, "Noise occupancy of endcap pixel layers in 2015/2016"}; + + Gaudi::Property<std::vector<double>> m_EndcapDisableProbability2016 + {this, "EndcapDisableProbability2016", {9e-3,9e-3,9e-3}, "Disable probability of endcap pixel layers in 2015/2016"}; + + // DBM RUN2 2015/2016 + Gaudi::Property<std::vector<int>> m_DBMToTThreshold2016 + {this, "DBMToTThreshold2016", {-1,-1,-1}, "ToT thresholds for DBM layers in 2015/2016"}; + + Gaudi::Property<std::vector<double>> m_DBMCrossTalk2016 + {this, "DBMCrossTalk2016", {0.06,0.06,0.06}, "Cross-talk fraction of barrel DBM layers in 2015/2016"}; + + Gaudi::Property<std::vector<double>> m_DBMNoiseOccupancy2016 + {this, "DBMNoiseOccupancy2016", {5e-8,5e-8,5e-8}, "Noise occupancy of DBM layers in 2015/2016"}; + + Gaudi::Property<std::vector<double>> m_DBMDisableProbability2016 + {this, "DBMDisableProbability2016", {9e-3,9e-3,9e-3}, "Disable probability of DBM pixel layers in 2015/2016"}; + + //==================================================================================== + // Barrel RUN2 2017 + Gaudi::Property<std::vector<int>> m_BarrelToTThreshold2017 + {this, "BarrelToTThreshold2017", {-1, 5, 5, 5}, "ToT thresholds for barrel pixel layers in 2017"}; + + Gaudi::Property<std::vector<int>> m_FEI3BarrelLatency2017 + {this, "FEI3BarrelLatency2017", { 0,151,256,256}, "FEI3 latency for barrel pixel layers in 2017"}; + + Gaudi::Property<std::vector<bool>> m_FEI3BarrelHitDuplication2017 + {this, "FEI3BarrelHitDuplication2017", {false,false,false,false}, "Use FEI3 hit-duplicaiton for barrel pixel layers in 2017"}; + + Gaudi::Property<std::vector<int>> m_FEI3BarrelSmallHitToT2017 + {this, "FEI3BarrelSmallHitToT2017", {-1,-1,-1,-1}, "Small hit ToT thresold for FEI3 hit-duplication of barrel pixel layers in 2017"}; + + Gaudi::Property<std::vector<int>> m_FEI3BarrelTimingSimTune2017 + {this, "FEI3BarrelTimingSimTune2017", {-1,2018,2018,2018}, "FEI3 timing tuning set of barrel pixel layers in 2017"}; + + Gaudi::Property<std::vector<double>> m_BarrelCrossTalk2017 + {this, "BarrelCrossTalk2017", {0.30,0.06,0.06,0.06}, "Cross-talk fraction of barrel pixel layers in 2017"}; + + Gaudi::Property<std::vector<double>> m_BarrelNoiseOccupancy2017 + {this, "BarrelNoiseOccupancy2017", {5e-8,5e-8,5e-8,5e-8}, "Noise occupancy of barrel pixel layers in 2017"}; + + Gaudi::Property<std::vector<double>> m_BarrelDisableProbability2017 + {this, "BarrelDisableProbability2017", {9e-3,9e-3,9e-3,9e-3}, "Disable probability of barrel pixel layers in 2017"}; + + // This is ad-hoc solution. + Gaudi::Property<std::vector<float>> m_IBLNoiseShape2017 + {this, "IBLNoiseShape2017", {0.0,1.0}, "Noise shape for IBL in 2017"}; + + Gaudi::Property<std::vector<float>> m_BLayerNoiseShape2017 + {this, "BLayerNoiseShape2017", {0.0,1.0}, "Noise shape for b-layer in 2017"}; + + Gaudi::Property<std::vector<float>> m_PixelNoiseShape2017 + {this, "PixelNoiseShape2017", {0.0,1.0}, "Noise shape for PIXEL in 2017"}; + + // Endcap RUN2 2017 + Gaudi::Property<std::vector<int>> m_EndcapToTThreshold2017 + {this, "EndcapToTThreshold2017", { 5, 5, 5}, "ToT thresholds for endcap pixel layers in 2017"}; + + Gaudi::Property<std::vector<int>> m_FEI3EndcapLatency2017 + {this, "FEI3EndcapLatency2017", {256,256,256}, "FEI3 latency for endcap pixel layers in 2017"}; + + Gaudi::Property<std::vector<bool>> m_FEI3EndcapHitDuplication2017 + {this, "FEI3EndcapHitDuplication2017", {false,false,false}, "Use FEI3 hit-duplicaiton for endcap pixel layers in 2017"}; + + Gaudi::Property<std::vector<int>> m_FEI3EndcapSmallHitToT2017 + {this, "FEI3EndcapSmallHitToT2017", {-1,-1,-1}, "Small hit ToT thresold for FEI3 hit-duplication of endcap pixel layers in 2017"}; + + Gaudi::Property<std::vector<int>> m_FEI3EndcapTimingSimTune2017 + {this, "FEI3EndcapTimingSimTune2017", {2018,2018,2018}, "FEI3 timing tuning set of endcap pixel layers in 2017"}; + + Gaudi::Property<std::vector<double>> m_EndcapCrossTalk2017 + {this, "EndcapCrossTalk2017", {0.06,0.06,0.06}, "Cross-talk fraction of barrel endcap layers in 2017"}; + + Gaudi::Property<std::vector<double>> m_EndcapNoiseOccupancy2017 + {this, "EndcapNoiseOccupancy2017", {5e-8,5e-8,5e-8}, "Noise occupancy of endcap pixel layers in 2017"}; + + Gaudi::Property<std::vector<double>> m_EndcapDisableProbability2017 + {this, "EndcapDisableProbability2017", {9e-3,9e-3,9e-3}, "Disable probability of endcap pixel layers in 2017"}; + + // DBM RUN2 2017 + Gaudi::Property<std::vector<int>> m_DBMToTThreshold2017 + {this, "DBMToTThreshold2017", {-1,-1,-1}, "ToT thresholds for DBM layers in 2017"}; + + Gaudi::Property<std::vector<double>> m_DBMCrossTalk2017 + {this, "DBMCrossTalk2017", {0.06,0.06,0.06}, "Cross-talk fraction of barrel DBM layers in 2017"}; + + Gaudi::Property<std::vector<double>> m_DBMNoiseOccupancy2017 + {this, "DBMNoiseOccupancy2017", {5e-8,5e-8,5e-8}, "Noise occupancy of DBM layers in 2017"}; + + Gaudi::Property<std::vector<double>> m_DBMDisableProbability2017 + {this, "DBMDisableProbability2017", {9e-3,9e-3,9e-3}, "Disable probability of DBM pixel layers in 2017"}; + + //==================================================================================== + // Barrel RUN2 2018 + Gaudi::Property<std::vector<int>> m_BarrelToTThreshold2018 + {this, "BarrelToTThreshold2018", {-1, 3, 5, 5}, "ToT thresholds for barrel pixel layers in 2018"}; + + Gaudi::Property<std::vector<int>> m_FEI3BarrelLatency2018 + {this, "FEI3BarrelLatency2018", { 0,151,256,256}, "FEI3 latency for barrel pixel layers in 2018"}; + + Gaudi::Property<std::vector<bool>> m_FEI3BarrelHitDuplication2018 + {this, "FEI3BarrelHitDuplication2018", {false,false,false,false}, "Use FEI3 hit-duplicaiton for barrel pixel layers in 2018"}; + + Gaudi::Property<std::vector<int>> m_FEI3BarrelSmallHitToT2018 + {this, "FEI3BarrelSmallHitToT2018", {-1,-1,-1,-1}, "Small hit ToT thresold for FEI3 hit-duplication of barrel pixel layers in 2018"}; + + Gaudi::Property<std::vector<int>> m_FEI3BarrelTimingSimTune2018 + {this, "FEI3BarrelTimingSimTune2018", {-1,2018,2018,2018}, "FEI3 timing tuning set of barrel pixel layers in 2018"}; + + Gaudi::Property<std::vector<double>> m_BarrelCrossTalk2018 + {this, "BarrelCrossTalk2018", {0.30,0.06,0.06,0.06}, "Cross-talk fraction of barrel pixel layers in 2018"}; + + Gaudi::Property<std::vector<double>> m_BarrelNoiseOccupancy2018 + {this, "BarrelNoiseOccupancy2018", {5e-8,5e-8,5e-8,5e-8}, "Noise occupancy of barrel pixel layers in 2018"}; + + Gaudi::Property<std::vector<double>> m_BarrelDisableProbability2018 + {this, "BarrelDisableProbability2018", {9e-3,9e-3,9e-3,9e-3}, "Disable probability of barrel pixel layers in 2018"}; + + // This is ad-hoc solution. + Gaudi::Property<std::vector<float>> m_IBLNoiseShape2018 + {this, "IBLNoiseShape2018", {0.0,1.0}, "Noise shape for IBL in 2018"}; + + Gaudi::Property<std::vector<float>> m_BLayerNoiseShape2018 + {this, "BLayerNoiseShape2018", {0.0,1.0}, "Noise shape for b-layer in 2018"}; + + Gaudi::Property<std::vector<float>> m_PixelNoiseShape2018 + {this, "PixelNoiseShape2018", {0.0,1.0}, "Noise shape for PIXEL in 2018"}; + + // Endcap RUN2 2018 + Gaudi::Property<std::vector<int>> m_EndcapToTThreshold2018 + {this, "EndcapToTThreshold2018", { 5, 5, 5}, "ToT thresholds for endcap pixel layers in 2018"}; + + Gaudi::Property<std::vector<int>> m_FEI3EndcapLatency2018 + {this, "FEI3EndcapLatency2018", {256,256,256}, "FEI3 latency for endcap pixel layers in 2018"}; + + Gaudi::Property<std::vector<bool>> m_FEI3EndcapHitDuplication2018 + {this, "FEI3EndcapHitDuplication2018", {false,false,false}, "Use FEI3 hit-duplicaiton for endcap pixel layers in 2018"}; + + Gaudi::Property<std::vector<int>> m_FEI3EndcapSmallHitToT2018 + {this, "FEI3EndcapSmallHitToT2018", {-1,-1,-1}, "Small hit ToT thresold for FEI3 hit-duplication of endcap pixel layers in 2018"}; + + Gaudi::Property<std::vector<int>> m_FEI3EndcapTimingSimTune2018 + {this, "FEI3EndcapTimingSimTune2018", {2018,2018,2018}, "FEI3 timing tuning set of endcap pixel layers in 2018"}; + + Gaudi::Property<std::vector<double>> m_EndcapCrossTalk2018 + {this, "EndcapCrossTalk2018", {0.06,0.06,0.06}, "Cross-talk fraction of barrel endcap layers in 2018"}; + + Gaudi::Property<std::vector<double>> m_EndcapNoiseOccupancy2018 + {this, "EndcapNoiseOccupancy2018", {5e-8,5e-8,5e-8}, "Noise occupancy of endcap pixel layers in 2018"}; + + Gaudi::Property<std::vector<double>> m_EndcapDisableProbability2018 + {this, "EndcapDisableProbability2018", {9e-3,9e-3,9e-3}, "Disable probability of endcap pixel layers in 2018"}; + + // DBM RUN2 2018 + Gaudi::Property<std::vector<int>> m_DBMToTThreshold2018 + {this, "DBMToTThreshold2018", {-1,-1,-1}, "ToT thresholds for DBM layers in 2018"}; + + Gaudi::Property<std::vector<double>> m_DBMCrossTalk2018 + {this, "DBMCrossTalk2018", {0.06,0.06,0.06}, "Cross-talk fraction of barrel DBM layers in 2018"}; + + Gaudi::Property<std::vector<double>> m_DBMNoiseOccupancy2018 + {this, "DBMNoiseOccupancy2018", {5e-8,5e-8,5e-8}, "Noise occupancy of DBM layers in 2018"}; + + Gaudi::Property<std::vector<double>> m_DBMDisableProbability2018 + {this, "DBMDisableProbability2018", {9e-3,9e-3,9e-3}, "Disable probability of DBM pixel layers in 2018"}; + + //==================================================================================== + // Barrel RUN1 + Gaudi::Property<std::vector<int>> m_BarrelToTThresholdRUN1 + {this, "BarrelToTThresholdRUN1", {3, 3, 3}, "ToT thresholds for barrel pixel layers in RUN1"}; + + Gaudi::Property<std::vector<int>> m_FEI3BarrelLatencyRUN1 + {this, "FEI3BarrelLatencyRUN1", {256,256,256}, "FEI3 latency for barrel pixel layers in RUN1"}; + + Gaudi::Property<std::vector<bool>> m_FEI3BarrelHitDuplicationRUN1 + {this, "FEI3BarrelHitDuplicationRUN1", {true,true,true}, "Use FEI3 hit-duplicaiton for barrel pixel layers in RUN1"}; + + Gaudi::Property<std::vector<int>> m_FEI3BarrelSmallHitToTRUN1 + {this, "FEI3BarrelSmallHitToTRUN1", {7,7,7}, "Small hit ToT thresold for FEI3 hit-duplication of barrel pixel layers in RUN1"}; + + Gaudi::Property<std::vector<int>> m_FEI3BarrelTimingSimTuneRUN1 + {this, "FEI3BarrelTimingSimTuneRUN1", {2009,2009,2009}, "FEI3 timing tuning set of barrel pixel layers in RUN1"}; + + Gaudi::Property<std::vector<double>> m_BarrelCrossTalkRUN1 + {this, "BarrelCrossTalkRUN1", {0.06,0.06,0.06}, "Cross-talk fraction of barrel pixel layers in RUN1"}; + + Gaudi::Property<std::vector<double>> m_BarrelNoiseOccupancyRUN1 + {this, "BarrelNoiseOccupancyRUN1", {5e-8,5e-8,5e-8}, "Noise occupancy of barrel pixel layers in RUN1"}; + + Gaudi::Property<std::vector<double>> m_BarrelDisableProbabilityRUN1 + {this, "BarrelDisableProbabilityRUN1", {9e-3,9e-3,9e-3}, "Disable probability of barrel pixel layers in RUN1"}; + + // This is ad-hoc solution. + Gaudi::Property<std::vector<float>> m_BLayerNoiseShapeRUN1 + {this, "BLayerNoiseShapeRUN1", {0.0,1.0}, "Noise shape for b-layer in RUN1"}; + + Gaudi::Property<std::vector<float>> m_PixelNoiseShapeRUN1 + {this, "PixelNoiseShapeRUN1", {0.0,1.0}, "Noise shape for PIXEL in RUN1"}; + + // Endcap RUN1 + Gaudi::Property<std::vector<int>> m_EndcapToTThresholdRUN1 + {this, "EndcapToTThresholdRUN1", { 3, 3, 3}, "ToT thresholds for endcap pixel layers in RUN1"}; + + Gaudi::Property<std::vector<int>> m_FEI3EndcapLatencyRUN1 + {this, "FEI3EndcapLatencyRUN1", {256,256,256}, "FEI3 latency for endcap pixel layers in RUN1"}; + + Gaudi::Property<std::vector<bool>> m_FEI3EndcapHitDuplicationRUN1 + {this, "FEI3EndcapHitDuplicationRUN1", {true,true,true}, "Use FEI3 hit-duplicaiton for endcap pixel layers in RUN1"}; + + Gaudi::Property<std::vector<int>> m_FEI3EndcapSmallHitToTRUN1 + {this, "FEI3EndcapSmallHitToTRUN1", {7,7,7}, "Small hit ToT thresold for FEI3 hit-duplication of endcap pixel layers in RUN1"}; + + Gaudi::Property<std::vector<int>> m_FEI3EndcapTimingSimTuneRUN1 + {this, "FEI3EndcapTimingSimTuneRUN1", {2009,2009,2009}, "FEI3 timing tuning set of endcap pixel layers in RUN1"}; + + Gaudi::Property<std::vector<double>> m_EndcapCrossTalkRUN1 + {this, "EndcapCrossTalkRUN1", {0.06,0.06,0.06}, "Cross-talk fraction of barrel endcap layers in RUN1"}; + + Gaudi::Property<std::vector<double>> m_EndcapNoiseOccupancyRUN1 + {this, "EndcapNoiseOccupancyRUN1", {5e-8,5e-8,5e-8}, "Noise occupancy of endcap pixel layers in RUN1"}; + + Gaudi::Property<std::vector<double>> m_EndcapDisableProbabilityRUN1 + {this, "EndcapDisableProbabilityRUN1", {9e-3,9e-3,9e-3}, "Disable probability of endcap pixel layers in RUN1"}; + + //==================================================================================== + // Barrel ITK + Gaudi::Property<std::vector<int>> m_BarrelToTThresholdITK + {this, "BarrelToTThresholdITK", {3,3,3,3,3}, "ToT thresholds for barrel pixel layers in ITK"}; + + Gaudi::Property<std::vector<double>> m_BarrelCrossTalkITK + {this, "BarrelCrossTalkITK", {0.06,0.06,0.06,0.06,0.06}, "Cross-talk fraction of barrel pixel layers in ITK"}; + + Gaudi::Property<std::vector<double>> m_BarrelNoiseOccupancyITK + {this, "BarrelNoiseOccupancyITK", {5e-8,5e-8,5e-8,5e-8,5e-8}, "Noise occupancy of barrel pixel layers in ITK"}; + + Gaudi::Property<std::vector<double>> m_BarrelDisableProbabilityITK + {this, "BarrelDisableProbabilityITK", {9e-3,9e-3,9e-3,9e-3,9e-3}, "Disable probability of barrel pixel layers in ITK"}; + + // This is ad-hoc solution. + Gaudi::Property<std::vector<float>> m_InnermostNoiseShapeITK + {this, "InnermostNoiseShapeITK", {0.0,1.0}, "Noise shape for IBL in ITK"}; + + Gaudi::Property<std::vector<float>> m_NextInnermostNoiseShapeITK + {this, "NextInnermostNoiseShapeITK", {0.0,1.0}, "Noise shape for b-layer in ITK"}; + + Gaudi::Property<std::vector<float>> m_PixelNoiseShapeITK + {this, "PixelNoiseShapeITK", {0.0,1.0}, "Noise shape for PIXEL in ITK"}; + + // Endcap ITK + Gaudi::Property<std::vector<int>> m_EndcapToTThresholdITK + {this, "EndcapToTThresholdITK", {3,3,3,3,3,3,3,3,3,3,3,3,3,3}, "ToT thresholds for endcap pixel layers in ITK"}; + + Gaudi::Property<std::vector<double>> m_EndcapCrossTalkITK + {this, "EndcapCrossTalkITK", {0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06,0.06}, "Cross-talk fraction of barrel endcap layers in ITK"}; + + Gaudi::Property<std::vector<double>> m_EndcapNoiseOccupancyITK + {this, "EndcapNoiseOccupancyITK", {5e-8,5e-8,5e-8,5e-8,5e-8,5e-8,5e-8,5e-8,5e-8,5e-8,5e-8,5e-8,5e-8,5e-8}, "Noise occupancy of endcap pixel layers in ITK"}; + + Gaudi::Property<std::vector<double>> m_EndcapDisableProbabilityITK + {this, "EndcapDisableProbabilityITK", {9e-3,9e-3,9e-3,9e-3,9e-3,9e-3,9e-3,9e-3,9e-3,9e-3,9e-3,9e-3,9e-3,9e-3}, "Disable probability of endcap pixel layers in ITK"}; + + //==================================================================================== + // The following parameters are default values which will be overwritten by the one + // from the conditions DB. Otherwise the DB is not retrieved nor available, these + // values are used. + //==================================================================================== Gaudi::Property<std::vector<int>> m_BarrelAnalogThreshold - {this, "DefaultBarrelAnalogThreshold", {2000,4300,3500,3500}, "Default analog thresholds of barrel pixel layers"}; + {this, "DefaultBarrelAnalogThreshold", {-1,-1,-1,-1}, "Default analog thresholds of barrel pixel layers"}; Gaudi::Property<std::vector<int>> m_EndcapAnalogThreshold - {this, "DefaultEndcapAnalogThreshold", {3500,3500,3500}, "Default analog thresholds of endcap pixel layers"}; + {this, "DefaultEndcapAnalogThreshold", {-1,-1,-1}, "Default analog thresholds of endcap pixel layers"}; Gaudi::Property<std::vector<int>> m_DBMAnalogThreshold - {this, "DefaultDBMAnalogThreshold", {2000,2000,2000}, "Default analog thresholds of DBMlayers"}; + {this, "DefaultDBMAnalogThreshold", {-1,-1,-1}, "Default analog thresholds of DBMlayers"}; Gaudi::Property<std::vector<int>> m_BarrelAnalogThresholdSigma {this, "DefaultBarrelAnalogThresholdSigma", {45,35,30,30}, "Default analog threshold sigma of barrel pixel layers"}; @@ -129,24 +531,6 @@ class PixelConfigCondAlg : public AthReentrantAlgorithm { Gaudi::Property<std::vector<int>> m_DBMInTimeThreshold {this, "DefaultDBMInTimeThreshold", {1200,1200,1200}, "Default in-time thresholds of DBM pixel layers"}; - Gaudi::Property<std::vector<int>> m_BarrelToTThreshold - {this, "BarrelToTThreshold", {-1, 3, 5, 5}, "Default ToT thresholds for barrel pixel layers"}; - - Gaudi::Property<std::vector<int>> m_EndcapToTThreshold - {this, "EndcapToTThreshold", { 5, 5, 5}, "Default ToT thresholds for endcap pixel layers"}; - - Gaudi::Property<std::vector<int>> m_DBMToTThreshold - {this, "DBMToTThreshold", {-1,-1,-1}, "Default ToT thresholds for DBM layers"}; - - Gaudi::Property<std::vector<double>> m_BarrelCrossTalk - {this, "BarrelCrossTalk", {0.06,0.06,0.06,0.06}, "Cross-talk fraction of barrel pixel layers"}; - - Gaudi::Property<std::vector<double>> m_EndcapCrossTalk - {this, "EndcapCrossTalk", {0.06,0.06,0.06}, "Cross-talk fraction of barrel endcap layers"}; - - Gaudi::Property<std::vector<double>> m_DBMCrossTalk - {this, "DBMCrossTalk", {0.06,0.06,0.06}, "Cross-talk fraction of barrel DBM layers"}; - Gaudi::Property<std::vector<double>> m_BarrelThermalNoise {this, "BarrelThermalNoise", {160.0,160.0,160.0,160.0}, "Thermal noise of barrel pixel layers"}; @@ -156,79 +540,12 @@ class PixelConfigCondAlg : public AthReentrantAlgorithm { Gaudi::Property<std::vector<double>> m_DBMThermalNoise {this, "DBMThermalNoise", {160.0,160.0,160.0}, "Thermal noise of DBM layers"}; - Gaudi::Property<std::vector<double>> m_BarrelNoiseOccupancy - {this, "BarrelNoiseOccupancy", {5e-8,5e-8,5e-8,5e-8}, "Noise occupancy of barrel pixel layers"}; - - Gaudi::Property<std::vector<double>> m_EndcapNoiseOccupancy - {this, "EndcapNoiseOccupancy", {5e-8,5e-8,5e-8}, "Noise occupancy of endcap pixel layers"}; - - Gaudi::Property<std::vector<double>> m_DBMNoiseOccupancy - {this, "DBMNoiseOccupancy", {5e-8,5e-8,5e-8}, "Noise occupancy of DBM layers"}; - - Gaudi::Property<std::vector<double>> m_BarrelDisableProbability - {this, "BarrelDisableProbability", {9e-3,9e-3,9e-3,9e-3}, "Disable probability of barrel pixel layers"}; - - Gaudi::Property<std::vector<double>> m_EndcapDisableProbability - {this, "EndcapDisableProbability", {9e-3,9e-3,9e-3}, "Disable probability of endcap pixel layers"}; - - Gaudi::Property<std::vector<double>> m_DBMDisableProbability - {this, "DBMDisableProbability", {9e-3,9e-3,9e-3}, "Disable probability of DBM pixel layers"}; - -// -// So far, Gaudi::Property does not support 2D vector. -// -// Gaudi::Property<std::vector<std::vector<float>>> m_BarrelNoiseShape -// {this, "BarrelNoiseShape", {{0.0,1.0},{0.0,1.0},{0.0,1.0},{0.0,1.0}}, "Noise shape of barrel pixel layers"}; - -// Gaudi::Property<std::vector<std::vector<float>>> m_EndcapNoiseShape -// {this, "EndcapNoiseShape", {{0.0,1.0},{0.0,1.0},{0.0,1.0}}, "Noise shape of endcap pixel layers"}; - -// Gaudi::Property<std::vector<std::vector<float>>> m_DBMNoiseShape -// {this, "DBMNoiseShape", {{0.0,1.0},{0.0,1.0},{0.0,1.0}}, "Noise shape of DBM pixel layers"}; - - Gaudi::Property<std::vector<int>> m_FEI3BarrelLatency - {this, "FEI3BarrelLatency", { 0,151,256,256}, "FEI3 latency for barrel pixel layers"}; - - Gaudi::Property<std::vector<int>> m_FEI3EndcapLatency - {this, "FEI3EndcapLatency", {256,256,256}, "FEI3 latency for endcap pixel layers"}; - - Gaudi::Property<std::vector<bool>> m_FEI3BarrelHitDuplication - {this, "FEI3BarrelHitDuplication", {false,false,false,false}, "Use FEI3 hit-duplicaiton for barrel pixel layers"}; - - Gaudi::Property<std::vector<bool>> m_FEI3EndcapHitDuplication - {this, "FEI3EndcapHitDuplication", {false,false,false}, "Use FEI3 hit-duplicaiton for endcap pixel layers"}; - - Gaudi::Property<std::vector<int>> m_FEI3BarrelSmallHitToT - {this, "FEI3BarrelSmallHitToT", {-1,-1,-1,-1}, "Small hit ToT thresold for FEI3 hit-duplication of barrel pixel layers"}; - - Gaudi::Property<std::vector<int>> m_FEI3EndcapSmallHitToT - {this, "FEI3EndcapSmallHitToT", {-1,-1,-1}, "Small hit ToT thresold for FEI3 hit-duplication of endcap pixel layers"}; - - Gaudi::Property<std::vector<int>> m_FEI3BarrelTimingSimTune - {this, "FEI3BarrelTimingSimTune", {2015,2015,2015,2015}, "FEI3 timing tuning set of barrel pixel layers"}; - - Gaudi::Property<std::vector<int>> m_FEI3EndcapTimingSimTune - {this, "FEI3EndcapTimingSimTune", {2015,2015,2015}, "FEI3 timing tuning set of endcap pixel layers"}; - Gaudi::Property<std::vector<int>> m_FEI4BarrelHitDiscConfig {this, "FEI4BarrelHitDiscConfig", {2}, "Set HitDiscConfig parameter for barrel pixel layers"}; Gaudi::Property<std::vector<int>> m_FEI4EndcapHitDiscConfig {this, "FEI4EndcapHitDiscConfig", {2}, "Set HitDiscConfig parameter for endcap pixel layers"}; - std::vector<float> m_IBLNoiseShape; // This is ad-hoc solution. - std::vector<float> m_BLayerNoiseShape; - std::vector<float> m_PixelNoiseShape; - - SG::ReadHandleKey<ComTime> m_ComTimeKey - {this, "ComTimeKey", "ComTime", "Commissioning time for cosmic"}; - - SG::ReadCondHandleKey<CondAttrListCollection> m_readDeadMapKey - {this, "ReadDeadMapKey", "/PIXEL/PixMapOverlay", "Input key of deadmap conditions folder"}; - - SG::WriteCondHandleKey<PixelModuleData> m_writeKey - {this, "WriteKey", "PixelModuleData", "Output key of pixel module data"}; - // Charge calibration parameters Gaudi::Property<float> m_CalibrationParameterA {this, "DefaultCalibrationParameterA", 70.2, "Default charge calibration parameter A"}; @@ -246,13 +563,6 @@ class PixelConfigCondAlg : public AthReentrantAlgorithm { Gaudi::Property<float> m_temperature {this, "DefaultTemperature", -7.0, "Default temperature in Celcius"}; - // Cabling parameters - Gaudi::Property<bool> m_cablingMapToFile - {this, "CablingMapToFile", false, "Dump pixel cabling map into file"}; - - Gaudi::Property<std::string> m_cablingMapFileName - {this, "CablingMapFileName", "PixelCabling/Pixels_Atlas_IdMapping_2016.dat", "Read cabling map from file"}; - // Distortion parameters /** @brief Flag controlling how module distortions are taken into account: case 0 -----> No distorsions implemented; @@ -294,6 +604,13 @@ class PixelConfigCondAlg : public AthReentrantAlgorithm { Gaudi::Property<std::string> m_distortionFileName {this, "DistortionFileName", "PixelSurveyDistortions.txt","Read distortions from this file"}; + // Cabling parameters + Gaudi::Property<bool> m_cablingMapToFile + {this, "CablingMapToFile", false, "Dump pixel cabling map into file"}; + + Gaudi::Property<std::string> m_cablingMapFileName + {this, "CablingMapFileName", "PixelCabling/Pixels_Atlas_IdMapping_2016.dat", "Read cabling map from file"}; + ServiceHandle<ICondSvc> m_condSvc{this, "CondSvc", "CondSvc"}; }; diff --git a/InnerDetector/InDetConditions/SiPropertiesTool/src/SiliconProperties.cxx b/InnerDetector/InDetConditions/SiPropertiesTool/src/SiliconProperties.cxx index b0619a7f1343d4a39aa79c23486d0e51ad0cb9ba..3aee0f1ba61870d50b5c654f1c58b2abc82ad20b 100644 --- a/InnerDetector/InDetConditions/SiPropertiesTool/src/SiliconProperties.cxx +++ b/InnerDetector/InDetConditions/SiPropertiesTool/src/SiliconProperties.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration */ #include "SiPropertiesTool/SiliconProperties.h" @@ -22,7 +22,7 @@ const double SiliconProperties::s_ehPairsPerEnergyDefault = 1. / (3.62 * CLHEP:: // Constants used in the formula const double elecHallFactZero = 1.13; const double elecHallFact_drdt = 8e-4; -const double elecV_sat_0 = 1.53e9 * CLHEP::cm/CLHEP::s; +const double elecV_sat_0 = 1.43e9 * CLHEP::cm/CLHEP::s; // This number was corrected by ATL-INDET-PUB-2018-001 const double elecV_sat_exp = -0.87; const double elecE_crit_0 = 1.01 * CLHEP::volt/CLHEP::cm; const double elecE_crit_exp = 1.55; diff --git a/InnerDetector/InDetDigitization/PixelDigitization/python/PixelDigitizationConfig.py b/InnerDetector/InDetDigitization/PixelDigitization/python/PixelDigitizationConfig.py index fbe378f9f5028586ec0a296b617a9b90a074fb93..9616e6c23a20473870d3b61d08366c6c25899c77 100644 --- a/InnerDetector/InDetDigitization/PixelDigitization/python/PixelDigitizationConfig.py +++ b/InnerDetector/InDetDigitization/PixelDigitization/python/PixelDigitizationConfig.py @@ -5,6 +5,7 @@ from __future__ import print_function from AthenaCommon import CfgMgr from Digitization.DigitizationFlags import digitizationFlags from AtlasGeoModel.InDetGMJobProperties import InDetGeometryFlags +from AthenaCommon.DetFlags import DetFlags # The earliest bunch crossing time for which interactions will be sent # to the Pixel Digitization code. @@ -115,9 +116,6 @@ def BasicPixelDigitizationTool(name="PixelDigitizationTool", **kwargs): from AthenaCommon.AlgSequence import AthSequencer condSeq = AthSequencer("AthCondSeq") - from RecExConfig.AutoConfiguration import GetRunNumber - runNum = GetRunNumber() - ################# # Module status # ################# @@ -165,137 +163,168 @@ def BasicPixelDigitizationTool(name="PixelDigitizationTool", **kwargs): PixelConfigCondAlg.DBMTimeOffset=[5.0,5.0,5.0] PixelConfigCondAlg.BunchSpace=25.0 - - # RUN-1 and beginning of RUN-2(2015) - if (runNum<284500): - PixelConfigCondAlg.BarrelToTThreshold=[-1,3,3,3] - PixelConfigCondAlg.EndcapToTThreshold=[3,3,3] - PixelConfigCondAlg.FEI3BarrelLatency=[-1,256,256,256] - PixelConfigCondAlg.FEI3EndcapLatency=[256,256,256] - PixelConfigCondAlg.FEI3BarrelHitDuplication=[True,True,True,True] - PixelConfigCondAlg.FEI3EndcapHitDuplication=[True,True,True] - PixelConfigCondAlg.FEI3BarrelSmallHitToT=[-1,7,7,7] - PixelConfigCondAlg.FEI3EndcapSmallHitToT=[7,7,7] - PixelConfigCondAlg.FEI3BarrelTimingSimTune=[2015,2015,2015,2015] - PixelConfigCondAlg.FEI3EndcapTimingSimTune=[2015,2015,2015] - PixelConfigCondAlg.FEI4BarrelHitDiscConfig=[0] - - # mc16a and mc16c (2016) - elif (runNum<300000): - PixelConfigCondAlg.BarrelToTThreshold=[-1,5,5,5] - PixelConfigCondAlg.EndcapToTThreshold=[5,5,5] - PixelConfigCondAlg.FEIBarrelLatency=[-1,151,256,256] - PixelConfigCondAlg.FEIEndcapLatency=[256,256,256] - PixelConfigCondAlg.FEI3BarrelHitDuplication=[False,False,False,False] - PixelConfigCondAlg.FEI3EndcapHitDuplication=[False,False,False] - PixelConfigCondAlg.FEI3BarrelSmallHitToT=[-1, -1, -1, -1] - PixelConfigCondAlg.FEI3EndcapSmallHitToT=[-1, -1, -1] - PixelConfigCondAlg.FEI3BarrelTimingSimTune=[2015,2015,2015,2015] - PixelConfigCondAlg.FEI3EndcapTimingSimTune=[2015,2015,2015] - PixelConfigCondAlg.FEI4BarrelHitDiscConfig=[2] - - # mc16d (2017) - elif (runNum<310000): - PixelConfigCondAlg.BarrelToTThreshold=[-1,5,5,5] - PixelConfigCondAlg.EndcapToTThreshold=[5,5,5] - PixelConfigCondAlg.FEIBarrelLatency=[-1,151,256,256] - PixelConfigCondAlg.FEIEndcapLatency=[256,256,256] - PixelConfigCondAlg.FEI3BarrelHitDuplication=[False,False,False,False] - PixelConfigCondAlg.FEI3EndcapHitDuplication=[False,False,False] - PixelConfigCondAlg.FEI3BarrelSmallHitToT=[-1, -1, -1, -1] - PixelConfigCondAlg.FEI3EndcapSmallHitToT=[-1, -1, -1] - PixelConfigCondAlg.FEI3BarrelTimingSimTune=[2018,2018,2018,2018] - PixelConfigCondAlg.FEI3EndcapTimingSimTune=[2018,2018,2018] - PixelConfigCondAlg.FEI4BarrelHitDiscConfig=[2] - - # mc16e (2018) - else: - PixelConfigCondAlg.BarrelToTThreshold=[-1,3,5,5] - PixelConfigCondAlg.EndcapToTThreshold=[5,5,5] - PixelConfigCondAlg.FEIBarrelLatency=[-1,151,256,256] - PixelConfigCondAlg.FEIEndcapLatency=[256,256,256] - PixelConfigCondAlg.FEI3BarrelHitDuplication=[False,False,False,False] - PixelConfigCondAlg.FEI3EndcapHitDuplication=[False,False,False] - PixelConfigCondAlg.FEI3BarrelSmallHitToT=[-1, -1, -1, -1] - PixelConfigCondAlg.FEI3EndcapSmallHitToT=[-1, -1, -1] - PixelConfigCondAlg.FEI3BarrelTimingSimTune=[2018,2018,2018,2018] - PixelConfigCondAlg.FEI3EndcapTimingSimTune=[2018,2018,2018] - PixelConfigCondAlg.FEI4BarrelHitDiscConfig=[2] - - - PixelConfigCondAlg.BarrelAnalogThreshold=[-1,-1,-1,-1] - PixelConfigCondAlg.BarrelCrossTalk=[0.06,0.06,0.06,0.06] - PixelConfigCondAlg.BarrelThermalNoise=[160.0,160.0,160.0,160.0] - PixelConfigCondAlg.BarrelNoiseOccupancy=[5e-8,5e-8,5e-8,5e-8] - PixelConfigCondAlg.BarrelDisableProbability=[9e-3,9e-3,9e-3,9e-3] - - PixelConfigCondAlg.IBLNoiseShape=[0.0, 0.0330, 0.0, 0.2696, 0.1993, 0.1741, 0.1652, 0.1506, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0078] - PixelConfigCondAlg.BLayerNoiseShape=[0.0, 0.0, 0.0, 0.0, 0.2204, 0.5311, 0.7493, 0.8954, 0.9980, 1.0] - PixelConfigCondAlg.PixelNoiseShape=[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.2418, 0.4397, 0.5858, 0.6949, 0.7737, 0.8414, 0.8959, 0.9414, 0.9828, 1.0] - # Layer-2 noise shape [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.2129, 0.4016, 0.5477, 0.6599, 0.7435, 0.8160, 0.8779, 0.9340, 0.9798, 1.0] - - PixelConfigCondAlg.EndcapAnalogThreshold=[-1,-1,-1,] - PixelConfigCondAlg.EndcapCrossTalk=[0.06,0.06,0.06] - PixelConfigCondAlg.EndcapThermalNoise=[160.0,160.0,160.0] - PixelConfigCondAlg.EndcapNoiseOccupancy=[5e-8,5e-8,5e-8] - PixelConfigCondAlg.EndcapDisableProbability=[9e-3,9e-3,9e-3] - PixelConfigCondAlg.EndcapNoiseShape=[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1748, 0.3409, 0.4760, 0.5850, 0.6754, 0.7538, 0.8264, 0.8962, 0.9655, 1.0], - [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1852, 0.3528, 0.4881, 0.5961, 0.6855, 0.7640, 0.8374, 0.9068, 0.9749, 1.0], - [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1735, 0.3380, 0.4733, 0.5829, 0.6730, 0.7516, 0.8234, 0.8916, 0.9595, 1.0]] - - PixelConfigCondAlg.DBMAnalogThreshold=[-1,-1,-1] - PixelConfigCondAlg.DBMToTThreshold=[-1,-1,-1] - PixelConfigCondAlg.DBMCrossTalk=[0.06,0.06,0.06] - PixelConfigCondAlg.DBMThermalNoise=[160.0,160.0,160.0] - PixelConfigCondAlg.DBMNoiseOccupancy=[5e-8,5e-8,5e-8] - PixelConfigCondAlg.DBMDisableProbability=[9e-3,9e-3,9e-3] - PixelConfigCondAlg.DBMNoiseShape=[[0.0,1.0],[0.0,1.0],[0.0,1.0]] - PixelConfigCondAlg.FEI4EndcapHitDiscConfig=[2,2,2] + PixelConfigCondAlg.FEI4BarrelHitDiscConfig=[2] + + #==================================================================================== + # Run-dependent SIMULATION(digitization) parameters: + #==================================================================================== + # RUN2 2015/2016 + PixelConfigCondAlg.BarrelToTThreshold2016 = [ -1, 5, 5, 5] + PixelConfigCondAlg.FEI3BarrelLatency2016 = [ 0, 151, 256, 256] + PixelConfigCondAlg.FEI3BarrelHitDuplication2016 = [False,False,False,False] + PixelConfigCondAlg.FEI3BarrelSmallHitToT2016 = [ -1, -1, -1, -1] + PixelConfigCondAlg.FEI3BarrelTimingSimTune2016 = [ -1, 2015, 2015, 2015] + PixelConfigCondAlg.BarrelCrossTalk2016 = [ 0.30, 0.06, 0.06, 0.06] + PixelConfigCondAlg.BarrelNoiseOccupancy2016 = [ 5e-8, 5e-8, 5e-8, 5e-8] + PixelConfigCondAlg.BarrelDisableProbability2016 = [ 9e-3, 9e-3, 9e-3, 9e-3] + + PixelConfigCondAlg.EndcapToTThreshold2016 = [ 5, 5, 5] + PixelConfigCondAlg.FEI3EndcapLatency2016 = [ 256, 256, 256] + PixelConfigCondAlg.FEI3EndcapHitDuplication2016 = [False,False,False] + PixelConfigCondAlg.FEI3EndcapSmallHitToT2016 = [ -1, -1, -1] + PixelConfigCondAlg.FEI3EndcapTimingSimTune2016 = [ 2015, 2015, 2015] + PixelConfigCondAlg.EndcapCrossTalk2016 = [ 0.06, 0.06, 0.06] + PixelConfigCondAlg.EndcapNoiseOccupancy2016 = [ 5e-8, 5e-8, 5e-8] + PixelConfigCondAlg.EndcapDisableProbability2016 = [ 9e-3, 9e-3, 9e-3] + + PixelConfigCondAlg.DBMToTThreshold2016 = [ -1, -1, -1] + PixelConfigCondAlg.DBMCrossTalk2016 = [ 0.06, 0.06, 0.06] + PixelConfigCondAlg.DBMNoiseOccupancy2016 = [ 5e-8, 5e-8, 5e-8] + PixelConfigCondAlg.DBMDisableProbability2016 = [ 9e-3, 9e-3, 9e-3] + + PixelConfigCondAlg.IBLNoiseShape2016 = [0.0, 0.0330, 0.0, 0.3026, 0.5019, 0.6760, 0.8412, 0.9918, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0] + PixelConfigCondAlg.BLayerNoiseShape2016 = [0.0, 0.0, 0.0, 0.0, 0.2204, 0.5311, 0.7493, 0.8954, 0.9980, 1.0] + PixelConfigCondAlg.PixelNoiseShape2016 = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.2418, 0.4397, 0.5858, 0.6949, 0.7737, 0.8414, 0.8959, 0.9414, 0.9828, 1.0] + # Layer-2 noise shape [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.2129, 0.4016, 0.5477, 0.6599, 0.7435, 0.8160, 0.8779, 0.9340, 0.9798, 1.0] + + # So far, Gaudi::Property does not support 2D vector. + #PixelConfigCondAlg.EndcapNoiseShape=[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1748, 0.3409, 0.4760, 0.5850, 0.6754, 0.7538, 0.8264, 0.8962, 0.9655, 1.0], + # [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1852, 0.3528, 0.4881, 0.5961, 0.6855, 0.7640, 0.8374, 0.9068, 0.9749, 1.0], + # [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1735, 0.3380, 0.4733, 0.5829, 0.6730, 0.7516, 0.8234, 0.8916, 0.9595, 1.0]] + + #==================================================================================== + # RUN2 2017 + PixelConfigCondAlg.BarrelToTThreshold2017 = [ -1, 5, 5, 5] + PixelConfigCondAlg.FEI3BarrelLatency2017 = [ 0, 151, 256, 256] + PixelConfigCondAlg.FEI3BarrelHitDuplication2017 = [False,False,False,False] + PixelConfigCondAlg.FEI3BarrelSmallHitToT2017 = [ -1, -1, -1, -1] + PixelConfigCondAlg.FEI3BarrelTimingSimTune2017 = [ -1, 2018, 2018, 2018] + PixelConfigCondAlg.BarrelCrossTalk2017 = [ 0.30, 0.06, 0.06, 0.06] + PixelConfigCondAlg.BarrelNoiseOccupancy2017 = [ 5e-8, 5e-8, 5e-8, 5e-8] + PixelConfigCondAlg.BarrelDisableProbability2017 = [ 9e-3, 9e-3, 9e-3, 9e-3] + + PixelConfigCondAlg.EndcapToTThreshold2017 = [ 5, 5, 5] + PixelConfigCondAlg.FEI3EndcapLatency2017 = [ 256, 256, 256] + PixelConfigCondAlg.FEI3EndcapHitDuplication2017 = [False,False,False] + PixelConfigCondAlg.FEI3EndcapSmallHitToT2017 = [ -1, -1, -1] + PixelConfigCondAlg.FEI3EndcapTimingSimTune2017 = [ 2018, 2018, 2018] + PixelConfigCondAlg.EndcapCrossTalk2017 = [ 0.06, 0.06, 0.06] + PixelConfigCondAlg.EndcapNoiseOccupancy2017 = [ 5e-8, 5e-8, 5e-8] + PixelConfigCondAlg.EndcapDisableProbability2017 = [ 9e-3, 9e-3, 9e-3] + + PixelConfigCondAlg.DBMToTThreshold2017 = [ -1, -1, -1] + PixelConfigCondAlg.DBMCrossTalk2017 = [ 0.06, 0.06, 0.06] + PixelConfigCondAlg.DBMNoiseOccupancy2017 = [ 5e-8, 5e-8, 5e-8] + PixelConfigCondAlg.DBMDisableProbability2017 = [ 9e-3, 9e-3, 9e-3] + + PixelConfigCondAlg.IBLNoiseShape2017 = [0.0, 0.0330, 0.0, 0.3026, 0.5019, 0.6760, 0.8412, 0.9918, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0] + PixelConfigCondAlg.BLayerNoiseShape2017 = [0.0, 0.0, 0.0, 0.0, 0.2204, 0.5311, 0.7493, 0.8954, 0.9980, 1.0] + PixelConfigCondAlg.PixelNoiseShape2017 = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.2418, 0.4397, 0.5858, 0.6949, 0.7737, 0.8414, 0.8959, 0.9414, 0.9828, 1.0] + + #==================================================================================== + # RUN2 2018 + PixelConfigCondAlg.BarrelToTThreshold2018 = [ -1, 3, 5, 5] + PixelConfigCondAlg.FEI3BarrelLatency2018 = [ 0, 151, 256, 256] + PixelConfigCondAlg.FEI3BarrelHitDuplication2018 = [False,False,False,False] + PixelConfigCondAlg.FEI3BarrelSmallHitToT2018 = [ -1, -1, -1, -1] + PixelConfigCondAlg.FEI3BarrelTimingSimTune2018 = [ -1, 2018, 2018, 2018] + PixelConfigCondAlg.BarrelCrossTalk2018 = [ 0.30, 0.06, 0.06, 0.06] + PixelConfigCondAlg.BarrelNoiseOccupancy2018 = [ 5e-8, 5e-8, 5e-8, 5e-8] + PixelConfigCondAlg.BarrelDisableProbability2018 = [ 9e-3, 9e-3, 9e-3, 9e-3] + + PixelConfigCondAlg.EndcapToTThreshold2018 = [ 5, 5, 5] + PixelConfigCondAlg.FEI3EndcapLatency2018 = [ 256, 256, 256] + PixelConfigCondAlg.FEI3EndcapHitDuplication2018 = [False,False,False] + PixelConfigCondAlg.FEI3EndcapSmallHitToT2018 = [ -1, -1, -1] + PixelConfigCondAlg.FEI3EndcapTimingSimTune2018 = [ 2018, 2018, 2018] + PixelConfigCondAlg.EndcapCrossTalk2018 = [ 0.06, 0.06, 0.06] + PixelConfigCondAlg.EndcapNoiseOccupancy2018 = [ 5e-8, 5e-8, 5e-8] + PixelConfigCondAlg.EndcapDisableProbability2018 = [ 9e-3, 9e-3, 9e-3] + + PixelConfigCondAlg.DBMToTThreshold2018 = [ -1, -1, -1] + PixelConfigCondAlg.DBMCrossTalk2018 = [ 0.06, 0.06, 0.06] + PixelConfigCondAlg.DBMNoiseOccupancy2018 = [ 5e-8, 5e-8, 5e-8] + PixelConfigCondAlg.DBMDisableProbability2018 = [ 9e-3, 9e-3, 9e-3] + + PixelConfigCondAlg.IBLNoiseShape2018 = [0.0, 0.0330, 0.0, 0.3026, 0.5019, 0.6760, 0.8412, 0.9918, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0] + PixelConfigCondAlg.BLayerNoiseShape2018 = [0.0, 0.0, 0.0, 0.0, 0.2204, 0.5311, 0.7493, 0.8954, 0.9980, 1.0] + PixelConfigCondAlg.PixelNoiseShape2018 = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.2418, 0.4397, 0.5858, 0.6949, 0.7737, 0.8414, 0.8959, 0.9414, 0.9828, 1.0] + + #==================================================================================== + # RUN1 + PixelConfigCondAlg.BarrelToTThresholdRUN1 = [ 3, 3, 3] + PixelConfigCondAlg.FEI3BarrelLatencyRUN1 = [ 256, 256, 256] + PixelConfigCondAlg.FEI3BarrelHitDuplicationRUN1 = [ True, True, True] + PixelConfigCondAlg.FEI3BarrelSmallHitToTRUN1 = [ 7, 7, 7] + PixelConfigCondAlg.FEI3BarrelTimingSimTuneRUN1 = [ 2009, 2009, 2009] + PixelConfigCondAlg.BarrelCrossTalkRUN1 = [ 0.06, 0.06, 0.06] + PixelConfigCondAlg.BarrelNoiseOccupancyRUN1 = [ 5e-8, 5e-8, 5e-8] + PixelConfigCondAlg.BarrelDisableProbabilityRUN1 = [ 9e-3, 9e-3, 9e-3] + + PixelConfigCondAlg.EndcapToTThresholdRUN1 = [ 3, 3, 3] + PixelConfigCondAlg.FEI3EndcapLatencyRUN1 = [ 256, 256, 256] + PixelConfigCondAlg.FEI3EndcapHitDuplicationRUN1 = [ True, True, True] + PixelConfigCondAlg.FEI3EndcapSmallHitToTRUN1 = [ 7, 7, 7] + PixelConfigCondAlg.FEI3EndcapTimingSimTuneRUN1 = [ 2009, 2009, 2009] + PixelConfigCondAlg.EndcapCrossTalkRUN1 = [ 0.06, 0.06, 0.06] + PixelConfigCondAlg.EndcapNoiseOccupancyRUN1 = [ 5e-8, 5e-8, 5e-8] + PixelConfigCondAlg.EndcapDisableProbabilityRUN1 = [ 9e-3, 9e-3, 9e-3] + + PixelConfigCondAlg.BLayerNoiseShapeRUN1 = [0.0, 0.0, 0.0, 0.0, 0.2204, 0.5311, 0.7493, 0.8954, 0.9980, 1.0] + PixelConfigCondAlg.PixelNoiseShapeRUN1 = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.2418, 0.4397, 0.5858, 0.6949, 0.7737, 0.8414, 0.8959, 0.9414, 0.9828, 1.0] + + #==================================================================================== + # ITK + PixelConfigCondAlg.BarrelToTThresholdITK = [ 3, 3, 3, 3, 3] + PixelConfigCondAlg.BarrelCrossTalkITK = [ 0.06, 0.06, 0.06, 0.06, 0.06] + PixelConfigCondAlg.BarrelNoiseOccupancyITK = [ 5e-8, 5e-8, 5e-8, 5e-8, 5e-8] + PixelConfigCondAlg.BarrelDisableProbabilityITK = [ 9e-3, 9e-3, 9e-3, 9e-3, 9e-3] + + PixelConfigCondAlg.EndcapToTThresholdITK = [ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3] + PixelConfigCondAlg.EndcapCrossTalkITK = [ 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06, 0.06] + PixelConfigCondAlg.EndcapNoiseOccupancyITK = [ 5e-8, 5e-8, 5e-8, 5e-8, 5e-8, 5e-8, 5e-8, 5e-8, 5e-8, 5e-8, 5e-8, 5e-8, 5e-8, 5e-8] + PixelConfigCondAlg.EndcapDisableProbabilityITK = [ 9e-3, 9e-3, 9e-3, 9e-3, 9e-3, 9e-3, 9e-3, 9e-3, 9e-3, 9e-3, 9e-3, 9e-3, 9e-3, 9e-3] + + PixelConfigCondAlg.InnermostNoiseShapeITK = [0.0, 1.0] + PixelConfigCondAlg.NextInnermostNoiseShapeITK = [0.0, 1.0] + PixelConfigCondAlg.PixelNoiseShapeITK = [0.0, 1.0] + IdMappingDat="PixelCabling/Pixels_Atlas_IdMapping_2016.dat" - rodIDForSingleLink40=0 - if globalflags.DataSource() == 'geant4': - # ITk: - if geoFlags.isSLHC(): - IdMappingDat = "ITk_Atlas_IdMapping.dat" - if "BrlIncl4.0_ref" == commonGeoFlags.GeoType(): - IdMappingDat = "ITk_Atlas_IdMapping_InclBrl4.dat" - elif "IBrlExt4.0ref" == commonGeoFlags.GeoType(): - IdMappingDat = "ITk_Atlas_IdMapping_IExtBrl4.dat" - elif "BrlExt4.0_ref" == commonGeoFlags.GeoType(): - IdMappingDat = "ITk_Atlas_IdMapping_ExtBrl4.dat" - elif "BrlExt3.2_ref" == commonGeoFlags.GeoType(): - IdMappingDat = "ITk_Atlas_IdMapping_ExtBrl32.dat" - elif (geoFlags.isIBL() == False): - IdMappingDat="PixelCabling/Pixels_Atlas_IdMapping.dat" - else: - # Planar IBL - if (geoFlags.IBLLayout() == "planar"): - if (geoFlags.isDBM() == True): - IdMappingDat="PixelCabling/Pixels_Atlas_IdMapping_inclIBL_DBM.dat" - else: - IdMappingDat="PixelCabling/Pixels_Atlas_IdMapping_inclIBL.dat" - # Hybrid IBL plus DBM - elif (geoFlags.IBLLayout() == "3D"): - IdMappingDat="PixelCabling/Pixels_Atlas_IdMapping_Run2.dat" - elif globalflags.DataSource == 'data': # for data overlay - if (runNum<222222): - IdMappingDat="PixelCabling/Pixels_Atlas_IdMapping_May08.dat" - rodIDForSingleLink40=1300000 - else: - PixelConfigCondAlg.UseCablingConditions = True - rodIDForSingleLink40=1300000 - # Even though we are reading from COOL, set the correct fallback map. - if (runNum >= 344494): - IdMappingDat="PixelCabling/Pixels_Atlas_IdMapping_344494.dat" - elif (runNum >= 314940 and runNum < 344494): - IdMappingDat="PixelCabling/Pixels_Atlas_IdMapping_314940.dat" - elif (runNum >= 289350 and runNum < 314940): # 2016 - IdMappingDat="PixelCabling/Pixels_Atlas_IdMapping_2016.dat" - elif (runNum >= 222222 and runNum < 289350): # 2015 - IdMappingDat="PixelCabling/Pixels_Atlas_IdMapping_Run2.dat" + + # ITk: + if geoFlags.isSLHC(): + IdMappingDat = "ITk_Atlas_IdMapping.dat" + if "BrlIncl4.0_ref" == commonGeoFlags.GeoType(): + IdMappingDat = "ITk_Atlas_IdMapping_InclBrl4.dat" + elif "IBrlExt4.0ref" == commonGeoFlags.GeoType(): + IdMappingDat = "ITk_Atlas_IdMapping_IExtBrl4.dat" + elif "BrlExt4.0_ref" == commonGeoFlags.GeoType(): + IdMappingDat = "ITk_Atlas_IdMapping_ExtBrl4.dat" + elif "BrlExt3.2_ref" == commonGeoFlags.GeoType(): + IdMappingDat = "ITk_Atlas_IdMapping_ExtBrl32.dat" + elif (geoFlags.isIBL() == False): + IdMappingDat="PixelCabling/Pixels_Atlas_IdMapping.dat" + else: + # Planar IBL + if (geoFlags.IBLLayout() == "planar"): + if (geoFlags.isDBM() == True): + IdMappingDat="PixelCabling/Pixels_Atlas_IdMapping_inclIBL_DBM.dat" else: - IdMappingDat="PixelCabling/Pixels_Atlas_IdMapping_May08.dat" + IdMappingDat="PixelCabling/Pixels_Atlas_IdMapping_inclIBL.dat" + # Hybrid IBL plus DBM + elif (geoFlags.IBLLayout() == "3D"): + IdMappingDat="PixelCabling/Pixels_Atlas_IdMapping_Run2.dat" PixelConfigCondAlg.CablingMapFileName=IdMappingDat @@ -374,7 +403,7 @@ def BasicPixelDigitizationTool(name="PixelDigitizationTool", **kwargs): from PixelConditionsAlgorithms.PixelConditionsAlgorithmsConf import PixelCablingCondAlg condSeq += PixelCablingCondAlg(name="PixelCablingCondAlg", MappingFile=IdMappingDat, - RodIDForSingleLink40=rodIDForSingleLink40) + RodIDForSingleLink40=0) if not conddb.folderRequested("/PIXEL/PixReco"): conddb.addFolder("PIXEL_OFL", "/PIXEL/PixReco", className="DetCondCFloat") diff --git a/InnerDetector/InDetDigitization/PixelDigitization/src/FEI3SimTool.cxx b/InnerDetector/InDetDigitization/PixelDigitization/src/FEI3SimTool.cxx index fbfc8f6af30b8e5472fcf3706076244f5d72e3d3..7ed6809a66f56d73d46b5963bda6bd4ce47b34a5 100644 --- a/InnerDetector/InDetDigitization/PixelDigitization/src/FEI3SimTool.cxx +++ b/InnerDetector/InDetDigitization/PixelDigitization/src/FEI3SimTool.cxx @@ -107,7 +107,8 @@ void FEI3SimTool::process(SiChargedDiodeCollection &chargedDiodes,PixelRDO_Colle if (charge>threshold) { int bunchSim = 0; if (diode.totalCharge().fromTrack()) { - if (moduleData->getFEI3TimingSimTune(barrel_ec,layerIndex)==2015) { bunchSim = relativeBunch2015(diode.totalCharge(),barrel_ec,layerIndex,moduleIndex, rndmEngine); } + if (moduleData->getFEI3TimingSimTune(barrel_ec,layerIndex)==2018) { bunchSim = relativeBunch2018(diode.totalCharge(),barrel_ec,layerIndex,moduleIndex, rndmEngine); } + else if (moduleData->getFEI3TimingSimTune(barrel_ec,layerIndex)==2015) { bunchSim = relativeBunch2015(diode.totalCharge(),barrel_ec,layerIndex,moduleIndex, rndmEngine); } else if (moduleData->getFEI3TimingSimTune(barrel_ec,layerIndex)==2009) { bunchSim = relativeBunch2009(threshold,intimethreshold,diode.totalCharge(), rndmEngine); } } else { diff --git a/InnerDetector/InDetExample/InDetRecExample/share/InDetRecConditionsAccess.py b/InnerDetector/InDetExample/InDetRecExample/share/InDetRecConditionsAccess.py index 333dad0ae1bedf67cac77bdc183896bef158f2e5..ed37fd74e2f838ab6dc119fa7a8f79ca972b659f 100644 --- a/InnerDetector/InDetExample/InDetRecExample/share/InDetRecConditionsAccess.py +++ b/InnerDetector/InDetExample/InDetRecExample/share/InDetRecConditionsAccess.py @@ -103,7 +103,7 @@ if DetFlags.pixel_on(): elif (runNum >= 222222 and runNum < 289350): # 2015 IdMappingDat="PixelCabling/Pixels_Atlas_IdMapping_Run2.dat" else: - IdMappingDat="PixelCabling/Pixels_Atlas_IdMapping_May08.dat" + IdMappingDat="PixelCabling/Pixels_Atlas_IdMapping_344494.dat" condSeq += PixelConfigCondAlg(name="PixelConfigCondAlg", UseDeadmapConditions=(not athenaCommonFlags.isOnline()), diff --git a/InnerDetector/InDetExample/InDetTrigRecExample/python/InDetTrigConfigConditions.py b/InnerDetector/InDetExample/InDetTrigRecExample/python/InDetTrigConfigConditions.py index 01112979ea9d538940bdcc5341f7057f5fe12c35..1ff103dde5d954a21722ced454c7e3ffb7f21d3c 100644 --- a/InnerDetector/InDetExample/InDetTrigRecExample/python/InDetTrigConfigConditions.py +++ b/InnerDetector/InDetExample/InDetTrigRecExample/python/InDetTrigConfigConditions.py @@ -124,7 +124,7 @@ class PixelConditionsServicesSetup: elif (runNum >= 222222 and runNum < 289350): # 2015 IdMappingDat="PixelCabling/Pixels_Atlas_IdMapping_Run2.dat" else: - IdMappingDat="PixelCabling/Pixels_Atlas_IdMapping_May08.dat" + IdMappingDat="PixelCabling/Pixels_Atlas_IdMapping_344494.dat" condSeq += PixelConfigCondAlg(name="PixelConfigCondAlg", UseDeadmapConditions=self.usePixMap, diff --git a/Tools/PROCTools/data/master_q221_AOD_digest.ref b/Tools/PROCTools/data/master_q221_AOD_digest.ref index 4be2ccf40c734f8bf20a03c125c1d702945a66f5..8b781f017800f6471fc9c3e442e398e80285782f 100644 --- a/Tools/PROCTools/data/master_q221_AOD_digest.ref +++ b/Tools/PROCTools/data/master_q221_AOD_digest.ref @@ -1,26 +1,26 @@ run event nTopo nIdTracks nJets nMuons nElec nTrueElec nFakeElec nPhot nTruePhot nFakePhot 284500 87473001 118 128 4 1 9 2 7 7 4 3 284500 87473014 85 80 6 0 9 1 8 7 4 3 - 284500 87473022 38 29 4 0 5 1 4 4 3 1 + 284500 87473022 38 29 4 0 5 1 4 3 2 1 284500 87473032 27 33 4 1 9 4 5 2 1 1 - 284500 87473037 60 39 7 0 11 2 9 5 3 2 - 284500 87473040 101 94 9 0 17 1 16 6 4 2 - 284500 87473051 142 110 12 1 13 1 12 23 16 7 + 284500 87473037 60 39 7 0 10 2 8 6 4 2 + 284500 87473040 101 96 9 0 17 1 16 7 4 3 + 284500 87473051 142 112 12 1 13 1 12 23 16 7 284500 87473063 62 76 5 2 6 2 4 6 4 2 284500 87473068 26 35 1 1 0 0 0 0 0 0 - 284500 87473075 72 84 6 0 5 0 5 5 4 1 - 284500 87473084 83 85 7 2 14 1 13 10 5 5 + 284500 87473075 72 85 6 0 5 0 5 5 4 1 + 284500 87473084 83 86 7 2 15 1 14 9 4 5 284500 87473091 43 49 3 0 2 1 1 5 2 3 - 284500 87473096 72 75 3 2 2 0 2 3 2 1 + 284500 87473096 72 76 3 2 2 0 2 3 2 1 284500 87473104 61 63 6 0 6 1 5 5 4 1 - 284500 87473114 93 79 7 2 13 1 12 8 5 3 + 284500 87473114 93 78 7 2 13 1 12 8 5 3 284500 87473121 93 100 6 3 16 4 12 6 5 1 284500 87473132 81 60 9 1 10 0 10 5 5 0 284500 87473137 81 71 8 3 15 0 15 6 6 0 - 284500 87473144 83 69 7 1 6 0 6 8 5 3 - 284500 87473154 89 88 7 0 9 1 8 8 4 4 + 284500 87473144 83 67 7 1 6 0 6 8 5 3 + 284500 87473154 89 88 7 0 10 2 8 8 4 4 284500 87473162 52 52 3 0 7 0 7 3 2 1 284500 87473167 74 54 6 3 12 2 10 13 8 5 284500 87473171 82 70 8 3 4 2 2 5 3 2 - 284500 87473184 74 87 5 2 7 1 6 9 5 4 + 284500 87473184 74 86 5 2 7 1 6 9 5 4 284500 87473192 54 52 4 1 7 4 3 5 4 1 diff --git a/Tools/PROCTools/data/master_q431_AOD_digest.ref b/Tools/PROCTools/data/master_q431_AOD_digest.ref index 4de62b1e01b98efc8f62b86ac595a27fd377a122..ca6ae0b120c9fb784d931f82a897cee95cbf8370 100644 --- a/Tools/PROCTools/data/master_q431_AOD_digest.ref +++ b/Tools/PROCTools/data/master_q431_AOD_digest.ref @@ -1,12 +1,12 @@ run event nTopo nIdTracks nJets nMuons 330470 1183722158 1 0 0 0 - 330470 1183722342 394 414 20 0 - 330470 1183727953 532 571 13 4 - 330470 1183732647 467 452 13 1 + 330470 1183722342 394 415 18 0 + 330470 1183727953 532 570 13 4 + 330470 1183732647 467 452 12 1 330470 1183733040 381 285 6 1 330470 1183734651 361 363 14 3 330470 1183735332 406 372 9 1 - 330470 1183736475 741 652 17 2 + 330470 1183736475 741 654 17 3 330470 1183738728 1 0 0 0 330470 1183738949 368 419 9 1 330470 1183742489 152 125 2 1 @@ -19,7 +19,7 @@ 330470 1183754806 470 406 14 0 330470 1183769295 342 317 8 1 330470 1183769939 348 341 11 3 - 330470 1183773832 307 197 7 0 + 330470 1183773832 307 198 7 0 330470 1183775209 57 0 0 0 330470 1183787124 431 361 11 2 330470 1183787946 321 310 5 1 diff --git a/Tools/PROCTools/python/RunTier0TestsTools.py b/Tools/PROCTools/python/RunTier0TestsTools.py index 7c55c782bfa0e829e17e75d65bd3ab5caeeef0c5..1550daabc9b3abedf19379469f004816cf949755 100644 --- a/Tools/PROCTools/python/RunTier0TestsTools.py +++ b/Tools/PROCTools/python/RunTier0TestsTools.py @@ -28,7 +28,7 @@ ciRefFileMap = { 's3505-22.0' : 'v5', # OverlayTier0Test_required-test 'overlay-d1498-21.0' : 'v2', - 'overlay-d1498-22.0' : 'v32', + 'overlay-d1498-22.0' : 'v33', 'overlay-bkg-21.0' : 'v1', 'overlay-bkg-22.0' : 'v4', } diff --git a/Trigger/TrigValidation/TrigAnalysisTest/share/ref_RDOtoRDOTrig_mt1_build.ref b/Trigger/TrigValidation/TrigAnalysisTest/share/ref_RDOtoRDOTrig_mt1_build.ref index c05895523842d734d919df0e820f1c6d6f4a4e39..9b8991fec9d67eb540cdd28f8b91ba538287f4c3 100644 --- a/Trigger/TrigValidation/TrigAnalysisTest/share/ref_RDOtoRDOTrig_mt1_build.ref +++ b/Trigger/TrigValidation/TrigAnalysisTest/share/ref_RDOtoRDOTrig_mt1_build.ref @@ -1,6 +1,6 @@ TrigSignatureMoniMT INFO HLT_2e17_etcut_L12EM15VH #3136730292 TrigSignatureMoniMT INFO -- #3136730292 Events 2 2 2 2 2 - - - 2 -TrigSignatureMoniMT INFO -- #3136730292 Features 12 298 14 - - - +TrigSignatureMoniMT INFO -- #3136730292 Features 12 294 14 - - - TrigSignatureMoniMT INFO HLT_2e17_lhvloose_L12EM15VH #2280638160 TrigSignatureMoniMT INFO -- #2280638160 Events 2 2 0 0 0 0 - - 0 TrigSignatureMoniMT INFO -- #2280638160 Features 0 0 0 0 - - @@ -9,7 +9,7 @@ TrigSignatureMoniMT INFO -- #1767768251 Events TrigSignatureMoniMT INFO -- #1767768251 Features 0 0 0 0 - - TrigSignatureMoniMT INFO HLT_2e3_etcut_L12EM3 #2613484113 TrigSignatureMoniMT INFO -- #2613484113 Events 20 20 20 20 20 - - - 20 -TrigSignatureMoniMT INFO -- #2613484113 Features 342 3696 780 - - - +TrigSignatureMoniMT INFO -- #2613484113 Features 342 3682 780 - - - TrigSignatureMoniMT INFO HLT_2g20_tight_L12EM15VH #3837353071 TrigSignatureMoniMT INFO -- #3837353071 Events 2 2 0 0 0 0 - - 0 TrigSignatureMoniMT INFO -- #3837353071 Features 0 0 0 0 - - @@ -38,11 +38,11 @@ TrigSignatureMoniMT INFO HLT_2mu15_L12MU10 #55720 TrigSignatureMoniMT INFO -- #557204938 Events 3 3 3 1 1 1 - - 1 TrigSignatureMoniMT INFO -- #557204938 Features 12 4 4 4 - - TrigSignatureMoniMT INFO HLT_2mu4_bDimu_L12MU4 #1730084172 -TrigSignatureMoniMT INFO -- #1730084172 Events 4 4 4 4 4 4 - - 1 -TrigSignatureMoniMT INFO -- #1730084172 Features 16 16 24 19 - - +TrigSignatureMoniMT INFO -- #1730084172 Events 4 4 4 4 4 4 - - 0 +TrigSignatureMoniMT INFO -- #1730084172 Features 16 16 24 18 - - TrigSignatureMoniMT INFO HLT_2mu4_bJpsimumu_L12MU4 #4276347155 -TrigSignatureMoniMT INFO -- #4276347155 Events 4 4 4 4 4 4 - - 1 -TrigSignatureMoniMT INFO -- #4276347155 Features 16 16 24 19 - - +TrigSignatureMoniMT INFO -- #4276347155 Events 4 4 4 4 4 4 - - 0 +TrigSignatureMoniMT INFO -- #4276347155 Features 16 16 24 18 - - TrigSignatureMoniMT INFO HLT_2mu4_bUpsimumu_L12MU4 #4008168535 TrigSignatureMoniMT INFO -- #4008168535 Events 4 4 4 4 4 4 - - 0 TrigSignatureMoniMT INFO -- #4008168535 Features 16 16 24 18 - - @@ -102,22 +102,22 @@ TrigSignatureMoniMT INFO -- #4128870680 Events TrigSignatureMoniMT INFO -- #4128870680 Features 0 0 0 0 - - TrigSignatureMoniMT INFO HLT_e17_lhloose_mu14_L1EM15VH_MU10 #899946230 TrigSignatureMoniMT INFO -- #899946230 Events 3 3 2 2 2 2 - - 2 -TrigSignatureMoniMT INFO -- #899946230 Features 2 46 4 2 - - +TrigSignatureMoniMT INFO -- #899946230 Features 2 45 4 2 - - TrigSignatureMoniMT INFO HLT_e17_lhvloose_nod0_L1EM15VH #140779220 TrigSignatureMoniMT INFO -- #140779220 Events 8 8 6 6 6 5 - - 5 -TrigSignatureMoniMT INFO -- #140779220 Features 6 79 10 5 - - +TrigSignatureMoniMT INFO -- #140779220 Features 6 78 10 5 - - TrigSignatureMoniMT INFO HLT_e26_etcut_L1EM22VHI #1703681121 TrigSignatureMoniMT INFO -- #1703681121 Events 6 6 6 6 6 - - - 6 -TrigSignatureMoniMT INFO -- #1703681121 Features 7 134 7 - - - +TrigSignatureMoniMT INFO -- #1703681121 Features 7 133 7 - - - TrigSignatureMoniMT INFO HLT_e26_lhtight_L1EM22VHI #1995263521 -TrigSignatureMoniMT INFO -- #1995263521 Events 6 6 5 5 5 3 - - 3 -TrigSignatureMoniMT INFO -- #1995263521 Features 5 65 8 3 - - +TrigSignatureMoniMT INFO -- #1995263521 Events 6 6 5 5 5 4 - - 4 +TrigSignatureMoniMT INFO -- #1995263521 Features 5 64 8 4 - - TrigSignatureMoniMT INFO HLT_e26_lhtight_nod0_L1EM22VHI #939763520 -TrigSignatureMoniMT INFO -- #939763520 Events 6 6 5 5 5 3 - - 3 -TrigSignatureMoniMT INFO -- #939763520 Features 5 65 8 3 - - +TrigSignatureMoniMT INFO -- #939763520 Events 6 6 5 5 5 4 - - 4 +TrigSignatureMoniMT INFO -- #939763520 Features 5 64 8 4 - - TrigSignatureMoniMT INFO HLT_e26_lhtight_nod0_L1EM24VHI #4227411116 -TrigSignatureMoniMT INFO -- #4227411116 Events 6 6 5 5 5 3 - - 3 -TrigSignatureMoniMT INFO -- #4227411116 Features 5 65 8 3 - - +TrigSignatureMoniMT INFO -- #4227411116 Events 6 6 5 5 5 4 - - 4 +TrigSignatureMoniMT INFO -- #4227411116 Features 5 64 8 4 - - TrigSignatureMoniMT INFO HLT_e300_etcut_L1EM22VHI #2128128255 TrigSignatureMoniMT INFO -- #2128128255 Events 6 6 0 0 0 - - - 0 TrigSignatureMoniMT INFO -- #2128128255 Features 0 0 0 - - - @@ -129,34 +129,34 @@ TrigSignatureMoniMT INFO -- #2086577378 Events TrigSignatureMoniMT INFO -- #2086577378 Features 3 - - - - - TrigSignatureMoniMT INFO HLT_e3_etcut_L1EM3 #683953566 TrigSignatureMoniMT INFO -- #683953566 Events 20 20 20 20 20 - - - 20 -TrigSignatureMoniMT INFO -- #683953566 Features 171 1848 390 - - - +TrigSignatureMoniMT INFO -- #683953566 Features 171 1841 390 - - - TrigSignatureMoniMT INFO HLT_e5_etcut_L1EM3 #324908483 TrigSignatureMoniMT INFO -- #324908483 Events 20 20 20 20 20 - - - 20 -TrigSignatureMoniMT INFO -- #324908483 Features 137 1657 190 - - - +TrigSignatureMoniMT INFO -- #324908483 Features 137 1651 190 - - - TrigSignatureMoniMT INFO HLT_e5_lhloose_noringer_L1EM3 #1053337356 TrigSignatureMoniMT INFO -- #1053337356 Events 20 20 17 17 17 4 - - 4 -TrigSignatureMoniMT INFO -- #1053337356 Features 56 656 116 5 - - +TrigSignatureMoniMT INFO -- #1053337356 Features 56 653 116 5 - - TrigSignatureMoniMT INFO HLT_e5_lhmedium_noringer_L1EM3 #176627878 TrigSignatureMoniMT INFO -- #176627878 Events 20 20 16 16 16 4 - - 4 -TrigSignatureMoniMT INFO -- #176627878 Features 48 534 93 5 - - +TrigSignatureMoniMT INFO -- #176627878 Features 48 533 93 5 - - TrigSignatureMoniMT INFO HLT_e5_lhtight_noringer_L1EM3 #2758326765 -TrigSignatureMoniMT INFO -- #2758326765 Events 20 20 16 16 16 3 - - 3 -TrigSignatureMoniMT INFO -- #2758326765 Features 45 516 84 4 - - +TrigSignatureMoniMT INFO -- #2758326765 Events 20 20 16 16 16 4 - - 4 +TrigSignatureMoniMT INFO -- #2758326765 Features 45 515 84 5 - - TrigSignatureMoniMT INFO HLT_e5_lhtight_noringer_nod0_L1EM3 #1690619419 -TrigSignatureMoniMT INFO -- #1690619419 Events 20 20 16 16 16 3 - - 3 -TrigSignatureMoniMT INFO -- #1690619419 Features 45 516 84 4 - - +TrigSignatureMoniMT INFO -- #1690619419 Events 20 20 16 16 16 4 - - 4 +TrigSignatureMoniMT INFO -- #1690619419 Features 45 515 84 5 - - TrigSignatureMoniMT INFO HLT_e60_lhmedium_L1EM22VHI #298591874 TrigSignatureMoniMT INFO -- #298591874 Events 6 6 2 2 2 2 - - 2 -TrigSignatureMoniMT INFO -- #298591874 Features 2 34 4 2 - - +TrigSignatureMoniMT INFO -- #298591874 Features 2 33 4 2 - - TrigSignatureMoniMT INFO HLT_e60_lhmedium_nod0_L1EM22VHI #4115486024 TrigSignatureMoniMT INFO -- #4115486024 Events 6 6 2 2 2 2 - - 2 -TrigSignatureMoniMT INFO -- #4115486024 Features 2 34 4 2 - - +TrigSignatureMoniMT INFO -- #4115486024 Features 2 33 4 2 - - TrigSignatureMoniMT INFO HLT_e7_etcut_L1EM3 #1959043579 TrigSignatureMoniMT INFO -- #1959043579 Events 20 20 20 20 20 - - - 20 -TrigSignatureMoniMT INFO -- #1959043579 Features 89 1136 112 - - - +TrigSignatureMoniMT INFO -- #1959043579 Features 89 1130 112 - - - TrigSignatureMoniMT INFO HLT_e7_lhmedium_mu24_L1MU20 #2970063918 TrigSignatureMoniMT INFO -- #2970063918 Events 8 8 7 5 5 1 - - 1 -TrigSignatureMoniMT INFO -- #2970063918 Features 9 72 14 1 - - +TrigSignatureMoniMT INFO -- #2970063918 Features 9 71 14 1 - - TrigSignatureMoniMT INFO HLT_g140_etcut_L1EM22VHI #3879926061 TrigSignatureMoniMT INFO -- #3879926061 Events 6 6 0 0 0 - - - 0 TrigSignatureMoniMT INFO -- #3879926061 Features 0 0 0 - - - @@ -258,12 +258,12 @@ TrigSignatureMoniMT INFO -- #2938374624 Events TrigSignatureMoniMT INFO -- #2938374624 Features 19 - - - - - TrigSignatureMoniMT INFO HLT_j45_ftf_subjesgscIS_059jvt_L1J15 #1593009344 TrigSignatureMoniMT INFO -- #1593009344 Events 20 20 12 - - - - - 12 -TrigSignatureMoniMT INFO -- #1593009344 Features 19 - - - - - +TrigSignatureMoniMT INFO -- #1593009344 Features 18 - - - - - TrigSignatureMoniMT INFO HLT_j45_ftf_subjesgscIS_L1J15 #3341539267 TrigSignatureMoniMT INFO -- #3341539267 Events 20 20 19 - - - - - 19 TrigSignatureMoniMT INFO -- #3341539267 Features 51 - - - - - TrigSignatureMoniMT INFO HLT_j45_ftf_subjesgscIS_bmv2c1070_split_L1J20 #991419339 -TrigSignatureMoniMT INFO -- #991419339 Events 19 19 19 4 - - - - 4 +TrigSignatureMoniMT INFO -- #991419339 Events 19 19 19 4 - - - - 4 TrigSignatureMoniMT INFO -- #991419339 Features 50 8 - - - - TrigSignatureMoniMT INFO HLT_j45_ftf_subjesgscIS_boffperf_split_L1J20 #1961149049 TrigSignatureMoniMT INFO -- #1961149049 Events 19 19 19 19 - - - - 19 @@ -624,7 +624,7 @@ TrigSignatureMoniMT INFO -- #1433975745 Events TrigSignatureMoniMT INFO -- #1433975745 Features 22 15 7 - - - TrigSignatureMoniMT INFO HLT_tau25_mediumRNN_tracktwoMVA_L1TAU12IM #2222894847 TrigSignatureMoniMT INFO -- #2222894847 Events 14 14 12 11 7 - - - 7 -TrigSignatureMoniMT INFO -- #2222894847 Features 22 15 10 - - - +TrigSignatureMoniMT INFO -- #2222894847 Features 22 15 9 - - - TrigSignatureMoniMT INFO HLT_tau25_mediumRNN_tracktwo_L1TAU12IM #698603885 TrigSignatureMoniMT INFO -- #698603885 Events 14 14 12 11 0 - - - 0 TrigSignatureMoniMT INFO -- #698603885 Features 22 15 0 - - - @@ -648,7 +648,7 @@ TrigSignatureMoniMT INFO -- #1275052132 Events TrigSignatureMoniMT INFO -- #1275052132 Features 22 15 0 - - - TrigSignatureMoniMT INFO HLT_tau35_mediumRNN_tracktwoMVA_L1TAU12IM #2456480859 TrigSignatureMoniMT INFO -- #2456480859 Events 14 14 11 10 6 - - - 6 -TrigSignatureMoniMT INFO -- #2456480859 Features 20 14 9 - - - +TrigSignatureMoniMT INFO -- #2456480859 Features 20 14 8 - - - TrigSignatureMoniMT INFO HLT_tilecalib_laser_TilePEB_L1CALREQ2 #1063154655 TrigSignatureMoniMT INFO -- #1063154655 Events 0 0 0 - - - - - 0 TrigSignatureMoniMT INFO -- #1063154655 Features 0 - - - - - @@ -665,8 +665,8 @@ TrigSignatureMoniMT INFO HLT_xe100_tcpufit_L1XE50 TrigSignatureMoniMT INFO -- #2803198799 Events 10 10 6 - - - - - 6 TrigSignatureMoniMT INFO -- #2803198799 Features 6 - - - - - TrigSignatureMoniMT INFO HLT_xe100_trkmht_L1XE50 #1055916731 -TrigSignatureMoniMT INFO -- #1055916731 Events 10 10 4 - - - - - 4 -TrigSignatureMoniMT INFO -- #1055916731 Features 4 - - - - - +TrigSignatureMoniMT INFO -- #1055916731 Events 10 10 5 - - - - - 5 +TrigSignatureMoniMT INFO -- #1055916731 Features 5 - - - - - TrigSignatureMoniMT INFO HLT_xe110_mht_L1XE50 #3030733259 TrigSignatureMoniMT INFO -- #3030733259 Events 10 10 6 - - - - - 6 TrigSignatureMoniMT INFO -- #3030733259 Features 6 - - - - - diff --git a/Trigger/TrigValidation/TriggerTest/share/ref_data_v1Dev_build.ref b/Trigger/TrigValidation/TriggerTest/share/ref_data_v1Dev_build.ref index 1805c7dbd0bead32fa34d3aab273de3824c5c67e..aefe8df858b8bebf7d5017226054045e3d231ef7 100644 --- a/Trigger/TrigValidation/TriggerTest/share/ref_data_v1Dev_build.ref +++ b/Trigger/TrigValidation/TriggerTest/share/ref_data_v1Dev_build.ref @@ -9,7 +9,7 @@ TrigSignatureMoniMT INFO -- #1767768251 Events TrigSignatureMoniMT INFO -- #1767768251 Features 0 0 0 0 - - TrigSignatureMoniMT INFO HLT_2e3_etcut_L12EM3 #2613484113 TrigSignatureMoniMT INFO -- #2613484113 Events 20 20 13 13 13 - - - 13 -TrigSignatureMoniMT INFO -- #2613484113 Features 92 322 178 - - - +TrigSignatureMoniMT INFO -- #2613484113 Features 92 324 178 - - - TrigSignatureMoniMT INFO HLT_2g20_tight_L12EM15VH #3837353071 TrigSignatureMoniMT INFO -- #3837353071 Events 20 20 0 0 0 0 - - 0 TrigSignatureMoniMT INFO -- #3837353071 Features 0 0 0 0 - - @@ -129,10 +129,10 @@ TrigSignatureMoniMT INFO -- #2086577378 Events TrigSignatureMoniMT INFO -- #2086577378 Features 0 - - - - - TrigSignatureMoniMT INFO HLT_e3_etcut_L1EM3 #683953566 TrigSignatureMoniMT INFO -- #683953566 Events 20 20 15 14 14 - - - 14 -TrigSignatureMoniMT INFO -- #683953566 Features 48 162 90 - - - +TrigSignatureMoniMT INFO -- #683953566 Features 48 163 90 - - - TrigSignatureMoniMT INFO HLT_e5_etcut_L1EM3 #324908483 TrigSignatureMoniMT INFO -- #324908483 Events 20 20 13 13 13 - - - 13 -TrigSignatureMoniMT INFO -- #324908483 Features 41 147 49 - - - +TrigSignatureMoniMT INFO -- #324908483 Features 41 148 49 - - - TrigSignatureMoniMT INFO HLT_e5_lhloose_noringer_L1EM3 #1053337356 TrigSignatureMoniMT INFO -- #1053337356 Events 20 20 10 10 10 1 - - 1 TrigSignatureMoniMT INFO -- #1053337356 Features 15 48 31 1 - - @@ -686,8 +686,8 @@ TrigSignatureMoniMT INFO HLT_xe30_mht_L1XE10 #36 TrigSignatureMoniMT INFO -- #3626903018 Events 20 20 16 - - - - - 16 TrigSignatureMoniMT INFO -- #3626903018 Features 16 - - - - - TrigSignatureMoniMT INFO HLT_xe30_pfsum_L1XE10 #998713382 -TrigSignatureMoniMT INFO -- #998713382 Events 20 20 4 - - - - - 4 -TrigSignatureMoniMT INFO -- #998713382 Features 4 - - - - - +TrigSignatureMoniMT INFO -- #998713382 Events 20 20 3 - - - - - 3 +TrigSignatureMoniMT INFO -- #998713382 Features 3 - - - - - TrigSignatureMoniMT INFO HLT_xe30_tcpufit_L1XE10 #1583719916 TrigSignatureMoniMT INFO -- #1583719916 Events 20 20 6 - - - - - 6 TrigSignatureMoniMT INFO -- #1583719916 Features 6 - - - - -