diff --git a/Calorimeter/CaloLocalHadCalib/CMakeLists.txt b/Calorimeter/CaloLocalHadCalib/CMakeLists.txt index f1ccb40262922e58cb0c599780e9a69b88092847..f8fe1866216c798c9873f77a03afcca89a3e7a90 100644 --- a/Calorimeter/CaloLocalHadCalib/CMakeLists.txt +++ b/Calorimeter/CaloLocalHadCalib/CMakeLists.txt @@ -22,7 +22,6 @@ atlas_add_dictionary( CaloLocalHadCalibDict LINK_LIBRARIES ${Boost_LIBRARIES} ${ROOT_LIBRARIES} ${CLHEP_LIBRARIES} AthenaBaseComps AthenaKernel CaloConditions CaloDetDescrLib CaloDmDetDescr CaloEvent CaloGeoHelpers CaloIdentifier CaloSimEvent CaloUtilsLib CxxUtils GaudiKernel GeneratorObjects PathResolver StoreGateLib xAODCaloEvent ) # Install files from the package: -atlas_install_joboptions( share/*.txt share/*.py ) atlas_install_runtime( share/CaloHadDMCoeff_init_v1.txt share/CaloHadDMCoeff_init_v2.txt ) atlas_install_python_modules( python/*.py POST_BUILD_CMD ${ATLAS_FLAKE8} ) atlas_install_scripts( scripts/CaloLCW_tf.py scripts/GetCaloLCWPerformance.py ) diff --git a/Calorimeter/CaloLocalHadCalib/share/CaloReadLCClassificationFile.py b/Calorimeter/CaloLocalHadCalib/share/CaloReadLCClassificationFile.py deleted file mode 100644 index e055dc02df3b2908ef7a1c2e8b74e97cb6cca00f..0000000000000000000000000000000000000000 --- a/Calorimeter/CaloLocalHadCalib/share/CaloReadLCClassificationFile.py +++ /dev/null @@ -1,42 +0,0 @@ -# -# set inFileName and outFileName to convert TProfile2D classification to pool -# -import AthenaCommon.Constants as Lvl -from AthenaCommon.AppMgr import ServiceMgr as svcMgr -from AthenaCommon.AppMgr import theApp -import IOVDbSvc.IOVDb - -from AthenaCommon.AlgSequence import AlgSequence -topSequence = AlgSequence() - -from CaloLocalHadCalib.CaloLocalHadCalibConf import CaloReadLCClassificationFile -ReadLCClassification = CaloReadLCClassificationFile("ReadLCClassification") - -ReadLCClassification.LCClassificationFileName = inFileName -ReadLCClassification.ClassificationKey="EMFracClassify" -topSequence += ReadLCClassification -# Number of events to be processed (default is 10) -theApp.EvtMax = 1 - -AthenaPoolCnvSvc = Service( "AthenaPoolCnvSvc" ) - -from RegistrationServices.OutputConditionsAlg import OutputConditionsAlg -myOCA=OutputConditionsAlg("myOCA",outFileName) -# List of objects container type#key#foldername -myOCA.ObjectList = ["CaloLocalHadCoeff#EMFracClassify#/CALO/HadCalibration/CaloEMFrac"] -myOCA.WriteIOV = True -myOCA.IOVTagList = ["CaloEMFrac2-CSC05-BERT" ] -myOCA.OutputLevel= Lvl.DEBUG - -# Set output level threshold (2=DEBUG, 3=INFO, 4=WARNING, 5=ERROR, 6=FATAL ) -MessageSvc = Service( "MessageSvc" ) -MessageSvc.OutputLevel = Lvl.INFO - -DetectorStore = svcMgr.DetectorStore -DetectorStore.Dump = TRUE -DetectorStore.OutputLevel = Lvl.INFO - -IOVDbSvc = Service( "IOVDbSvc" ) -IOVDbSvc.OutputLevel = Lvl.INFO -svcMgr.IOVDbSvc.dbConnection = "sqlite://X;schema=myEMFrac05BERT200.db;dbname=OFLP200" - diff --git a/Calorimeter/CaloLocalHadCalib/share/CaloReadLCJetEnergyScaleFile.py b/Calorimeter/CaloLocalHadCalib/share/CaloReadLCJetEnergyScaleFile.py deleted file mode 100644 index 230a7705840da0db2ae86f5479e9ca9150f4b1ab..0000000000000000000000000000000000000000 --- a/Calorimeter/CaloLocalHadCalib/share/CaloReadLCJetEnergyScaleFile.py +++ /dev/null @@ -1,53 +0,0 @@ -# -# set inFileName and outFileName to convert TProfile2D classification to pool -# -import AthenaCommon.Constants as Lvl -from AthenaCommon.AppMgr import ServiceMgr as svcMgr -from AthenaCommon.AppMgr import theApp -import IOVDbSvc.IOVDb - -if not 'inFileNames' in dir(): - inFileNames = ["AntiKt4CB_JES_NumInv_JX.root", "AntiKt6CB_JES_NumInv_JX.root" ] - -if not 'inJetCollectionNames' in dir(): - inJetCollectionNames = ["AntiKt4LCTopoJets", "AntiKt4LCTopoJets" ] - -if not 'outFileName' in dir(): - outFileName = "AntiKt4a6CB_JES_40_NumInv_JX.pool.root" - - -from AthenaCommon.AlgSequence import AlgSequence -topSequence = AlgSequence() - -from CaloLocalHadCalib.CaloLocalHadCalibConf import CaloReadLCJetEnergyScaleFile -ReadLCJetEnergyScale = CaloReadLCJetEnergyScaleFile("ReadLCJetEnergyScale") - -ReadLCJetEnergyScale.LCJetEnergyScaleFileNames = inFileNames -ReadLCJetEnergyScale.LCJetEnergyScaleJetCollectionNames = inJetCollectionNames -ReadLCJetEnergyScale.CorrectionKey="JESCorrection" -topSequence += ReadLCJetEnergyScale -# Number of events to be processed (default is 10) -theApp.EvtMax = 1 - - -AthenaPoolCnvSvc = Service( "AthenaPoolCnvSvc" ) - -from RegistrationServices.OutputConditionsAlg import OutputConditionsAlg -myOCA=OutputConditionsAlg("myOCA",outFileName) -# List of objects container type#key#foldername -myOCA.ObjectList = ["CaloLocalHadCoeff#JESCorrection#/CALO/HadCalibration2/CaloJetEnergyScale"] -myOCA.WriteIOV = True -myOCA.IOVTagList = ["CaloHadJESCorr2-GEO18-QGSP-BERT-MU00" ] -myOCA.OutputLevel= Lvl.DEBUG - -# Set output level threshold (2=DEBUG, 3=INFO, 4=WARNING, 5=ERROR, 6=FATAL ) -MessageSvc = Service( "MessageSvc" ) -MessageSvc.OutputLevel = Lvl.INFO - -DetectorStore = svcMgr.DetectorStore -DetectorStore.Dump = TRUE -DetectorStore.OutputLevel = Lvl.INFO - -IOVDbSvc = Service( "IOVDbSvc" ) -IOVDbSvc.OutputLevel = Lvl.INFO -svcMgr.IOVDbSvc.dbConnection = "sqlite://X;schema=myJESGEO18BERTMU00200.db;dbname=OFLP200" diff --git a/Calorimeter/CaloLocalHadCalib/share/CaloReadLCOutOfClusterFile.py b/Calorimeter/CaloLocalHadCalib/share/CaloReadLCOutOfClusterFile.py deleted file mode 100644 index 589e5949c074a6e16e9961b0614d75cfb3f28cc2..0000000000000000000000000000000000000000 --- a/Calorimeter/CaloLocalHadCalib/share/CaloReadLCOutOfClusterFile.py +++ /dev/null @@ -1,42 +0,0 @@ -# -# set inFileName and outFileName to convert TProfile2D classification to pool -# -import AthenaCommon.Constants as Lvl -from AthenaCommon.AppMgr import ServiceMgr as svcMgr -from AthenaCommon.AppMgr import theApp -import IOVDbSvc.IOVDb - -from AthenaCommon.AlgSequence import AlgSequence -topSequence = AlgSequence() - -from CaloLocalHadCalib.CaloLocalHadCalibConf import CaloReadLCOutOfClusterFile -ReadLCOutOfCluster = CaloReadLCOutOfClusterFile("ReadLCOutOfCluster") - -ReadLCOutOfCluster.LCOutOfClusterFileName = inFileName -ReadLCOutOfCluster.CorrectionKey="OOCCorrection" -topSequence += ReadLCOutOfCluster -# Number of events to be processed (default is 10) -theApp.EvtMax = 1 - - -AthenaPoolCnvSvc = Service( "AthenaPoolCnvSvc" ) - -from RegistrationServices.OutputConditionsAlg import OutputConditionsAlg -myOCA=OutputConditionsAlg("myOCA",outFileName) -# List of objects container type#key#foldername -myOCA.ObjectList = ["CaloLocalHadCoeff#OOCCorrection#/CALO/HadCalibration/CaloOutOfCluster"] -myOCA.WriteIOV = True -myOCA.IOVTagList = ["CaloHadOOCCorr2-CSC05-BERT" ] -myOCA.OutputLevel= Lvl.DEBUG - -# Set output level threshold (2=DEBUG, 3=INFO, 4=WARNING, 5=ERROR, 6=FATAL ) -MessageSvc = Service( "MessageSvc" ) -MessageSvc.OutputLevel = Lvl.INFO - -DetectorStore = svcMgr.DetectorStore -DetectorStore.Dump = TRUE -DetectorStore.OutputLevel = Lvl.INFO - -IOVDbSvc = Service( "IOVDbSvc" ) -IOVDbSvc.OutputLevel = Lvl.INFO -svcMgr.IOVDbSvc.dbConnection = "sqlite://X;schema=myOOC05BERT200.db;dbname=OFLP200" diff --git a/Calorimeter/CaloLocalHadCalib/share/CaloReadLCOutOfClusterPi0File.py b/Calorimeter/CaloLocalHadCalib/share/CaloReadLCOutOfClusterPi0File.py deleted file mode 100644 index 0c039adeeaf584d988894b3636e8b1bd2af24606..0000000000000000000000000000000000000000 --- a/Calorimeter/CaloLocalHadCalib/share/CaloReadLCOutOfClusterPi0File.py +++ /dev/null @@ -1,42 +0,0 @@ -# -# set inFileName and outFileName to convert TProfile2D classification to pool -# -import AthenaCommon.Constants as Lvl -from AthenaCommon.AppMgr import ServiceMgr as svcMgr -from AthenaCommon.AppMgr import theApp -import IOVDbSvc.IOVDb - -from AthenaCommon.AlgSequence import AlgSequence -topSequence = AlgSequence() - -from CaloLocalHadCalib.CaloLocalHadCalibConf import CaloReadLCOutOfClusterFile -ReadLCOutOfCluster = CaloReadLCOutOfClusterFile("ReadLCOutOfCluster") - -ReadLCOutOfCluster.LCOutOfClusterFileName = inFileName -ReadLCOutOfCluster.CorrectionKey="OOCPi0Correction" -topSequence += ReadLCOutOfCluster -# Number of events to be processed (default is 10) -theApp.EvtMax = 1 - -AthenaPoolCnvSvc = Service( "AthenaPoolCnvSvc" ) - -from RegistrationServices.OutputConditionsAlg import OutputConditionsAlg -myOCA=OutputConditionsAlg("myOCA",outFileName) -# List of objects container type#key#foldername -myOCA.ObjectList = ["CaloLocalHadCoeff#OOCPi0Correction#/CALO/HadCalibration/CaloOutOfClusterPi0"] -myOCA.WriteIOV = True -myOCA.IOVTagList = ["CaloHadOOCCorrPi02-CSC05-BERT" ] -myOCA.OutputLevel= Lvl.DEBUG - -# Set output level threshold (2=DEBUG, 3=INFO, 4=WARNING, 5=ERROR, 6=FATAL ) -MessageSvc = Service( "MessageSvc" ) -MessageSvc.OutputLevel = Lvl.INFO - -DetectorStore = svcMgr.DetectorStore -DetectorStore.Dump = TRUE -DetectorStore.OutputLevel = Lvl.INFO - -IOVDbSvc = Service( "IOVDbSvc" ) -IOVDbSvc.OutputLevel = Lvl.INFO -svcMgr.IOVDbSvc.dbConnection = "sqlite://X;schema=myOOCPi005BERT200.db;dbname=OFLP200" - diff --git a/Calorimeter/CaloLocalHadCalib/share/CaloReadLCWeightsFile.py b/Calorimeter/CaloLocalHadCalib/share/CaloReadLCWeightsFile.py deleted file mode 100644 index 75a5400e212356d9319b009253b7e53f84892af5..0000000000000000000000000000000000000000 --- a/Calorimeter/CaloLocalHadCalib/share/CaloReadLCWeightsFile.py +++ /dev/null @@ -1,42 +0,0 @@ -# -# set inFileName and outFileName to convert TProfile2D weights to pool -# -import AthenaCommon.Constants as Lvl -from AthenaCommon.AppMgr import ServiceMgr as svcMgr -from AthenaCommon.AppMgr import theApp -import IOVDbSvc.IOVDb - -from AthenaCommon.AlgSequence import AlgSequence -topSequence = AlgSequence() - -from CaloLocalHadCalib.CaloLocalHadCalibConf import CaloReadLCWeightsFile -ReadLCWeights = CaloReadLCWeightsFile("ReadLCWeights") - -ReadLCWeights.LCWeightFileName = inFileName -ReadLCWeights.CorrectionKey="H1ClusterCellWeights" -topSequence += ReadLCWeights -# Number of events to be processed (default is 10) -theApp.EvtMax = 1 - -AthenaPoolCnvSvc = Service( "AthenaPoolCnvSvc" ) - -from RegistrationServices.OutputConditionsAlg import OutputConditionsAlg -myOCA=OutputConditionsAlg("myOCA",outFileName) -# List of objects container type#key#foldername -myOCA.ObjectList = ["CaloLocalHadCoeff#H1ClusterCellWeights#/CALO/HadCalibration2/H1ClusterCellWeights"] -myOCA.WriteIOV = True -myOCA.IOVTagList = ["CaloH1CellWeights2-GEO08-QGSP-BERT-Log" ] -myOCA.OutputLevel= Lvl.DEBUG - -# Set output level threshold (2=DEBUG, 3=INFO, 4=WARNING, 5=ERROR, 6=FATAL ) -MessageSvc = Service( "MessageSvc" ) -MessageSvc.OutputLevel = Lvl.INFO - -DetectorStore = svcMgr.DetectorStore -DetectorStore.Dump = TRUE -DetectorStore.OutputLevel = Lvl.INFO - -iovdbsvc = Service( "IOVDbSvc" ) -IOVDbSvc.OutputLevel = Lvl.INFO -svcMgr.IOVDbSvc.dbConnection = "sqlite://X;schema=myWeightGeo08BERTLog200.db;dbname=OFLP200" - diff --git a/Calorimeter/CaloLocalHadCalib/share/CaloReadLC_Cl_W_OOC_OOCPi0_File.py b/Calorimeter/CaloLocalHadCalib/share/CaloReadLC_Cl_W_OOC_OOCPi0_File.py deleted file mode 100644 index e38647ac169cb7d4d5cbb335eab091518daafbfb..0000000000000000000000000000000000000000 --- a/Calorimeter/CaloLocalHadCalib/share/CaloReadLC_Cl_W_OOC_OOCPi0_File.py +++ /dev/null @@ -1,135 +0,0 @@ -# -# set inFileName and outFileName to convert TProfile2D classification to pool -# -import AthenaCommon.Constants as Lvl -from AthenaCommon.AppMgr import ServiceMgr as svcMgr -from AthenaCommon.AppMgr import theApp -import IOVDbSvc.IOVDb - - -if not 'inFileNameC' in dir(): - inFileNameC="LCWeights_h6prod.100004.piplusminuszero_logE.qgspbert.jid000040-50_v3.Phi5._sum.classify.root" - #inFileNameC="LCWeights_h6prod.100004.piplusminuszero_logE.ftfpbert.jid000054-69_v3._sum.classify.root" - -if not 'inFileNameW' in dir(): - inFileNameW="LCWeights_h6prod.100004.piplusminus_logE.qgspbert.jid000040-50_v3.Phi5._sum.nonInv.weights.root" - #inFileNameW="LCWeights_h6prod.100004.piplusminus_logE.ftfpbert.jid000054-69_v3._sum.nonInv.weights.root" - -if not 'inFileNameO' in dir(): - inFileNameO="LCWeights_h6prod.100004.piplusminus_logE.qgspbert.jid000040-50_v3.Phi5._sum.ooc.root" - #inFileNameO="LCWeights_h6prod.100004.piplusminus_logE.ftfpbert.jid000054-69_v3._sum.ooc.root" - -if not 'inFileNameOPi0' in dir(): - inFileNameOPi0="LCWeights_h6prod.100004.pizero_logE.qgspbert.jid000040-50_v3.Phi5._sum.ooc.root" - #inFileNameOPi0="LCWeights_h6prod.100004.pizero_logE.ftfpbert.jid000054-69_v3._sum.ooc.root" - -if not 'outFileName' in dir(): - outFileName="LCWeights_h6prod.QGSPBERT.100004.vv08.jid000040-50_v3.Phi5.piplusminuszero_logE.classify_weights_ooc_oocPi0.pool.root" - #outFileName="LCWeights_h6prod.FTFPBERT.vv05.100004.piplusminuszero_logE.classify_weights_ooc_oocPi0.pool.root" - - -if not os.path.exists(inFileNameC): - exit("No file "+inFileNameW) -if not os.path.exists(inFileNameW): - exit("No file "+inFileNameW) -if not os.path.exists(inFileNameO): - exit("No file "+inFileNameO) -if not os.path.exists(inFileNameOPi0): - exit("No file "+inFileNameOPi0) - -from AthenaCommon.AlgSequence import AlgSequence -topSequence = AlgSequence() - -from CaloLocalHadCalib.CaloLocalHadCalibConf import CaloReadLCClassificationFile, CaloReadLCWeightsFile, CaloReadLCOutOfClusterFile -ReadLCClassification = CaloReadLCClassificationFile("ReadLCClassification") -ReadLCWeights = CaloReadLCWeightsFile("ReadLCWeights") -ReadLCOutOfCluster = CaloReadLCOutOfClusterFile("ReadLCOutOfCluster") -ReadLCOutOfClusterPi0 = CaloReadLCOutOfClusterFile("ReadLCOutOfClusterPi0") - -ReadLCClassification.LCClassificationFileName = inFileNameC -ReadLCClassification.ClassificationKey="EMFracClassify" -topSequence += ReadLCClassification - -ReadLCWeights.LCWeightFileName = inFileNameW -ReadLCWeights.CorrectionKey="H1ClusterCellWeights" -topSequence += ReadLCWeights - -ReadLCOutOfCluster.LCOutOfClusterFileName = inFileNameO -ReadLCOutOfCluster.CorrectionKey="OOCCorrection" -topSequence += ReadLCOutOfCluster - -ReadLCOutOfClusterPi0.LCOutOfClusterFileName = inFileNameOPi0 -ReadLCOutOfClusterPi0.CorrectionKey="OOCPi0Correction" -topSequence += ReadLCOutOfClusterPi0 - -# Number of events to be processed (default is 10) -theApp.EvtMax = 1 - -AthenaPoolCnvSvc = Service( "AthenaPoolCnvSvc" ) - -from RegistrationServices.OutputConditionsAlg import OutputConditionsAlg -myOCA=OutputConditionsAlg("myOCA",outFileName) -# List of objects container type#key#foldername -myOCA.ObjectList = [ - "CaloLocalHadCoeff#EMFracClassify#/CALO/HadCalibration2/CaloEMFrac", - "CaloLocalHadCoeff#H1ClusterCellWeights#/CALO/HadCalibration2/H1ClusterCellWeights", - "CaloLocalHadCoeff#OOCCorrection#/CALO/HadCalibration2/CaloOutOfCluster", - "CaloLocalHadCoeff#OOCPi0Correction#/CALO/HadCalibration2/CaloOutOfClusterPi0" - ] -myOCA.WriteIOV = True -#myOCA.IOVTagList = [ - #"CaloEMFrac2-H6-2004-01-FTFP-BERT", - #"CaloH1CellWeights2-H6-2004-01-FTFP-BERT", - #"CaloHadOOCCorr2-H6-2004-01-FTFP-BERT", - #"CaloHadOOCCorrPi02-H6-2004-01-FTFP-BERT" - #] -#myOCA.IOVTagList = [ - #"CaloEMFrac2-H6-2004-01-QGSP-BERT", - #"CaloH1CellWeights2-H6-2004-01-QGSP-BERT", - #"CaloHadOOCCorr2-H6-2004-01-QGSP-BERT", - #"CaloHadOOCCorrPi02-H6-2004-01-QGSP-BERT" - #] -#myOCA.IOVTagList = [ - #"CaloEMFrac2-GEO08-QGSP-BERT-NClus", - #"CaloH1CellWeights2-GEO08-QGSP-BERT-NClus", - #"CaloHadOOCCorr2-GEO08-QGSP-BERT-ISol-NClus", - #"CaloHadOOCCorrPi02-GEO08-QGSP-BERT-ISol-NClus" - #] -#myOCA.IOVTagList = [ -# "CaloEMFrac2-GEO08-FTFP-BERT-NClus", -# "CaloH1CellWeights2-GEO08-FTFP-BERT-NClus", -# "CaloHadOOCCorr2-GEO08-FTFP-BERT-NClus", -# "CaloHadOOCCorrPi02-GEO08-FTFP-BERT-NClus" -# ] -#myOCA.IOVTagList = [ - #"CaloEMFrac2-GEO16-QGSP-BERT-Side", - #"CaloH1CellWeights2-GEO16-QGSP-BERT-Side", - #"CaloHadOOCCorr2-GEO16-QGSP-BERT-Side", - #"CaloHadOOCCorrPi02-GEO16-QGSP-BERT-Side" - #] -myOCA.IOVTagList = [ - "CaloEMFrac2-GEO180100-QGSP-BERT", - "CaloH1CellWeights2-GEO180100-QGSP-BERT", - "CaloHadOOCCorr2-GEO180100-QGSP-BERT", - "CaloHadOOCCorrPi02-GEO180100-QGSP-BERT" - ] -myOCA.OutputLevel= Lvl.DEBUG - -AthenaPoolCnvSvc.PoolAttributes += [ "STREAM_MEMBER_WISE = '0'" ] - -# Set output level threshold (2=DEBUG, 3=INFO, 4=WARNING, 5=ERROR, 6=FATAL ) -MessageSvc = Service( "MessageSvc" ) -MessageSvc.OutputLevel = Lvl.INFO - -DetectorStore = svcMgr.DetectorStore -DetectorStore.Dump = TRUE -DetectorStore.OutputLevel = Lvl.INFO - -IOVDbSvc = Service( "IOVDbSvc" ) -IOVDbSvc.OutputLevel = Lvl.INFO -#svcMgr.IOVDbSvc.dbConnection = "sqlite://X;schema=myH60401FTFPBERT200.db;dbname=OFLP200" -#svcMgr.IOVDbSvc.dbConnection = "sqlite://X;schema=myH60401QGSPBERT200.db;dbname=OFLP200" -#svcMgr.IOVDbSvc.dbConnection = "sqlite://X;schema=myGeo08QGSPBERTNClusIsol200.db;dbname=OFLP200" -#svcMgr.IOVDbSvc.dbConnection = "sqlite://X;schema=myGeo08FTFPBERTNClus200.db;dbname=OFLP200" -#svcMgr.IOVDbSvc.dbConnection = "sqlite://X;schema=myGeo16QGSPBERT200.db;dbname=OFLP200" -svcMgr.IOVDbSvc.dbConnection = "sqlite://X;schema=myGeo18QGSPBERT200.db;dbname=OFLP200" diff --git a/Calorimeter/CaloLocalHadCalib/share/GetLCClassification_jobOptions.py b/Calorimeter/CaloLocalHadCalib/share/GetLCClassification_jobOptions.py deleted file mode 100644 index 4cac7dc362f58fa71713c469bc18dd0bebaf9c82..0000000000000000000000000000000000000000 --- a/Calorimeter/CaloLocalHadCalib/share/GetLCClassification_jobOptions.py +++ /dev/null @@ -1,28 +0,0 @@ -# $Id: GetLCClassification_jobOptions.py,v 1.1.1.1 2008-11-04 08:56:11 menke Exp $ -# -# File: CaloLocalHadCalib/share/GetLCClassification_jobOptions.py -# Created: October 2008, S.Menke -# Purpose: Generate Classification Histos in a athena job -# - -from CaloLocalHadCalib.CaloLocalHadCalibConf import GetLCClassification -from AthenaCommon.SystemOfUnits import deg, GeV, MeV -from AthenaCommon.AlgSequence import AlgSequence -from math import ( pi as m_pi, log10 as m_log10 ) - -GetLCC = GetLCClassification("GetLCC") -GetLCC.OutputFileName = outFileNameLCC -# -# Example how to set dimensions for classiciation: -# -#GetLCC.ClassificationDimensions = { -# 'side': ('side',-1.5,1.5,1), -# '|eta|': ('|eta|',0.,5.,25), -# 'phi': ('phi',-m_pi,m_pi,1), -# 'log10(E_clus (MeV))': ('log10(E_clus (MeV))',m_log10(200*MeV),m_log10(1*TeV),13), -# 'log10(<rho_cell (MeV/mm^3)>)-log10(E_clus (MeV))': ('log10(<rho_cell (MeV/mm^3)>)-log10(E_clus (MeV))',-9.0,-4.0,20), -# 'log10(lambda_clus (mm))': ('log10(lambda_clus (mm))',0.0,4.0,20)} -# -GetLCC.ClusterCollectionName = "CaloTopoClusters" - -topSequence += GetLCC diff --git a/Calorimeter/CaloLocalHadCalib/share/GetLCDeadMaterialTree_jobOptions.py b/Calorimeter/CaloLocalHadCalib/share/GetLCDeadMaterialTree_jobOptions.py deleted file mode 100644 index 4d2475bee5906ff79ac884e662a7f040c136ac27..0000000000000000000000000000000000000000 --- a/Calorimeter/CaloLocalHadCalib/share/GetLCDeadMaterialTree_jobOptions.py +++ /dev/null @@ -1,19 +0,0 @@ -# File: CaloLocalHadCalib/share/GetLCDeadMaterialTree_jobOptions.py -# Created: Febryary 2009, G. Pospelov -# Purpose: Generate special small DeadMaterialTree from ESD - -from CaloLocalHadCalib.CaloLocalHadCalibConf import GetLCDeadMaterialTree -from AthenaCommon.SystemOfUnits import deg, GeV, MeV -from AthenaCommon.AlgSequence import AlgSequence - -GetLCDM = GetLCDeadMaterialTree("GetLCDM") -GetLCDM.HadDMCoeffInitFile = "CaloHadDMCoeff_init_v2.txt" -GetLCDM.ClusterCollectionName = "CaloTopoClusters" -GetLCDM.ClusterCollectionNameCalib = "CaloCalTopoClusters" -GetLCDM.doSaveCalibClusInfo = False # to save additional info from collection with calibrated clusters -if 'outFileNameLCDM' in dir(): - GetLCDM.OutputFileName = outFileNameLCDM -else: - GetLCDM.OutputFileName = "DeadMaterialTree.root" - -topSequence += GetLCDM diff --git a/Calorimeter/CaloLocalHadCalib/share/GetLCOutOfCluster_jobOptions.py b/Calorimeter/CaloLocalHadCalib/share/GetLCOutOfCluster_jobOptions.py deleted file mode 100644 index c271183a2694465d843f27cf01463dc9cd96f2ce..0000000000000000000000000000000000000000 --- a/Calorimeter/CaloLocalHadCalib/share/GetLCOutOfCluster_jobOptions.py +++ /dev/null @@ -1,28 +0,0 @@ -# $Id: GetLCOutOfCluster_jobOptions.py,v 1.1.1.1 2008-11-04 08:56:11 menke Exp $ -# -# File: CaloLocalHadCalib/share/GetLCOutOfCluster_jobOptions.py -# Created: October 2008, S.Menke -# Purpose: Generate OutOfCluster Histos in a athena job -# - -from CaloLocalHadCalib.CaloLocalHadCalibConf import GetLCOutOfCluster -from AthenaCommon.SystemOfUnits import deg, GeV, MeV -from AthenaCommon.AlgSequence import AlgSequence -from math import ( pi as m_pi, log10 as m_log10 ) - -GetLCO = GetLCOutOfCluster("GetLCO") -GetLCO.OutputFileName = outFileNameLCO -# -# Example how to set dimensions for out-of-cluster corrections: -# -#GetLCO.OutOfClusterDimensions = { -# 'side': ('side',-1.5,1.5,1), -# '|eta|': ('|eta|',0.,5.,50), -# 'phi': ('phi',-m_pi,m_pi,1), -# 'log10(E_clus (MeV))': ('log10(E_clus (MeV))',m_log10(200*MeV),m_log10(1*TeV),22), -# 'log10(lambda_clus (mm))': ('log10(lambda_clus (mm))',0.0,4.0,20), -# 'weight': ('weight',0.,5.,1)} -# -GetLCO.ClusterCollectionName = "CaloTopoClusters" - -topSequence += GetLCO diff --git a/Calorimeter/CaloLocalHadCalib/share/GetLCSinglePionsPerf.py b/Calorimeter/CaloLocalHadCalib/share/GetLCSinglePionsPerf.py deleted file mode 100644 index 6dc9e56b9da3f0371f500aaa002d11d19aa8c2de..0000000000000000000000000000000000000000 --- a/Calorimeter/CaloLocalHadCalib/share/GetLCSinglePionsPerf.py +++ /dev/null @@ -1,82 +0,0 @@ -# Athena job to get performance plots for local hadronic calibration on single pions -# (runs with 'athena CaloLocalHadCalib/GetLCSinglePionsPerf.py' ) - -#outFileName="LCSinglePionsPerformance.root" - -if not 'inFileName' in dir(): - #inFileName=['/tmp/pospelov/data/ESD.170972._001733.pool.root.1'] - #inFileName=['ESD.371531._000576.pool.root.1'] - inFileName=['ESD.371530._000247.pool.root.1'] - - -import AthenaCommon.Constants as Lvl -from AthenaCommon.AppMgr import ServiceMgr as svcMgr -from AthenaCommon.AppMgr import theApp - - -## load POOL support -import AthenaPoolCnvSvc.ReadAthenaPool - -## general job configuration -from AthenaCommon.AlgSequence import AlgSequence -topSequence = AlgSequence() - -#DetDescrVersion = 'ATLAS-CSC-05-00-00' -#DetDescrVersion = 'ATLAS-GEO-08-00-01' -#DetDescrVersion = 'ATLAS-GEO-16-00-00' -#DetDescrVersion = 'ATLAS-GEO-18-01-00' -DetDescrVersion = 'ATLAS-R2-2015-03-01-00' -include("RecExCond/AllDet_detDescr.py") - -#from AthenaCommon.BeamFlags import jobproperties -#jobproperties.Beam.numberOfCollisions = 8.0 - -## configure object key store to recognize calo cells -from RecExConfig.ObjKeyStore import ObjKeyStore, objKeyStore -oks = ObjKeyStore() -oks.addStreamESD('CaloCellContainer', ['AllCalo'] ) - -## re-do topo clusters on EM scale -from CaloRec.CaloTopoClusterFlags import jobproperties -jobproperties.CaloTopoClusterFlags.doTopoClusterLocalCalib = True -jobproperties.CaloTopoClusterFlags.doCellWeightCalib = False -from CaloRec.CaloClusterTopoGetter import CaloClusterTopoGetter, addSnapshot -CaloClusterTopoGetter() - -from CaloRec.CaloRecConf import CaloClusterSnapshot - -TopoCalibMoments=topSequence.CaloTopoCluster.TopoCalibMoments -TopoCalibMoments.MomentsNames += ["ENG_CALIB_OUT_L"] -topSequence.CaloTopoCluster.TopoCalibMoments.MatchDmType = 1 # 1=loose, 2=medium (default), 3=tight - -addSnapshot("OOCPi0Calib","CaloOOCTopoCluster") -addSnapshot("LocalCalib","CaloWTopoCluster") - - -theApp.EvtMax = -1 - -#-------------------------------------------------------------- -# Set output level threshold (2=DEBUG, 3=INFO, 4=WARNING, 5=ERROR, 6=FATAL ) -#-------------------------------------------------------------- -MessageSvc = svcMgr.MessageSvc -MessageSvc.OutputLevel = Lvl.INFO -MessageSvc.infoLimit = 100000 -svcMgr.EventSelector.InputCollections = inFileName - -include ("CaloLocalHadCalib/GetLCSinglePionsPerf_jobOptions.py") -lcPerf.useRecoEfficiency = True - -print topSequence - -ChronoStatSvc = Service( "ChronoStatSvc" ) -ChronoStatSvc.ChronoDestinationCout = True - -ChronoStatSvc.PrintUserTime = True -ChronoStatSvc.PrintSystemTime = True -ChronoStatSvc.PrintEllapsedTime = True -AthenaPoolCnvSvc = Service( "AthenaPoolCnvSvc" ) -AthenaPoolCnvSvc.UseDetailChronoStat = True - -#include("RecExCommon/RecoUtils.py") - -svcMgr.StoreGateSvc.Dump=True diff --git a/Calorimeter/CaloLocalHadCalib/share/GetLCSinglePionsPerf_jobOptions.py b/Calorimeter/CaloLocalHadCalib/share/GetLCSinglePionsPerf_jobOptions.py deleted file mode 100644 index 6d980d075af114bca05b5f8d8bf0a620aaea2e14..0000000000000000000000000000000000000000 --- a/Calorimeter/CaloLocalHadCalib/share/GetLCSinglePionsPerf_jobOptions.py +++ /dev/null @@ -1,51 +0,0 @@ -# This is the job options file to get performance plots for local hadronic -# calibration on single pions - - -from CaloLocalHadCalib.CaloLocalHadCalibConf import GetLCSinglePionsPerf -from AthenaCommon.SystemOfUnits import deg, GeV, MeV -from AthenaCommon.AlgSequence import AlgSequence -from math import pi - -lcPerf = GetLCSinglePionsPerf("LocalHadPerformance") - -# collection name to study cluster moments -lcPerf.ClusterBasicCollName = "CaloTopoClusters" - -# collections names to study engReco wrt Truth after different correction steps -lcPerf.ClusterCollectionNames = ["CaloTopoClusters", "CaloWTopoCluster", "CaloOOCTopoCluster", "CaloCalTopoClusters"] -#lcPerf.ClusterCollectionNames = ["CaloTopoCluster_EMAll", "CaloWTopoCluster_EMAll", "CaloOOCTopoCluster_EMAll", "CaloCalTopoCluster_EMAll"] -#lcPerf.ClusterCollectionNames = ["CaloTopoCluster_HadAll", "CaloWTopoCluster_HadAll", "CaloOOCTopoCluster_HadAll", "CaloCalTopoCluster_HadAll"] - -lcPerf.CalibrationHitContainerNames= ["LArCalibrationHitInactive","LArCalibrationHitActive","TileCalibrationCellHitCnt"] -lcPerf.DMCalibrationHitContainerNames= ["LArCalibrationHitDeadMaterial", "TileCalibrationDMHitCnt"] - -lcPerf.DistanceCut = 1.5 -lcPerf.doEngRecOverTruth = True -lcPerf.doEngTag = True -lcPerf.doEngRecSpect = True -lcPerf.doEngNoiseClus = True -lcPerf.doClusMoments = True -lcPerf.doRecoEfficiency = True -lcPerf.etamin = 0.0 -lcPerf.etamax = 5.0 -lcPerf.netabin = 25 -lcPerf.phimin = -pi -lcPerf.phimax = pi -lcPerf.nphibin = 1 -lcPerf.logenermin = 2.0 -lcPerf.logenermax = 6.4 -lcPerf.nlogenerbin = 22 -lcPerf.isTestbeam = False -lcPerf.useGoodClus = False -lcPerf.usePionClustersOnly = False -lcPerf.useRecoEfficiency = False - - -if 'outFileName' in dir(): - lcPerf.OutputFileName = outFileName -else: - lcPerf.OutputFileName = "LCSinglePionsPerformance.root" - -topSequence += lcPerf - diff --git a/Calorimeter/CaloLocalHadCalib/share/GetLCWeights_jobOptions.py b/Calorimeter/CaloLocalHadCalib/share/GetLCWeights_jobOptions.py deleted file mode 100644 index 45db078c427ab697361cc98d08c5477f30fbe4a1..0000000000000000000000000000000000000000 --- a/Calorimeter/CaloLocalHadCalib/share/GetLCWeights_jobOptions.py +++ /dev/null @@ -1,40 +0,0 @@ -# $Id: GetLCWeights_jobOptions.py,v 1.2 2008-12-08 16:57:41 menke Exp $ -# -# File: CaloLocalHadCalib/share/GetLCWeights_jobOptions.py -# Created: October 2008, S.Menke -# Purpose: Generate Weight Histos in a athena job -# - -from CaloLocalHadCalib.CaloLocalHadCalibConf import GetLCWeights -from AthenaCommon.SystemOfUnits import deg, GeV, MeV, TeV -from AthenaCommon.AlgSequence import AlgSequence -from math import ( pi as m_pi, log10 as m_log10 ) - -GetLCW = GetLCWeights("GetLCW") -GetLCW.OutputFileName = outFileNameLCW -GetLCW.UseInversionMethod = True -# -# Example how to set dimensions for two samplings (here EMB1 & 2): -# -# GetLCW.SamplingDimensions = { -# 'EMB1:EMB1': ('EMB1',0.5,1.5,1), -# 'EMB1:side': ('side',-1.5,1.5,1), -# 'EMB1:|eta|': ('|eta|',0.,1.6,16), -# 'EMB1:phi': ('phi',-m_pi,m_pi,1), -# 'EMB1:log10(E_clus (MeV))': ('log10(E_clus (MeV))',m_log10(200*MeV),m_log10(1*TeV),22), -# 'EMB1:log10(rho_cell (MeV/mm^3))': ('log10(rho_cell (MeV/mm^3))',-7.0,1.0,20), -# 'EMB1:weight': ('weight',-2.0,3.0,1), -# 'EMB2:EMB2': ('EMB2',1.5,2.5,1), -# 'EMB2:side': ('side',-1.5,1.5,1), -# 'EMB2:|eta|': ('|eta|',0.,1.6,16), -# 'EMB2:phi': ('phi',-m_pi,m_pi,1), -# 'EMB2:log10(E_clus (MeV))': ('log10(E_clus (MeV))',m_log10(200*MeV),m_log10(1*TeV),22), -# 'EMB2:log10(rho_cell (MeV/mm^3))': ('log10(rho_cell (MeV/mm^3))',-7.0,1.0,20), -# 'EMB2:weight': ('weight',-2.0,3.0,1)} -# -GetLCW.ClusterCollectionName = "CaloTopoClusters" -GetLCW.CalibrationHitContainerNames = ["LArCalibrationHitInactive" - ,"LArCalibrationHitActive" - ,"TileCalibHitInactiveCell" - ,"TileCalibHitActiveCell"] -topSequence += GetLCW diff --git a/Calorimeter/CaloLocalHadCalib/share/calcWeights.py b/Calorimeter/CaloLocalHadCalib/share/calcWeights.py deleted file mode 100644 index 622403d033144a8e6d3c555dffbe6ac360a39499..0000000000000000000000000000000000000000 --- a/Calorimeter/CaloLocalHadCalib/share/calcWeights.py +++ /dev/null @@ -1,104 +0,0 @@ -import user -import ROOT -import cppyy -import re -import math - -import glob,os,sys - - -os.environ["DISPLAY"]='' - -def calcWeights(infile, outfile): - fnew = ROOT.TFile(outfile,"RECREATE") - - histolist = [] - - f = ROOT.TFile.Open(infile) - l = f.GetListOfKeys() - - while l.GetEntries() > 0: - key = l.First() - if re.compile('^inv_weight').search(key.GetName(),0): - - mw=re.compile('weight').search(key.GetName(),0) - ROOT.gROOT.cd() - hiw = ROOT.TProfile2D() - f.GetObject(key.GetName(),hiw) - - ROOT.gROOT.cd() - - print "create new histo for key", key.GetName() - ROOT.gROOT.cd() - hnn = ROOT.TProfile2D(hiw) - hnn.Reset() - hnn.SetName(mw.string[mw.start():]) - hnn.SetTitle(mw.string[mw.start():]) - hnn.SetYTitle("log10(#rho_{cell} (MeV/mm^{3}))") - hnn.SetZTitle("E_{tot}/E_{reco}"); - hnn.SetDirectory(ROOT.gROOT) - histolist += [hnn] - - xax=hiw.GetXaxis() - yax=hiw.GetYaxis() - - sumw = hiw.GetSum() - ntot = hiw.GetEntries() - - for ix in range(0,hiw.GetNbinsX()): - for iy in range(0,hiw.GetNbinsY()): - iBin = hiw.GetBin(ix+1,iy+1) - if hiw.GetBinContent(iBin) > 0: - leclus=xax.GetBinCenter(ix+1) - invratio = hiw.GetBinContent(iBin) - ratio = 1.0/invratio - inverr = hiw.GetBinError(iBin) - n = int(hiw.GetBinEntries(iBin)*ntot/sumw) - if n > 0: - err = inverr/invratio*ratio/math.sqrt(n) - if err < 1.0*ratio: - ymin = yax.GetBinLowEdge(iy+1) - ymax = yax.GetBinUpEdge(iy+1) - lw = math.log10(invratio) - for ie in range(0,n): - lhro = ymin + (ie+0.5)*(ymax-ymin)/n - dr = err - if ie%2 == 1: - dr = -dr - pass - hnn.Fill(leclus,lhro+lw,ratio+dr) - pass - pass - pass - pass - pass - pass - pass - l.RemoveFirst() - pass - f.Close() - f.Delete() - - fnew.cd() - for x in histolist: - x.SetDirectory(fnew) - x.Write() - - fnew.Close() - fnew.Delete() -#os.system('rm -rf '+tempdir) - -############################################################################### -# -############################################################################### -if __name__ == '__main__': - - if len(sys.argv) != 3: - exit("Usage 'python calcWeights.py infile outfile'") - else: - infile = sys.argv[1] - outfile = sys.argv[2] - if not os.path.exists(infile): - os.system("No such file "+infile) - calcWeights(infile, outfile) - diff --git a/Calorimeter/CaloLocalHadCalib/share/cl_w_ooc.py b/Calorimeter/CaloLocalHadCalib/share/cl_w_ooc.py deleted file mode 100644 index 7823a3efcffe358efc4b792501be52620786ff39..0000000000000000000000000000000000000000 --- a/Calorimeter/CaloLocalHadCalib/share/cl_w_ooc.py +++ /dev/null @@ -1,121 +0,0 @@ -# This is the job options file to create classifcation, weighting and -# out-of-cluster histos from ESD -############################################################### -# -# Job options file -# -# Authors: Sven Menke -#============================================================== -doClassification=True -doWeighting=True -doOutOfCluster=True -doDeadMaterial=True - -if not 'ClassificationType' in dir(): - ClassificationType="None" - #ClassificationType="ParticleID_HAD" - -if not 'inFileName' in dir(): - inFileName=['ESD.371530._000247.pool.root.1'] - -if not 'outFileNameLCC' in dir(): - outFileNameLCC='classify.root' - #outFileNameLCC=ClassificationType+'_'+'classify.root' - -if not 'outFileNameLCW' in dir(): - outFileNameLCW='weights.root' - #outFileNameLCW=ClassificationType+'_'+'weights.root' - -if not 'outFileNameLCO' in dir(): - outFileNameLCO='ooc.root' - #outFileNameLCO=ClassificationType+'_'+'ooc.root' - -if not 'outFileNameLCDM' in dir(): - outFileNameLCDM='dmc.root' - #outFileNameLCDM=ClassificationType+'_'+'DeadMaterialTree.root' - - -#DetDescrVersion = 'ATLAS-GEO-08-00-01' -#DetDescrVersion = 'ATLAS-GEO-16-00-00' -DetDescrVersion = 'ATLAS-GEO-18-01-00' - -include("RecExCond/AllDet_detDescr.py") - -import AthenaCommon.Constants as Lvl -from AthenaCommon.AppMgr import ServiceMgr as svcMgr -from AthenaCommon.AppMgr import theApp - -## load POOL support -import AthenaPoolCnvSvc.ReadAthenaPool - -## general job configuration -from AthenaCommon.AlgSequence import AlgSequence -topSequence = AlgSequence() - -#from AthenaCommon.BeamFlags import jobproperties -#jobproperties.Beam.numberOfCollisions = 8.0 - - -## configure object key store to recognize calo cells -from RecExConfig.ObjKeyStore import ObjKeyStore, objKeyStore -oks = ObjKeyStore() -oks.addStreamESD('CaloCellContainer', ['AllCalo'] ) - -## re-do topo clusters on EM scale -from CaloRec.CaloTopoClusterFlags import jobproperties -jobproperties.CaloTopoClusterFlags.doTopoClusterLocalCalib = False -jobproperties.CaloTopoClusterFlags.doCellWeightCalib = False -from CaloRec.CaloClusterTopoGetter import CaloClusterTopoGetter -CaloClusterTopoGetter() - -topSequence.CaloTopoCluster.TopoCalibMoments.MomentsNames += ["ENG_CALIB_OUT_L","ENG_CALIB_FRAC_EM"] -topSequence.CaloTopoCluster.TopoCalibMoments.MatchDmType = 1 # 1=loose, 2=medium (default), 3=tight - -theApp.EvtMax = -1 - -#-------------------------------------------------------------- -# Set output level threshold (2=DEBUG, 3=INFO, 4=WARNING, 5=ERROR, 6=FATAL ) -#-------------------------------------------------------------- -MessageSvc = svcMgr.MessageSvc -MessageSvc.OutputLevel = Lvl.INFO -MessageSvc.infoLimit = 1000000 -svcMgr.EventSelector.InputCollections = inFileName - -if not 'doClassification' in dir(): - doClassification=False -pass -if not 'doWeighting' in dir(): - doWeighting=False -pass -if not 'doOutOfCluster' in dir(): - doOutOfCluster=False -pass -if not 'doDeadMaterial' in dir(): - doDeadMaterial=False -pass - -if doClassification: - include ("CaloLocalHadCalib/GetLCClassification_jobOptions.py") - GetLCC.ClassificationType=ClassificationType -pass -if doWeighting: - include ("CaloLocalHadCalib/GetLCWeights_jobOptions.py") - GetLCW.ClassificationType=ClassificationType -pass -if doOutOfCluster: - include ("CaloLocalHadCalib/GetLCOutOfCluster_jobOptions.py") - GetLCO.ClassificationType=ClassificationType -pass -if doDeadMaterial: - include ("CaloLocalHadCalib/GetLCDeadMaterialTree_jobOptions.py") -pass -print topSequence - -ChronoStatSvc = Service( "ChronoStatSvc" ) -ChronoStatSvc.ChronoDestinationCout = True - -ChronoStatSvc.PrintUserTime = True -ChronoStatSvc.PrintSystemTime = True -ChronoStatSvc.PrintEllapsedTime = True -AthenaPoolCnvSvc = Service( "AthenaPoolCnvSvc" ) -AthenaPoolCnvSvc.UseDetailChronoStat = True diff --git a/Calorimeter/CaloLocalHadCalib/share/classify.py b/Calorimeter/CaloLocalHadCalib/share/classify.py deleted file mode 100644 index 27fb29b3c9f129c6706d9d3f28473775d03e21cc..0000000000000000000000000000000000000000 --- a/Calorimeter/CaloLocalHadCalib/share/classify.py +++ /dev/null @@ -1,58 +0,0 @@ -# This is the job options file to create classifcation histos from ESD -############################################################### -# -# Job options file -# -# Authors: Sven Menke -#============================================================== -DetDescrVersion = 'ATLAS-GEO-08-00-01' -include("RecExCond/AllDet_detDescr.py") - -import AthenaCommon.Constants as Lvl -from AthenaCommon.AppMgr import ServiceMgr as svcMgr -from AthenaCommon.AppMgr import theApp - -## load POOL support -import AthenaPoolCnvSvc.ReadAthenaPool - -## general job configuration -from AthenaCommon.AlgSequence import AlgSequence -topSequence = AlgSequence() - -## configure object key store to recognize calo cells -from RecExConfig.ObjKeyStore import ObjKeyStore, objKeyStore -oks = ObjKeyStore() -oks.addStreamESD('CaloCellContainer', ['AllCalo'] ) - -## re-do topo clusters on EM scale -from CaloRec.CaloTopoClusterFlags import jobproperties -jobproperties.CaloTopoClusterFlags.doTopoClusterLocalCalib = False -jobproperties.CaloTopoClusterFlags.doCellWeightCalib = False -from CaloRec.CaloClusterTopoGetter import CaloClusterTopoGetter -CaloClusterTopoGetter() -topSequence.CaloTopoCluster.TopoCalibMoments.MomentsNames += ["ENG_CALIB_OUT_L"] - -theApp.EvtMax = -1 - -#-------------------------------------------------------------- -# Set output level threshold (2=DEBUG, 3=INFO, 4=WARNING, 5=ERROR, 6=FATAL ) -#-------------------------------------------------------------- -MessageSvc = svcMgr.MessageSvc -MessageSvc.OutputLevel = Lvl.INFO -MessageSvc.infoLimit = 1000000 -svcMgr.EventSelector.InputCollections = inFileName - -include ("CaloLocalHadCalib/GetLCClassification_jobOptions.py") - -print topSequence - -ChronoStatSvc = Service( "ChronoStatSvc" ) -ChronoStatSvc.ChronoDestinationCout = True - -ChronoStatSvc.PrintUserTime = True -ChronoStatSvc.PrintSystemTime = True -ChronoStatSvc.PrintEllapsedTime = True -AthenaPoolCnvSvc = Service( "AthenaPoolCnvSvc" ) -AthenaPoolCnvSvc.UseDetailChronoStat = True - - diff --git a/Calorimeter/CaloLocalHadCalib/share/deadmaterialcoeff.py b/Calorimeter/CaloLocalHadCalib/share/deadmaterialcoeff.py deleted file mode 100644 index f6f9e79a53909ea11c776a4a4a4d34dd55e5707e..0000000000000000000000000000000000000000 --- a/Calorimeter/CaloLocalHadCalib/share/deadmaterialcoeff.py +++ /dev/null @@ -1,90 +0,0 @@ -# File: CaloLocalHadCalib/share/GetLCDeadMaterial_jobOptions.py -# Created: Febryary 2009, G. Pospelov -# Purpose: Run postprocessing algorithms for the special DeadMaterialTree -# - -# -# set inFileName and outFileName to convert TProfile2D classification to pool -# -import AthenaCommon.Constants as Lvl -from AthenaCommon.AppMgr import ServiceMgr as svcMgr -from AthenaCommon.AppMgr import theApp -import IOVDbSvc.IOVDb - -from AthenaCommon.AlgSequence import AlgSequence -topSequence = AlgSequence() - -############################################################################### -# -############################################################################### -#mysfx="ATLAS.QGSPBERT.MC11.SINGLEPI.20062011.v1" -mysfx="mc10_7TeV.107410-107412.r2424.piplusminuszero.LCWeightsDM.16652.v2" # 15.06.2011 -from CaloLocalHadCalib.CaloLocalHadCalibConf import GetLCDeadMaterial -GetLCDM = GetLCDeadMaterial("GetLCDM") -GetLCDM.HadDMCoeffInputFile = "CaloHadDMCoeff_init_v2.txt" -#GetLCDM.HadDMCoeffInputFile = "CaloLocalHadCoeff_output_ATLAS.QGSPBERT.MC10.SINGLEPI.21102010.v8.txt" -GetLCDM.HadDMCoeffOutputFile = "CaloLocalHadCoeff_output_"+mysfx+".txt" -GetLCDM.ReportProfiles = "report_CaloLocalHadCoeff_profiles_"+mysfx+".ps" -GetLCDM.ReportMinimization = "report_CaloLocalHadCoeff_minim_"+mysfx+".ps" -GetLCDM.ReportCheck = "report_CaloLocalHadCoeff_check_"+mysfx+".ps" -GetLCDM.DoFit = True -GetLCDM.DoMinimization = True -GetLCDM.DoPool = True -GetLCDM.DoCheck = True -# new feature to run on dmtrees from di-jets -#GetLCDM.NormalizationTypeForFit="const" -#GetLCDM.NormalizationTypeForMinim="const" -#GetLCDM.ClassificationType = "particleid" - -GetLCDM.CorrectionKey="HadDMCoeff2" - -#GetLCDM.InputRootFiles = ["/ltmp/gdp/LCWeights/def1/user.pospelov.mc10_7TeV.107412.singlepiminus.LCWeights.16016.def1._sum.dmc.root"] -#GetLCDM.InputRootFiles += ["/ltmp/gdp/LCWeights/def1/user.pospelov.mc10_7TeV.107412.singlepizero.LCWeights.16016.def1._sum.dmc.root"] -#GetLCDM.InputRootFiles += ["/ltmp/gdp/LCWeights/def1/user.pospelov.mc10_7TeV.107412.singlepiplus.LCWeights.16016.def1._sum.dmc.root"] -#GetLCDM.InputRootFiles = ["/ltmp/gdp/LCWeights/def2/user.pospelov.mc10_7TeV.107412.singlepiminus.LCWeights.16016.def2._sum.dmc.root"] -#GetLCDM.InputRootFiles += ["/ltmp/gdp/LCWeights/def2/user.pospelov.mc10_7TeV.107412.singlepizero.LCWeights.16016.def2._sum.dmc.root"] -#GetLCDM.InputRootFiles += ["/ltmp/gdp/LCWeights/def2/user.pospelov.mc10_7TeV.107412.singlepiplus.LCWeights.16016.def2b._sum.dmc.root"] -GetLCDM.InputRootFiles = ["/ltmp/gdp/aaa/user.pospelov.mc10_7TeV.107410.singlepiplus.r2424.LCWeights.16652.v1._sum.dmc.root"] -GetLCDM.InputRootFiles += ["/ltmp/gdp/aaa/user.pospelov.mc10_7TeV.107411.singlepiminus.r2424.LCWeights.16652.v1._sum.dmc.root"] -GetLCDM.InputRootFiles += ["/ltmp/gdp/aaa/user.pospelov.mc10_7TeV.107412.singlepizero.r2424.LCWeights.16652.v1._sum.dmc.root"] -#GetLCDM.MaxEventsPerFile = 500000 - -topSequence += GetLCDM - - -# Number of events to be processed (default is 10) -theApp.EvtMax = 1 - -AthenaPoolCnvSvc = Service( "AthenaPoolCnvSvc" ) - -from RegistrationServices.OutputConditionsAlg import OutputConditionsAlg -#myOCA=OutputConditionsAlg("myOCA","CaloLocalHadCoeff.dmcorr."+mysfx+".pool.root") -myOCA=OutputConditionsAlg("myOCA",mysfx+".pool.root") -# List of objects container type#key#foldername -myOCA.ObjectList = ["CaloLocalHadCoeff#HadDMCoeff2#/CALO/HadCalibration2/CaloDMCorr2"] -myOCA.WriteIOV = True -#myOCA.IOVTagList = ["CaloHadDMCorr2-CSC05-BERT" ] -#myOCA.IOVTagList = ["CaloHadDMCorr2-MC09V-BERT" ] - -#myOCA.IOVTagList = ["CaloHadDMCorr2-GEO08-QGSP-BERT" ] -#myOCA.IOVTagList = ["CaloHadDMCorr2-GEO08-FTFP-BERT" ] -#myOCA.IOVTagList = ["CaloHadDMCorr2-GEO16-QGSP-BERT" ] -#myOCA.IOVTagList = ["CaloHadDMCorr2-GEO16-QGSP-BERT-Side" ] -myOCA.IOVTagList = ["CaloHadDMCorr2-GEO180100-QGSP-BERT" ] -myOCA.OutputLevel= DEBUG - -AthenaPoolCnvSvc.PoolAttributes += [ "STREAM_MEMBER_WISE = '0'" ] - -# Set output level threshold (2=DEBUG, 3=INFO, 4=WARNING, 5=ERROR, 6=FATAL ) -MessageSvc = Service( "MessageSvc" ) -MessageSvc.OutputLevel = Lvl.INFO - -DetectorStore = svcMgr.DetectorStore -DetectorStore.Dump = TRUE -DetectorStore.OutputLevel = Lvl.INFO - -IOVDbSvc = Service( "IOVDbSvc" ) -IOVDbSvc.OutputLevel = Lvl.INFO -svcMgr.IOVDbSvc.dbConnection = "sqlite://X;schema=myGeo18DmQGSPBERT200.db;dbname=OFLP200" -#svcMgr.IOVDbSvc.dbConnection = "sqlite://X;schema=myGeo08DmFTFPBERT200.db;dbname=OFLP200" - diff --git a/Calorimeter/CaloLocalHadCalib/share/deadmaterialtree.py b/Calorimeter/CaloLocalHadCalib/share/deadmaterialtree.py deleted file mode 100644 index 39e9b8b725dff7f9d48fcf85852080df9be011f1..0000000000000000000000000000000000000000 --- a/Calorimeter/CaloLocalHadCalib/share/deadmaterialtree.py +++ /dev/null @@ -1,73 +0,0 @@ -# This is the job options file to create DeadMaterialTree from ESD -############################################################### -# -# Job options file -# -# Authors: Gennady Pospelov -#============================================================== - -# -# athena.py -c 'inFileName=["ESD.pool.root"];outFileName="dmtreeX.root"' CaloLocalHadCalib/deadmaterialtree.py -# -import AthenaCommon.Constants as Lvl -from AthenaCommon.AppMgr import ServiceMgr as svcMgr -from AthenaCommon.AppMgr import theApp - -#inFileName=["/ltmp/gdp/aaa/ESD.081901._001996.pool.root.1"] -#outFileNameLCDM="dmtreeX.root" - -## load POOL support -import AthenaPoolCnvSvc.ReadAthenaPool - -## general job configuration -from AthenaCommon.AlgSequence import AlgSequence -topSequence = AlgSequence() - -#from AthenaCommon.DetFlags import DetFlags -#DetFlags.ID_setOff() -#DetFlags.Muon_setOff() -#DetFlags.LVL1_setOff() - -#DetDescrVersion = 'ATLAS-CSC-05-00-00' -DetDescrVersion = 'ATLAS-GEO-08-00-01' -include("RecExCond/AllDet_detDescr.py") - -## configure object key store to recognize calo cells -from RecExConfig.ObjKeyStore import ObjKeyStore, objKeyStore -oks = ObjKeyStore() -oks.addStreamESD('CaloCellContainer', ['AllCalo'] ) - -## re-do topo clusters on EM scale -from CaloRec.CaloTopoClusterFlags import jobproperties -jobproperties.CaloTopoClusterFlags.doTopoClusterLocalCalib = False -jobproperties.CaloTopoClusterFlags.doCellWeightCalib = False -from CaloRec.CaloClusterTopoGetter import CaloClusterTopoGetter -CaloClusterTopoGetter() -topSequence.CaloTopoCluster.TopoCalibMoments.MomentsNames += ["ENG_CALIB_OUT_L","ENG_CALIB_FRAC_EM"] -topSequence.CaloTopoCluster.TopoCalibMoments.MatchDmType = 1 # 1=loose, 2=medium (default), 3=tight - -theApp.EvtMax = -1 - -#-------------------------------------------------------------- -# Set output level threshold (2=DEBUG, 3=INFO, 4=WARNING, 5=ERROR, 6=FATAL ) -#-------------------------------------------------------------- -MessageSvc = svcMgr.MessageSvc -MessageSvc.OutputLevel = Lvl.INFO -MessageSvc.infoLimit = 1000000 -if 'inFileName' in dir(): - svcMgr.EventSelector.InputCollections = inFileName - -include ("CaloLocalHadCalib/GetLCDeadMaterialTree_jobOptions.py") - -print topSequence - -ChronoStatSvc = Service( "ChronoStatSvc" ) -ChronoStatSvc.ChronoDestinationCout = True - -ChronoStatSvc.PrintUserTime = True -ChronoStatSvc.PrintSystemTime = True -ChronoStatSvc.PrintEllapsedTime = True -AthenaPoolCnvSvc = Service( "AthenaPoolCnvSvc" ) -AthenaPoolCnvSvc.UseDetailChronoStat = True - - diff --git a/Calorimeter/CaloLocalHadCalib/share/outofcluster.py b/Calorimeter/CaloLocalHadCalib/share/outofcluster.py deleted file mode 100644 index 5f6e6775f34e37e23ef82ba681b1760a074f1fec..0000000000000000000000000000000000000000 --- a/Calorimeter/CaloLocalHadCalib/share/outofcluster.py +++ /dev/null @@ -1,58 +0,0 @@ -# This is the job options file to create out-of-cluster histos from ESD -############################################################### -# -# Job options file -# -# Authors: Sven Menke -#============================================================== -DetDescrVersion = 'ATLAS-GEO-08-00-01' -include("RecExCond/AllDet_detDescr.py") - -import AthenaCommon.Constants as Lvl -from AthenaCommon.AppMgr import ServiceMgr as svcMgr -from AthenaCommon.AppMgr import theApp - -## load POOL support -import AthenaPoolCnvSvc.ReadAthenaPool - -## general job configuration -from AthenaCommon.AlgSequence import AlgSequence -topSequence = AlgSequence() - -## configure object key store to recognize calo cells -from RecExConfig.ObjKeyStore import ObjKeyStore, objKeyStore -oks = ObjKeyStore() -oks.addStreamESD('CaloCellContainer', ['AllCalo'] ) - -## re-do topo clusters on EM scale -from CaloRec.CaloTopoClusterFlags import jobproperties -jobproperties.CaloTopoClusterFlags.doTopoClusterLocalCalib = False -jobproperties.CaloTopoClusterFlags.doCellWeightCalib = False -from CaloRec.CaloClusterTopoGetter import CaloClusterTopoGetter -CaloClusterTopoGetter() -topSequence.CaloTopoCluster.TopoCalibMoments.MomentsNames += ["ENG_CALIB_OUT_L"] - -theApp.EvtMax = -1 - -#-------------------------------------------------------------- -# Set output level threshold (2=DEBUG, 3=INFO, 4=WARNING, 5=ERROR, 6=FATAL ) -#-------------------------------------------------------------- -MessageSvc = svcMgr.MessageSvc -MessageSvc.OutputLevel = Lvl.INFO -MessageSvc.infoLimit = 1000000 -svcMgr.EventSelector.InputCollections = inFileName - -include ("CaloLocalHadCalib/GetLCOutOfCluster_jobOptions.py") - -print topSequence - -ChronoStatSvc = Service( "ChronoStatSvc" ) -ChronoStatSvc.ChronoDestinationCout = True - -ChronoStatSvc.PrintUserTime = True -ChronoStatSvc.PrintSystemTime = True -ChronoStatSvc.PrintEllapsedTime = True -AthenaPoolCnvSvc = Service( "AthenaPoolCnvSvc" ) -AthenaPoolCnvSvc.UseDetailChronoStat = True - - diff --git a/Calorimeter/CaloLocalHadCalib/share/weights.py b/Calorimeter/CaloLocalHadCalib/share/weights.py deleted file mode 100644 index aaea05a457afdd8bb79bb77bf81342651f310170..0000000000000000000000000000000000000000 --- a/Calorimeter/CaloLocalHadCalib/share/weights.py +++ /dev/null @@ -1,58 +0,0 @@ -# This is the job options file to create weight histos from ESD -############################################################### -# -# Job options file -# -# Authors: Sven Menke -#============================================================== -DetDescrVersion = 'ATLAS-GEO-08-00-01' -include("RecExCond/AllDet_detDescr.py") - -import AthenaCommon.Constants as Lvl -from AthenaCommon.AppMgr import ServiceMgr as svcMgr -from AthenaCommon.AppMgr import theApp - -## load POOL support -import AthenaPoolCnvSvc.ReadAthenaPool - -## general job configuration -from AthenaCommon.AlgSequence import AlgSequence -topSequence = AlgSequence() - -## configure object key store to recognize calo cells -from RecExConfig.ObjKeyStore import ObjKeyStore, objKeyStore -oks = ObjKeyStore() -oks.addStreamESD('CaloCellContainer', ['AllCalo'] ) - -## re-do topo clusters on EM scale -from CaloRec.CaloTopoClusterFlags import jobproperties -jobproperties.CaloTopoClusterFlags.doTopoClusterLocalCalib = False -jobproperties.CaloTopoClusterFlags.doCellWeightCalib = False -from CaloRec.CaloClusterTopoGetter import CaloClusterTopoGetter -CaloClusterTopoGetter() -topSequence.CaloTopoCluster.TopoCalibMoments.MomentsNames += ["ENG_CALIB_OUT_L"] - -theApp.EvtMax = -1 - -#-------------------------------------------------------------- -# Set output level threshold (2=DEBUG, 3=INFO, 4=WARNING, 5=ERROR, 6=FATAL ) -#-------------------------------------------------------------- -MessageSvc = svcMgr.MessageSvc -MessageSvc.OutputLevel = Lvl.INFO -MessageSvc.infoLimit = 1000000 -svcMgr.EventSelector.InputCollections = inFileName - -include ("CaloLocalHadCalib/GetLCWeights_jobOptions.py") - -print topSequence - -ChronoStatSvc = Service( "ChronoStatSvc" ) -ChronoStatSvc.ChronoDestinationCout = True - -ChronoStatSvc.PrintUserTime = True -ChronoStatSvc.PrintSystemTime = True -ChronoStatSvc.PrintEllapsedTime = True -AthenaPoolCnvSvc = Service( "AthenaPoolCnvSvc" ) -AthenaPoolCnvSvc.UseDetailChronoStat = True - - diff --git a/DataQuality/DataQualityConfigurations/config/L1Calo/collisions_run.config b/DataQuality/DataQualityConfigurations/config/L1Calo/collisions_run.config index df083fa950367ad1d6d174298c2109dd3a8b7136..fd16f5a7c7a74e0cba4d649ddd41d36486154804 100644 --- a/DataQuality/DataQualityConfigurations/config/L1Calo/collisions_run.config +++ b/DataQuality/DataQualityConfigurations/config/L1Calo/collisions_run.config @@ -6411,6 +6411,10 @@ dir L1Calo { output = L1Calo/Expert/Sim/detail } } + hist h_mismatched_SimReady { + algorithm = Histogram_Empty + output = L1Calo/Expert/Sim + } hist h_mismatched_DataTowerEvts { algorithm = Histogram_Empty output = L1Calo/Expert/Sim @@ -6419,6 +6423,10 @@ dir L1Calo { } dir Shifter { dir Sim { + hist h_mismatched_SimReady { + algorithm = Histogram_Empty + output = L1Calo/Shifter/Sim + } hist h_mismatched_DataTowerEvts { algorithm = Histogram_Empty output = L1Calo/Shifter/Sim @@ -6428,6 +6436,9 @@ dir L1Calo { dir Developer { algorithm = GatherData dir EfexSimMonAlg { + hist h_mismatched_DataTowerEvts { + output = L1Calo/Developer/EfexSimMonAlg + } hist h_mismatched_EmulatedTowerEvts { output = L1Calo/Developer/EfexSimMonAlg } @@ -7415,6 +7426,12 @@ dir L1Calo { } } dir JfexSimMonAlg { + hist h_mismatched_DataTowerEvts { + output = L1Calo/Developer/JfexSimMonAlg + } + hist h_mismatched_EmulatedTowerEvts { + output = L1Calo/Developer/JfexSimMonAlg + } hist h_mismatched_entries { output = L1Calo/Developer/JfexSimMonAlg } @@ -7995,307 +8012,2832 @@ dir L1Calo { output = L1Calo/Developer/GfexSimMonAlg } } - dir EfexInputMonAlg { - hist h_summary { - output = L1Calo/Developer/EfexInputMonAlg - } - hist h_dataTowers_ecal { - output = L1Calo/Developer/EfexInputMonAlg - } - hist h_dataTowers_hcal { - output = L1Calo/Developer/EfexInputMonAlg - } - hist h_errors_entries { - output = L1Calo/Developer/EfexInputMonAlg - } - } - dir JfexInput { - hist h_jFEX_Errors { - output = L1Calo/Developer/JfexInput + dir JetEfficiency { + hist h_run { + output = L1Calo/Developer/JetEfficiency } - hist h_summary { - output = L1Calo/Developer/JfexInput - } - dir expert { - hist h_SumSCell_vs_Data_Barrel { - output = L1Calo/Developer/JfexInput/expert + dir Distributions { + hist h_raw_pt { + output = L1Calo/Developer/JetEfficiency/Distributions } - hist h_SumSCell_vs_Data_Tile { - output = L1Calo/Developer/JfexInput/expert + hist h_eta { + output = L1Calo/Developer/JetEfficiency/Distributions } - hist h_SumSCell_vs_Data_EMEC { - output = L1Calo/Developer/JfexInput/expert + hist h_pt_Muon_L1_J20 { + output = L1Calo/Developer/JetEfficiency/Distributions } - hist h_SumSCell_vs_Data_HEC { - output = L1Calo/Developer/JfexInput/expert + hist h_eta_Muon_L1_J20 { + output = L1Calo/Developer/JetEfficiency/Distributions } - hist h_SumSCell_vs_Data_FCAL1 { - output = L1Calo/Developer/JfexInput/expert + hist h_pt_RandomHLT_L1_J20 { + output = L1Calo/Developer/JetEfficiency/Distributions } - hist h_SumSCell_vs_Data_FCAL2 { - output = L1Calo/Developer/JfexInput/expert + hist h_eta_RandomHLT_L1_J20 { + output = L1Calo/Developer/JetEfficiency/Distributions } - hist h_SumSCell_vs_Data_FCAL3 { - output = L1Calo/Developer/JfexInput/expert + hist h_pt_No_L1_J20 { + output = L1Calo/Developer/JetEfficiency/Distributions } - } - hist h_DataErrors { - output = L1Calo/Developer/JfexInput - } - hist h_2Dmap_InvalidCodes { - output = L1Calo/Developer/JfexInput - } - hist h_2Dmap_EmptyCodes { - output = L1Calo/Developer/JfexInput - } - hist h_2Dmap_MismatchedEts { - output = L1Calo/Developer/JfexInput - } - hist h_SumSCell_vs_Data_Mismatched { - output = L1Calo/Developer/JfexInput - } - hist h_SumSCell_vs_Data_all { - output = L1Calo/Developer/JfexInput - } - hist h_frac_SumSCell_vs_Data { - output = L1Calo/Developer/JfexInput - } - hist h_2Dmap_DataVsEmulated { - output = L1Calo/Developer/JfexInput - } - hist h_2Dmap_EmulatedVsDecorated { - output = L1Calo/Developer/JfexInput - } - dir Content { - hist h_nJfexTowers { - output = L1Calo/Developer/JfexInput/Content + hist h_eta_No_L1_J20 { + output = L1Calo/Developer/JetEfficiency/Distributions } - hist h_TowerEta { - output = L1Calo/Developer/JfexInput/Content + hist h_pt_Bootstrap_L1_J20 { + output = L1Calo/Developer/JetEfficiency/Distributions } - hist h_TowerPhi { - output = L1Calo/Developer/JfexInput/Content + hist h_eta_Bootstrap_L1_J20 { + output = L1Calo/Developer/JetEfficiency/Distributions } - hist h_TowerEtaPhiMap { - output = L1Calo/Developer/JfexInput/Content + hist h_pt_BootstrapHLT_L1_J20 { + output = L1Calo/Developer/JetEfficiency/Distributions } - hist h_TowerGlobalEta { - output = L1Calo/Developer/JfexInput/Content + hist h_eta_BootstrapHLT_L1_J20 { + output = L1Calo/Developer/JetEfficiency/Distributions } - hist h_TowerGlobalPhi { - output = L1Calo/Developer/JfexInput/Content + hist h_pt_Muon_L1_J25 { + output = L1Calo/Developer/JetEfficiency/Distributions } - hist h_TowerGlobalEtaPhiMap { - output = L1Calo/Developer/JfexInput/Content + hist h_eta_Muon_L1_J25 { + output = L1Calo/Developer/JetEfficiency/Distributions } - hist h_TowerModule { - output = L1Calo/Developer/JfexInput/Content + hist h_pt_RandomHLT_L1_J25 { + output = L1Calo/Developer/JetEfficiency/Distributions } - hist h_TowerFpga { - output = L1Calo/Developer/JfexInput/Content + hist h_eta_RandomHLT_L1_J25 { + output = L1Calo/Developer/JetEfficiency/Distributions } - hist h_TowerChannel { - output = L1Calo/Developer/JfexInput/Content + hist h_pt_No_L1_J25 { + output = L1Calo/Developer/JetEfficiency/Distributions } - hist h_TowerDataID { - output = L1Calo/Developer/JfexInput/Content + hist h_eta_No_L1_J25 { + output = L1Calo/Developer/JetEfficiency/Distributions } - hist h_TowerSimulationID { - output = L1Calo/Developer/JfexInput/Content + hist h_pt_Bootstrap_L1_J25 { + output = L1Calo/Developer/JetEfficiency/Distributions } - hist h_TowerCalosource { - output = L1Calo/Developer/JfexInput/Content + hist h_eta_Bootstrap_L1_J25 { + output = L1Calo/Developer/JetEfficiency/Distributions } - hist h_TowerEtcount_barrel { - output = L1Calo/Developer/JfexInput/Content + hist h_pt_BootstrapHLT_L1_J25 { + output = L1Calo/Developer/JetEfficiency/Distributions } - hist h_TowerEtcount_tile { - output = L1Calo/Developer/JfexInput/Content + hist h_eta_BootstrapHLT_L1_J25 { + output = L1Calo/Developer/JetEfficiency/Distributions } - hist h_TowerEtcount_emec { - output = L1Calo/Developer/JfexInput/Content + hist h_pt_Muon_L1_J30 { + output = L1Calo/Developer/JetEfficiency/Distributions } - hist h_TowerEtcount_hec { - output = L1Calo/Developer/JfexInput/Content + hist h_eta_Muon_L1_J30 { + output = L1Calo/Developer/JetEfficiency/Distributions } - hist h_TowerEtcount_fcal1 { - output = L1Calo/Developer/JfexInput/Content + hist h_pt_RandomHLT_L1_J30 { + output = L1Calo/Developer/JetEfficiency/Distributions } - hist h_TowerEtcount_fcal2 { - output = L1Calo/Developer/JfexInput/Content + hist h_eta_RandomHLT_L1_J30 { + output = L1Calo/Developer/JetEfficiency/Distributions } - hist h_TowerEtcount_fcal3 { - output = L1Calo/Developer/JfexInput/Content + hist h_pt_No_L1_J30 { + output = L1Calo/Developer/JetEfficiency/Distributions } - hist h_TowerSaturationflag { - output = L1Calo/Developer/JfexInput/Content + hist h_eta_No_L1_J30 { + output = L1Calo/Developer/JetEfficiency/Distributions } - } - } - dir GfexInput { - hist h_nGfexTowers { - output = L1Calo/Developer/GfexInput - } - hist h_TowerEta { - output = L1Calo/Developer/GfexInput - } - hist h_TowerPhi { - output = L1Calo/Developer/GfexInput - } - hist h_TowerEtaPhiMap { - output = L1Calo/Developer/GfexInput - } - hist h_TowerEtaindex { - output = L1Calo/Developer/GfexInput - } - hist h_TowerPhiindex { - output = L1Calo/Developer/GfexInput - } - hist h_TowerEtaPhiMapindex { - output = L1Calo/Developer/GfexInput - } - hist h_TowerFpga { - output = L1Calo/Developer/GfexInput - } - hist h_TowerEt { - output = L1Calo/Developer/GfexInput - } - hist h_TowerSaturationflag { - output = L1Calo/Developer/GfexInput - } - } - } -} -#outputs -output top_level { - output L1Calo { - output Expert { - output Sim { - output detail { + hist h_pt_Bootstrap_L1_J30 { + output = L1Calo/Developer/JetEfficiency/Distributions } - } - } - output Shifter { - output Sim { - } - } - output Developer { - output EfexSimMonAlg { - } - output Efex { - output TOB { - output eEMLowPtCut { - } - output eTauLowPtCut { - } - output eEMHiPtCut { - } - output eTauHiPtCut { - } + hist h_eta_Bootstrap_L1_J30 { + output = L1Calo/Developer/JetEfficiency/Distributions } - output xTOB { - output eEMLowPtCut { - } - output eTauLowPtCut { - } - output eEMHiPtCut { - } - output eTauHiPtCut { - } + hist h_pt_BootstrapHLT_L1_J30 { + output = L1Calo/Developer/JetEfficiency/Distributions } - output TOBSim { - output eEMLowPtCut { - } - output eTauLowPtCut { - } - output eEMHiPtCut { - } - output eTauHiPtCut { - } + hist h_eta_BootstrapHLT_L1_J30 { + output = L1Calo/Developer/JetEfficiency/Distributions } - output xTOBSim { - output eEMLowPtCut { - } - output eTauLowPtCut { - } - output eEMHiPtCut { - } - output eTauHiPtCut { - } + hist h_pt_Muon_L1_J40 { + output = L1Calo/Developer/JetEfficiency/Distributions } - } - output EfexMonAlg { - } - output Jfex { - output jJ { + hist h_eta_Muon_L1_J40 { + output = L1Calo/Developer/JetEfficiency/Distributions } - output jLJ { + hist h_pt_RandomHLT_L1_J40 { + output = L1Calo/Developer/JetEfficiency/Distributions } - output jTau { + hist h_eta_RandomHLT_L1_J40 { + output = L1Calo/Developer/JetEfficiency/Distributions } - output jEM { + hist h_pt_No_L1_J40 { + output = L1Calo/Developer/JetEfficiency/Distributions } - output jXE { + hist h_eta_No_L1_J40 { + output = L1Calo/Developer/JetEfficiency/Distributions } - output jTE { + hist h_pt_Bootstrap_L1_J40 { + output = L1Calo/Developer/JetEfficiency/Distributions } - } - output JfexSimMonAlg { - } - output Gfex { - output gFexLRJets { + hist h_eta_Bootstrap_L1_J40 { + output = L1Calo/Developer/JetEfficiency/Distributions } - output gFexLRJets_CutPt0 { + hist h_pt_BootstrapHLT_L1_J40 { + output = L1Calo/Developer/JetEfficiency/Distributions } - output gFexLRJets_CutPt10 { + hist h_eta_BootstrapHLT_L1_J40 { + output = L1Calo/Developer/JetEfficiency/Distributions } - output gFexLRJets_CutPt50 { + hist h_pt_Muon_L1_J50 { + output = L1Calo/Developer/JetEfficiency/Distributions } - output gFexLRJets_CutPt100 { + hist h_eta_Muon_L1_J50 { + output = L1Calo/Developer/JetEfficiency/Distributions } - output gFexSRJets { + hist h_pt_RandomHLT_L1_J50 { + output = L1Calo/Developer/JetEfficiency/Distributions } - output gFexSRJets_CutPt0 { + hist h_eta_RandomHLT_L1_J50 { + output = L1Calo/Developer/JetEfficiency/Distributions } - output gFexSRJets_CutPt10 { + hist h_pt_No_L1_J50 { + output = L1Calo/Developer/JetEfficiency/Distributions } - output gFexSRJets_CutPt50 { + hist h_eta_No_L1_J50 { + output = L1Calo/Developer/JetEfficiency/Distributions } - output gFexSRJets_CutPt100 { + hist h_pt_Bootstrap_L1_J50 { + output = L1Calo/Developer/JetEfficiency/Distributions } - output gRHO { + hist h_eta_Bootstrap_L1_J50 { + output = L1Calo/Developer/JetEfficiency/Distributions } - output gXE { + hist h_pt_BootstrapHLT_L1_J50 { + output = L1Calo/Developer/JetEfficiency/Distributions } - output gTE { + hist h_eta_BootstrapHLT_L1_J50 { + output = L1Calo/Developer/JetEfficiency/Distributions } - output gMHT { + hist h_pt_Muon_L1_J75 { + output = L1Calo/Developer/JetEfficiency/Distributions } - output gMST { + hist h_eta_Muon_L1_J75 { + output = L1Calo/Developer/JetEfficiency/Distributions } - output gXE_NoiseCut { + hist h_pt_RandomHLT_L1_J75 { + output = L1Calo/Developer/JetEfficiency/Distributions } - output gXE_RMS { + hist h_eta_RandomHLT_L1_J75 { + output = L1Calo/Developer/JetEfficiency/Distributions } - output gTE_NoiseCut { + hist h_pt_No_L1_J75 { + output = L1Calo/Developer/JetEfficiency/Distributions } - output gTE_RMS { + hist h_eta_No_L1_J75 { + output = L1Calo/Developer/JetEfficiency/Distributions } - } - output GfexSimMonAlg { - } - output EfexInputMonAlg { - } - output JfexInput { - output expert { + hist h_pt_Bootstrap_L1_J75 { + output = L1Calo/Developer/JetEfficiency/Distributions } - output Content { + hist h_eta_Bootstrap_L1_J75 { + output = L1Calo/Developer/JetEfficiency/Distributions } - } - output GfexInput { - } - } - } + hist h_pt_BootstrapHLT_L1_J75 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_BootstrapHLT_L1_J75 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Muon_L1_J85 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Muon_L1_J85 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_RandomHLT_L1_J85 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_RandomHLT_L1_J85 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_No_L1_J85 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_No_L1_J85 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Bootstrap_L1_J85 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Bootstrap_L1_J85 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_BootstrapHLT_L1_J85 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_BootstrapHLT_L1_J85 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Muon_L1_J100 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Muon_L1_J100 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_RandomHLT_L1_J100 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_RandomHLT_L1_J100 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_No_L1_J100 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_No_L1_J100 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Bootstrap_L1_J100 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Bootstrap_L1_J100 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_BootstrapHLT_L1_J100 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_BootstrapHLT_L1_J100 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Muon_L1_J120 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Muon_L1_J120 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_RandomHLT_L1_J120 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_RandomHLT_L1_J120 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_No_L1_J120 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_No_L1_J120 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Bootstrap_L1_J120 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Bootstrap_L1_J120 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_BootstrapHLT_L1_J120 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_BootstrapHLT_L1_J120 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Muon_L1_J400 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Muon_L1_J400 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_RandomHLT_L1_J400 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_RandomHLT_L1_J400 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_No_L1_J400 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_No_L1_J400 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Bootstrap_L1_J400 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Bootstrap_L1_J400 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_BootstrapHLT_L1_J400 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_BootstrapHLT_L1_J400 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Muon_L1_J85_3J30 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Muon_L1_J85_3J30 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_RandomHLT_L1_J85_3J30 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_RandomHLT_L1_J85_3J30 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_No_L1_J85_3J30 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_No_L1_J85_3J30 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Bootstrap_L1_J85_3J30 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Bootstrap_L1_J85_3J30 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_BootstrapHLT_L1_J85_3J30 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_BootstrapHLT_L1_J85_3J30 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Muon_L1_3J50 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Muon_L1_3J50 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_RandomHLT_L1_3J50 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_RandomHLT_L1_3J50 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_No_L1_3J50 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_No_L1_3J50 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Bootstrap_L1_3J50 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Bootstrap_L1_3J50 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_BootstrapHLT_L1_3J50 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_BootstrapHLT_L1_3J50 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Muon_L1_4J15 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Muon_L1_4J15 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_RandomHLT_L1_4J15 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_RandomHLT_L1_4J15 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_No_L1_4J15 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_No_L1_4J15 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Bootstrap_L1_4J15 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Bootstrap_L1_4J15 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_BootstrapHLT_L1_4J15 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_BootstrapHLT_L1_4J15 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Muon_L1_4J20 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Muon_L1_4J20 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_RandomHLT_L1_4J20 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_RandomHLT_L1_4J20 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_No_L1_4J20 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_No_L1_4J20 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Bootstrap_L1_4J20 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Bootstrap_L1_4J20 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_BootstrapHLT_L1_4J20 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_BootstrapHLT_L1_4J20 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Muon_L1_SC111-CJ15 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Muon_L1_SC111-CJ15 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_RandomHLT_L1_SC111-CJ15 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_RandomHLT_L1_SC111-CJ15 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_No_L1_SC111-CJ15 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_No_L1_SC111-CJ15 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Bootstrap_L1_SC111-CJ15 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Bootstrap_L1_SC111-CJ15 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_BootstrapHLT_L1_SC111-CJ15 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_BootstrapHLT_L1_SC111-CJ15 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Muon_L1_gJ20 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Muon_L1_gJ20 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_RandomHLT_L1_gJ20 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_RandomHLT_L1_gJ20 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_No_L1_gJ20 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_No_L1_gJ20 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Bootstrap_L1_gJ20 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Bootstrap_L1_gJ20 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_BootstrapHLT_L1_gJ20 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_BootstrapHLT_L1_gJ20 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Muon_L1_gJ20p0ETA25 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Muon_L1_gJ20p0ETA25 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_RandomHLT_L1_gJ20p0ETA25 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_RandomHLT_L1_gJ20p0ETA25 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_No_L1_gJ20p0ETA25 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_No_L1_gJ20p0ETA25 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Bootstrap_L1_gJ20p0ETA25 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Bootstrap_L1_gJ20p0ETA25 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_BootstrapHLT_L1_gJ20p0ETA25 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_BootstrapHLT_L1_gJ20p0ETA25 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Muon_L1_gJ20p25ETA49 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Muon_L1_gJ20p25ETA49 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_RandomHLT_L1_gJ20p25ETA49 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_RandomHLT_L1_gJ20p25ETA49 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_No_L1_gJ20p25ETA49 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_No_L1_gJ20p25ETA49 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Bootstrap_L1_gJ20p25ETA49 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Bootstrap_L1_gJ20p25ETA49 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_BootstrapHLT_L1_gJ20p25ETA49 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_BootstrapHLT_L1_gJ20p25ETA49 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Muon_L1_gJ20p0ETA25_EMPTY { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Muon_L1_gJ20p0ETA25_EMPTY { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_RandomHLT_L1_gJ20p0ETA25_EMPTY { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_RandomHLT_L1_gJ20p0ETA25_EMPTY { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_No_L1_gJ20p0ETA25_EMPTY { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_No_L1_gJ20p0ETA25_EMPTY { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Bootstrap_L1_gJ20p0ETA25_EMPTY { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Bootstrap_L1_gJ20p0ETA25_EMPTY { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_BootstrapHLT_L1_gJ20p0ETA25_EMPTY { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_BootstrapHLT_L1_gJ20p0ETA25_EMPTY { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Muon_L1_gJ30 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Muon_L1_gJ30 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_RandomHLT_L1_gJ30 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_RandomHLT_L1_gJ30 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_No_L1_gJ30 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_No_L1_gJ30 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Bootstrap_L1_gJ30 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Bootstrap_L1_gJ30 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_BootstrapHLT_L1_gJ30 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_BootstrapHLT_L1_gJ30 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Muon_L1_gJ40 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Muon_L1_gJ40 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_RandomHLT_L1_gJ40 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_RandomHLT_L1_gJ40 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_No_L1_gJ40 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_No_L1_gJ40 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Bootstrap_L1_gJ40 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Bootstrap_L1_gJ40 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_BootstrapHLT_L1_gJ40 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_BootstrapHLT_L1_gJ40 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Muon_L1_gJ50 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Muon_L1_gJ50 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_RandomHLT_L1_gJ50 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_RandomHLT_L1_gJ50 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_No_L1_gJ50 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_No_L1_gJ50 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Bootstrap_L1_gJ50 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Bootstrap_L1_gJ50 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_BootstrapHLT_L1_gJ50 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_BootstrapHLT_L1_gJ50 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Muon_L1_gJ50p0ETA25 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Muon_L1_gJ50p0ETA25 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_RandomHLT_L1_gJ50p0ETA25 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_RandomHLT_L1_gJ50p0ETA25 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_No_L1_gJ50p0ETA25 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_No_L1_gJ50p0ETA25 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Bootstrap_L1_gJ50p0ETA25 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Bootstrap_L1_gJ50p0ETA25 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_BootstrapHLT_L1_gJ50p0ETA25 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_BootstrapHLT_L1_gJ50p0ETA25 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Muon_L1_gJ100 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Muon_L1_gJ100 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_RandomHLT_L1_gJ100 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_RandomHLT_L1_gJ100 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_No_L1_gJ100 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_No_L1_gJ100 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Bootstrap_L1_gJ100 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Bootstrap_L1_gJ100 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_BootstrapHLT_L1_gJ100 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_BootstrapHLT_L1_gJ100 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Muon_L1_gJ100p0ETA25 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Muon_L1_gJ100p0ETA25 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_RandomHLT_L1_gJ100p0ETA25 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_RandomHLT_L1_gJ100p0ETA25 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_No_L1_gJ100p0ETA25 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_No_L1_gJ100p0ETA25 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Bootstrap_L1_gJ100p0ETA25 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Bootstrap_L1_gJ100p0ETA25 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_BootstrapHLT_L1_gJ100p0ETA25 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_BootstrapHLT_L1_gJ100p0ETA25 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Muon_L1_gJ400p0ETA25 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Muon_L1_gJ400p0ETA25 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_RandomHLT_L1_gJ400p0ETA25 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_RandomHLT_L1_gJ400p0ETA25 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_No_L1_gJ400p0ETA25 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_No_L1_gJ400p0ETA25 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Bootstrap_L1_gJ400p0ETA25 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Bootstrap_L1_gJ400p0ETA25 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_BootstrapHLT_L1_gJ400p0ETA25 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_BootstrapHLT_L1_gJ400p0ETA25 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Muon_L1_gLJ80 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Muon_L1_gLJ80 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_RandomHLT_L1_gLJ80 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_RandomHLT_L1_gLJ80 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_No_L1_gLJ80 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_No_L1_gLJ80 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Bootstrap_L1_gLJ80 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Bootstrap_L1_gLJ80 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_BootstrapHLT_L1_gLJ80 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_BootstrapHLT_L1_gLJ80 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Muon_L1_gLJ100 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Muon_L1_gLJ100 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_RandomHLT_L1_gLJ100 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_RandomHLT_L1_gLJ100 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_No_L1_gLJ100 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_No_L1_gLJ100 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Bootstrap_L1_gLJ100 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Bootstrap_L1_gLJ100 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_BootstrapHLT_L1_gLJ100 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_BootstrapHLT_L1_gLJ100 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Muon_L1_gLJ140 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Muon_L1_gLJ140 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_RandomHLT_L1_gLJ140 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_RandomHLT_L1_gLJ140 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_No_L1_gLJ140 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_No_L1_gLJ140 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Bootstrap_L1_gLJ140 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Bootstrap_L1_gLJ140 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_BootstrapHLT_L1_gLJ140 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_BootstrapHLT_L1_gLJ140 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Muon_L1_gLJ140p0ETA25 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Muon_L1_gLJ140p0ETA25 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_RandomHLT_L1_gLJ140p0ETA25 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_RandomHLT_L1_gLJ140p0ETA25 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_No_L1_gLJ140p0ETA25 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_No_L1_gLJ140p0ETA25 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Bootstrap_L1_gLJ140p0ETA25 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Bootstrap_L1_gLJ140p0ETA25 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_BootstrapHLT_L1_gLJ140p0ETA25 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_BootstrapHLT_L1_gLJ140p0ETA25 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Muon_L1_jJ30 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Muon_L1_jJ30 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_RandomHLT_L1_jJ30 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_RandomHLT_L1_jJ30 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_No_L1_jJ30 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_No_L1_jJ30 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Bootstrap_L1_jJ30 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Bootstrap_L1_jJ30 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_BootstrapHLT_L1_jJ30 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_BootstrapHLT_L1_jJ30 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Muon_L1_jJ40 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Muon_L1_jJ40 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_RandomHLT_L1_jJ40 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_RandomHLT_L1_jJ40 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_No_L1_jJ40 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_No_L1_jJ40 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Bootstrap_L1_jJ40 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Bootstrap_L1_jJ40 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_BootstrapHLT_L1_jJ40 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_BootstrapHLT_L1_jJ40 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Muon_L1_jJ50 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Muon_L1_jJ50 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_RandomHLT_L1_jJ50 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_RandomHLT_L1_jJ50 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_No_L1_jJ50 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_No_L1_jJ50 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Bootstrap_L1_jJ50 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Bootstrap_L1_jJ50 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_BootstrapHLT_L1_jJ50 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_BootstrapHLT_L1_jJ50 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Muon_L1_jJ60 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Muon_L1_jJ60 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_RandomHLT_L1_jJ60 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_RandomHLT_L1_jJ60 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_No_L1_jJ60 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_No_L1_jJ60 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Bootstrap_L1_jJ60 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Bootstrap_L1_jJ60 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_BootstrapHLT_L1_jJ60 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_BootstrapHLT_L1_jJ60 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Muon_L1_jJ80 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Muon_L1_jJ80 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_RandomHLT_L1_jJ80 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_RandomHLT_L1_jJ80 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_No_L1_jJ80 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_No_L1_jJ80 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Bootstrap_L1_jJ80 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Bootstrap_L1_jJ80 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_BootstrapHLT_L1_jJ80 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_BootstrapHLT_L1_jJ80 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Muon_L1_jJ90 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Muon_L1_jJ90 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_RandomHLT_L1_jJ90 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_RandomHLT_L1_jJ90 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_No_L1_jJ90 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_No_L1_jJ90 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Bootstrap_L1_jJ90 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Bootstrap_L1_jJ90 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_BootstrapHLT_L1_jJ90 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_BootstrapHLT_L1_jJ90 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Muon_L1_jJ125 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Muon_L1_jJ125 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_RandomHLT_L1_jJ125 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_RandomHLT_L1_jJ125 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_No_L1_jJ125 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_No_L1_jJ125 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Bootstrap_L1_jJ125 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Bootstrap_L1_jJ125 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_BootstrapHLT_L1_jJ125 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_BootstrapHLT_L1_jJ125 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Muon_L1_jJ140 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Muon_L1_jJ140 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_RandomHLT_L1_jJ140 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_RandomHLT_L1_jJ140 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_No_L1_jJ140 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_No_L1_jJ140 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Bootstrap_L1_jJ140 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Bootstrap_L1_jJ140 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_BootstrapHLT_L1_jJ140 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_BootstrapHLT_L1_jJ140 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Muon_L1_jJ160 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Muon_L1_jJ160 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_RandomHLT_L1_jJ160 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_RandomHLT_L1_jJ160 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_No_L1_jJ160 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_No_L1_jJ160 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Bootstrap_L1_jJ160 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Bootstrap_L1_jJ160 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_BootstrapHLT_L1_jJ160 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_BootstrapHLT_L1_jJ160 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Muon_L1_jJ180 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Muon_L1_jJ180 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_RandomHLT_L1_jJ180 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_RandomHLT_L1_jJ180 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_No_L1_jJ180 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_No_L1_jJ180 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Bootstrap_L1_jJ180 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Bootstrap_L1_jJ180 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_BootstrapHLT_L1_jJ180 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_BootstrapHLT_L1_jJ180 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Muon_L1_SC111-CjJ40 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Muon_L1_SC111-CjJ40 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_RandomHLT_L1_SC111-CjJ40 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_RandomHLT_L1_SC111-CjJ40 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_No_L1_SC111-CjJ40 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_No_L1_SC111-CjJ40 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_Bootstrap_L1_SC111-CjJ40 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_Bootstrap_L1_SC111-CjJ40 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_pt_BootstrapHLT_L1_SC111-CjJ40 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + hist h_eta_BootstrapHLT_L1_SC111-CjJ40 { + output = L1Calo/Developer/JetEfficiency/Distributions + } + } + dir legacy { + dir MuonReferenceTrigger { + hist h_pt_Muon_L1_J20,pt_Muon { + output = L1Calo/Developer/JetEfficiency/legacy/MuonReferenceTrigger + } + hist h_eta_Muon_L1_J20,eta_Muon { + output = L1Calo/Developer/JetEfficiency/legacy/MuonReferenceTrigger + } + hist h_pt_Muon_L1_J25,pt_Muon { + output = L1Calo/Developer/JetEfficiency/legacy/MuonReferenceTrigger + } + hist h_eta_Muon_L1_J25,eta_Muon { + output = L1Calo/Developer/JetEfficiency/legacy/MuonReferenceTrigger + } + hist h_pt_Muon_L1_J30,pt_Muon { + output = L1Calo/Developer/JetEfficiency/legacy/MuonReferenceTrigger + } + hist h_eta_Muon_L1_J30,eta_Muon { + output = L1Calo/Developer/JetEfficiency/legacy/MuonReferenceTrigger + } + hist h_pt_Muon_L1_J40,pt_Muon { + output = L1Calo/Developer/JetEfficiency/legacy/MuonReferenceTrigger + } + hist h_eta_Muon_L1_J40,eta_Muon { + output = L1Calo/Developer/JetEfficiency/legacy/MuonReferenceTrigger + } + hist h_pt_Muon_L1_J50,pt_Muon { + output = L1Calo/Developer/JetEfficiency/legacy/MuonReferenceTrigger + } + hist h_eta_Muon_L1_J50,eta_Muon { + output = L1Calo/Developer/JetEfficiency/legacy/MuonReferenceTrigger + } + hist h_pt_Muon_L1_J75,pt_Muon { + output = L1Calo/Developer/JetEfficiency/legacy/MuonReferenceTrigger + } + hist h_eta_Muon_L1_J75,eta_Muon { + output = L1Calo/Developer/JetEfficiency/legacy/MuonReferenceTrigger + } + hist h_pt_Muon_L1_J85,pt_Muon { + output = L1Calo/Developer/JetEfficiency/legacy/MuonReferenceTrigger + } + hist h_eta_Muon_L1_J85,eta_Muon { + output = L1Calo/Developer/JetEfficiency/legacy/MuonReferenceTrigger + } + hist h_pt_Muon_L1_J100,pt_Muon { + output = L1Calo/Developer/JetEfficiency/legacy/MuonReferenceTrigger + } + hist h_eta_Muon_L1_J100,eta_Muon { + output = L1Calo/Developer/JetEfficiency/legacy/MuonReferenceTrigger + } + hist h_pt_Muon_L1_J120,pt_Muon { + output = L1Calo/Developer/JetEfficiency/legacy/MuonReferenceTrigger + } + hist h_eta_Muon_L1_J120,eta_Muon { + output = L1Calo/Developer/JetEfficiency/legacy/MuonReferenceTrigger + } + hist h_pt_Muon_L1_J400,pt_Muon { + output = L1Calo/Developer/JetEfficiency/legacy/MuonReferenceTrigger + } + hist h_eta_Muon_L1_J400,eta_Muon { + output = L1Calo/Developer/JetEfficiency/legacy/MuonReferenceTrigger + } + hist h_pt_Muon_L1_J85_3J30,pt_Muon { + output = L1Calo/Developer/JetEfficiency/legacy/MuonReferenceTrigger + } + hist h_eta_Muon_L1_J85_3J30,eta_Muon { + output = L1Calo/Developer/JetEfficiency/legacy/MuonReferenceTrigger + } + hist h_pt_Muon_L1_3J50,pt_Muon { + output = L1Calo/Developer/JetEfficiency/legacy/MuonReferenceTrigger + } + hist h_eta_Muon_L1_3J50,eta_Muon { + output = L1Calo/Developer/JetEfficiency/legacy/MuonReferenceTrigger + } + hist h_pt_Muon_L1_4J15,pt_Muon { + output = L1Calo/Developer/JetEfficiency/legacy/MuonReferenceTrigger + } + hist h_eta_Muon_L1_4J15,eta_Muon { + output = L1Calo/Developer/JetEfficiency/legacy/MuonReferenceTrigger + } + hist h_pt_Muon_L1_4J20,pt_Muon { + output = L1Calo/Developer/JetEfficiency/legacy/MuonReferenceTrigger + } + hist h_eta_Muon_L1_4J20,eta_Muon { + output = L1Calo/Developer/JetEfficiency/legacy/MuonReferenceTrigger + } + hist h_pt_Muon_L1_SC111-CJ15,pt_Muon { + output = L1Calo/Developer/JetEfficiency/legacy/MuonReferenceTrigger + } + hist h_eta_Muon_L1_SC111-CJ15,eta_Muon { + output = L1Calo/Developer/JetEfficiency/legacy/MuonReferenceTrigger + } + } + dir RandomHLTReferenceTrigger { + hist h_pt_RandomHLT_L1_J20,pt_RandomHLT { + output = L1Calo/Developer/JetEfficiency/legacy/RandomHLTReferenceTrigger + } + hist h_eta_RandomHLT_L1_J20,eta_RandomHLT { + output = L1Calo/Developer/JetEfficiency/legacy/RandomHLTReferenceTrigger + } + hist h_pt_RandomHLT_L1_J25,pt_RandomHLT { + output = L1Calo/Developer/JetEfficiency/legacy/RandomHLTReferenceTrigger + } + hist h_eta_RandomHLT_L1_J25,eta_RandomHLT { + output = L1Calo/Developer/JetEfficiency/legacy/RandomHLTReferenceTrigger + } + hist h_pt_RandomHLT_L1_J30,pt_RandomHLT { + output = L1Calo/Developer/JetEfficiency/legacy/RandomHLTReferenceTrigger + } + hist h_eta_RandomHLT_L1_J30,eta_RandomHLT { + output = L1Calo/Developer/JetEfficiency/legacy/RandomHLTReferenceTrigger + } + hist h_pt_RandomHLT_L1_J40,pt_RandomHLT { + output = L1Calo/Developer/JetEfficiency/legacy/RandomHLTReferenceTrigger + } + hist h_eta_RandomHLT_L1_J40,eta_RandomHLT { + output = L1Calo/Developer/JetEfficiency/legacy/RandomHLTReferenceTrigger + } + hist h_pt_RandomHLT_L1_J50,pt_RandomHLT { + output = L1Calo/Developer/JetEfficiency/legacy/RandomHLTReferenceTrigger + } + hist h_eta_RandomHLT_L1_J50,eta_RandomHLT { + output = L1Calo/Developer/JetEfficiency/legacy/RandomHLTReferenceTrigger + } + hist h_pt_RandomHLT_L1_J75,pt_RandomHLT { + output = L1Calo/Developer/JetEfficiency/legacy/RandomHLTReferenceTrigger + } + hist h_eta_RandomHLT_L1_J75,eta_RandomHLT { + output = L1Calo/Developer/JetEfficiency/legacy/RandomHLTReferenceTrigger + } + hist h_pt_RandomHLT_L1_J85,pt_RandomHLT { + output = L1Calo/Developer/JetEfficiency/legacy/RandomHLTReferenceTrigger + } + hist h_eta_RandomHLT_L1_J85,eta_RandomHLT { + output = L1Calo/Developer/JetEfficiency/legacy/RandomHLTReferenceTrigger + } + hist h_pt_RandomHLT_L1_J100,pt_RandomHLT { + output = L1Calo/Developer/JetEfficiency/legacy/RandomHLTReferenceTrigger + } + hist h_eta_RandomHLT_L1_J100,eta_RandomHLT { + output = L1Calo/Developer/JetEfficiency/legacy/RandomHLTReferenceTrigger + } + hist h_pt_RandomHLT_L1_J120,pt_RandomHLT { + output = L1Calo/Developer/JetEfficiency/legacy/RandomHLTReferenceTrigger + } + hist h_eta_RandomHLT_L1_J120,eta_RandomHLT { + output = L1Calo/Developer/JetEfficiency/legacy/RandomHLTReferenceTrigger + } + hist h_pt_RandomHLT_L1_J400,pt_RandomHLT { + output = L1Calo/Developer/JetEfficiency/legacy/RandomHLTReferenceTrigger + } + hist h_eta_RandomHLT_L1_J400,eta_RandomHLT { + output = L1Calo/Developer/JetEfficiency/legacy/RandomHLTReferenceTrigger + } + hist h_pt_RandomHLT_L1_J85_3J30,pt_RandomHLT { + output = L1Calo/Developer/JetEfficiency/legacy/RandomHLTReferenceTrigger + } + hist h_eta_RandomHLT_L1_J85_3J30,eta_RandomHLT { + output = L1Calo/Developer/JetEfficiency/legacy/RandomHLTReferenceTrigger + } + hist h_pt_RandomHLT_L1_3J50,pt_RandomHLT { + output = L1Calo/Developer/JetEfficiency/legacy/RandomHLTReferenceTrigger + } + hist h_eta_RandomHLT_L1_3J50,eta_RandomHLT { + output = L1Calo/Developer/JetEfficiency/legacy/RandomHLTReferenceTrigger + } + hist h_pt_RandomHLT_L1_4J15,pt_RandomHLT { + output = L1Calo/Developer/JetEfficiency/legacy/RandomHLTReferenceTrigger + } + hist h_eta_RandomHLT_L1_4J15,eta_RandomHLT { + output = L1Calo/Developer/JetEfficiency/legacy/RandomHLTReferenceTrigger + } + hist h_pt_RandomHLT_L1_4J20,pt_RandomHLT { + output = L1Calo/Developer/JetEfficiency/legacy/RandomHLTReferenceTrigger + } + hist h_eta_RandomHLT_L1_4J20,eta_RandomHLT { + output = L1Calo/Developer/JetEfficiency/legacy/RandomHLTReferenceTrigger + } + hist h_pt_RandomHLT_L1_SC111-CJ15,pt_RandomHLT { + output = L1Calo/Developer/JetEfficiency/legacy/RandomHLTReferenceTrigger + } + hist h_eta_RandomHLT_L1_SC111-CJ15,eta_RandomHLT { + output = L1Calo/Developer/JetEfficiency/legacy/RandomHLTReferenceTrigger + } + } + dir NoReferenceTrigger { + hist h_pt_No_L1_J20,pt_No { + output = L1Calo/Developer/JetEfficiency/legacy/NoReferenceTrigger + } + hist h_eta_No_L1_J20,eta_No { + output = L1Calo/Developer/JetEfficiency/legacy/NoReferenceTrigger + } + hist h_pt_No_L1_J25,pt_No { + output = L1Calo/Developer/JetEfficiency/legacy/NoReferenceTrigger + } + hist h_eta_No_L1_J25,eta_No { + output = L1Calo/Developer/JetEfficiency/legacy/NoReferenceTrigger + } + hist h_pt_No_L1_J30,pt_No { + output = L1Calo/Developer/JetEfficiency/legacy/NoReferenceTrigger + } + hist h_eta_No_L1_J30,eta_No { + output = L1Calo/Developer/JetEfficiency/legacy/NoReferenceTrigger + } + hist h_pt_No_L1_J40,pt_No { + output = L1Calo/Developer/JetEfficiency/legacy/NoReferenceTrigger + } + hist h_eta_No_L1_J40,eta_No { + output = L1Calo/Developer/JetEfficiency/legacy/NoReferenceTrigger + } + hist h_pt_No_L1_J50,pt_No { + output = L1Calo/Developer/JetEfficiency/legacy/NoReferenceTrigger + } + hist h_eta_No_L1_J50,eta_No { + output = L1Calo/Developer/JetEfficiency/legacy/NoReferenceTrigger + } + hist h_pt_No_L1_J75,pt_No { + output = L1Calo/Developer/JetEfficiency/legacy/NoReferenceTrigger + } + hist h_eta_No_L1_J75,eta_No { + output = L1Calo/Developer/JetEfficiency/legacy/NoReferenceTrigger + } + hist h_pt_No_L1_J85,pt_No { + output = L1Calo/Developer/JetEfficiency/legacy/NoReferenceTrigger + } + hist h_eta_No_L1_J85,eta_No { + output = L1Calo/Developer/JetEfficiency/legacy/NoReferenceTrigger + } + hist h_pt_No_L1_J100,pt_No { + output = L1Calo/Developer/JetEfficiency/legacy/NoReferenceTrigger + } + hist h_eta_No_L1_J100,eta_No { + output = L1Calo/Developer/JetEfficiency/legacy/NoReferenceTrigger + } + hist h_pt_No_L1_J120,pt_No { + output = L1Calo/Developer/JetEfficiency/legacy/NoReferenceTrigger + } + hist h_eta_No_L1_J120,eta_No { + output = L1Calo/Developer/JetEfficiency/legacy/NoReferenceTrigger + } + hist h_pt_No_L1_J400,pt_No { + output = L1Calo/Developer/JetEfficiency/legacy/NoReferenceTrigger + } + hist h_eta_No_L1_J400,eta_No { + output = L1Calo/Developer/JetEfficiency/legacy/NoReferenceTrigger + } + hist h_pt_No_L1_J85_3J30,pt_No { + output = L1Calo/Developer/JetEfficiency/legacy/NoReferenceTrigger + } + hist h_eta_No_L1_J85_3J30,eta_No { + output = L1Calo/Developer/JetEfficiency/legacy/NoReferenceTrigger + } + hist h_pt_No_L1_3J50,pt_No { + output = L1Calo/Developer/JetEfficiency/legacy/NoReferenceTrigger + } + hist h_eta_No_L1_3J50,eta_No { + output = L1Calo/Developer/JetEfficiency/legacy/NoReferenceTrigger + } + hist h_pt_No_L1_4J15,pt_No { + output = L1Calo/Developer/JetEfficiency/legacy/NoReferenceTrigger + } + hist h_eta_No_L1_4J15,eta_No { + output = L1Calo/Developer/JetEfficiency/legacy/NoReferenceTrigger + } + hist h_pt_No_L1_4J20,pt_No { + output = L1Calo/Developer/JetEfficiency/legacy/NoReferenceTrigger + } + hist h_eta_No_L1_4J20,eta_No { + output = L1Calo/Developer/JetEfficiency/legacy/NoReferenceTrigger + } + hist h_pt_No_L1_SC111-CJ15,pt_No { + output = L1Calo/Developer/JetEfficiency/legacy/NoReferenceTrigger + } + hist h_eta_No_L1_SC111-CJ15,eta_No { + output = L1Calo/Developer/JetEfficiency/legacy/NoReferenceTrigger + } + } + dir BootstrapReferenceTrigger { + hist h_pt_Bootstrap_L1_J20,pt_Bootstrap { + output = L1Calo/Developer/JetEfficiency/legacy/BootstrapReferenceTrigger + } + hist h_eta_Bootstrap_L1_J20,eta_Bootstrap { + output = L1Calo/Developer/JetEfficiency/legacy/BootstrapReferenceTrigger + } + hist h_pt_Bootstrap_L1_J25,pt_Bootstrap { + output = L1Calo/Developer/JetEfficiency/legacy/BootstrapReferenceTrigger + } + hist h_eta_Bootstrap_L1_J25,eta_Bootstrap { + output = L1Calo/Developer/JetEfficiency/legacy/BootstrapReferenceTrigger + } + hist h_pt_Bootstrap_L1_J30,pt_Bootstrap { + output = L1Calo/Developer/JetEfficiency/legacy/BootstrapReferenceTrigger + } + hist h_eta_Bootstrap_L1_J30,eta_Bootstrap { + output = L1Calo/Developer/JetEfficiency/legacy/BootstrapReferenceTrigger + } + hist h_pt_Bootstrap_L1_J40,pt_Bootstrap { + output = L1Calo/Developer/JetEfficiency/legacy/BootstrapReferenceTrigger + } + hist h_eta_Bootstrap_L1_J40,eta_Bootstrap { + output = L1Calo/Developer/JetEfficiency/legacy/BootstrapReferenceTrigger + } + hist h_pt_Bootstrap_L1_J50,pt_Bootstrap { + output = L1Calo/Developer/JetEfficiency/legacy/BootstrapReferenceTrigger + } + hist h_eta_Bootstrap_L1_J50,eta_Bootstrap { + output = L1Calo/Developer/JetEfficiency/legacy/BootstrapReferenceTrigger + } + hist h_pt_Bootstrap_L1_J75,pt_Bootstrap { + output = L1Calo/Developer/JetEfficiency/legacy/BootstrapReferenceTrigger + } + hist h_eta_Bootstrap_L1_J75,eta_Bootstrap { + output = L1Calo/Developer/JetEfficiency/legacy/BootstrapReferenceTrigger + } + hist h_pt_Bootstrap_L1_J85,pt_Bootstrap { + output = L1Calo/Developer/JetEfficiency/legacy/BootstrapReferenceTrigger + } + hist h_eta_Bootstrap_L1_J85,eta_Bootstrap { + output = L1Calo/Developer/JetEfficiency/legacy/BootstrapReferenceTrigger + } + hist h_pt_Bootstrap_L1_J100,pt_Bootstrap { + output = L1Calo/Developer/JetEfficiency/legacy/BootstrapReferenceTrigger + } + hist h_eta_Bootstrap_L1_J100,eta_Bootstrap { + output = L1Calo/Developer/JetEfficiency/legacy/BootstrapReferenceTrigger + } + hist h_pt_Bootstrap_L1_J120,pt_Bootstrap { + output = L1Calo/Developer/JetEfficiency/legacy/BootstrapReferenceTrigger + } + hist h_eta_Bootstrap_L1_J120,eta_Bootstrap { + output = L1Calo/Developer/JetEfficiency/legacy/BootstrapReferenceTrigger + } + hist h_pt_Bootstrap_L1_J400,pt_Bootstrap { + output = L1Calo/Developer/JetEfficiency/legacy/BootstrapReferenceTrigger + } + hist h_eta_Bootstrap_L1_J400,eta_Bootstrap { + output = L1Calo/Developer/JetEfficiency/legacy/BootstrapReferenceTrigger + } + hist h_pt_Bootstrap_L1_J85_3J30,pt_Bootstrap { + output = L1Calo/Developer/JetEfficiency/legacy/BootstrapReferenceTrigger + } + hist h_eta_Bootstrap_L1_J85_3J30,eta_Bootstrap { + output = L1Calo/Developer/JetEfficiency/legacy/BootstrapReferenceTrigger + } + hist h_pt_Bootstrap_L1_3J50,pt_Bootstrap { + output = L1Calo/Developer/JetEfficiency/legacy/BootstrapReferenceTrigger + } + hist h_eta_Bootstrap_L1_3J50,eta_Bootstrap { + output = L1Calo/Developer/JetEfficiency/legacy/BootstrapReferenceTrigger + } + hist h_pt_Bootstrap_L1_4J15,pt_Bootstrap { + output = L1Calo/Developer/JetEfficiency/legacy/BootstrapReferenceTrigger + } + hist h_eta_Bootstrap_L1_4J15,eta_Bootstrap { + output = L1Calo/Developer/JetEfficiency/legacy/BootstrapReferenceTrigger + } + hist h_pt_Bootstrap_L1_4J20,pt_Bootstrap { + output = L1Calo/Developer/JetEfficiency/legacy/BootstrapReferenceTrigger + } + hist h_eta_Bootstrap_L1_4J20,eta_Bootstrap { + output = L1Calo/Developer/JetEfficiency/legacy/BootstrapReferenceTrigger + } + hist h_pt_Bootstrap_L1_SC111-CJ15,pt_Bootstrap { + output = L1Calo/Developer/JetEfficiency/legacy/BootstrapReferenceTrigger + } + hist h_eta_Bootstrap_L1_SC111-CJ15,eta_Bootstrap { + output = L1Calo/Developer/JetEfficiency/legacy/BootstrapReferenceTrigger + } + } + dir BootstrapHLTReferenceTrigger { + hist h_pt_BootstrapHLT_L1_J20,pt_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/legacy/BootstrapHLTReferenceTrigger + } + hist h_eta_BootstrapHLT_L1_J20,eta_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/legacy/BootstrapHLTReferenceTrigger + } + hist h_pt_BootstrapHLT_L1_J25,pt_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/legacy/BootstrapHLTReferenceTrigger + } + hist h_eta_BootstrapHLT_L1_J25,eta_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/legacy/BootstrapHLTReferenceTrigger + } + hist h_pt_BootstrapHLT_L1_J30,pt_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/legacy/BootstrapHLTReferenceTrigger + } + hist h_eta_BootstrapHLT_L1_J30,eta_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/legacy/BootstrapHLTReferenceTrigger + } + hist h_pt_BootstrapHLT_L1_J40,pt_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/legacy/BootstrapHLTReferenceTrigger + } + hist h_eta_BootstrapHLT_L1_J40,eta_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/legacy/BootstrapHLTReferenceTrigger + } + hist h_pt_BootstrapHLT_L1_J50,pt_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/legacy/BootstrapHLTReferenceTrigger + } + hist h_eta_BootstrapHLT_L1_J50,eta_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/legacy/BootstrapHLTReferenceTrigger + } + hist h_pt_BootstrapHLT_L1_J75,pt_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/legacy/BootstrapHLTReferenceTrigger + } + hist h_eta_BootstrapHLT_L1_J75,eta_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/legacy/BootstrapHLTReferenceTrigger + } + hist h_pt_BootstrapHLT_L1_J85,pt_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/legacy/BootstrapHLTReferenceTrigger + } + hist h_eta_BootstrapHLT_L1_J85,eta_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/legacy/BootstrapHLTReferenceTrigger + } + hist h_pt_BootstrapHLT_L1_J100,pt_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/legacy/BootstrapHLTReferenceTrigger + } + hist h_eta_BootstrapHLT_L1_J100,eta_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/legacy/BootstrapHLTReferenceTrigger + } + hist h_pt_BootstrapHLT_L1_J120,pt_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/legacy/BootstrapHLTReferenceTrigger + } + hist h_eta_BootstrapHLT_L1_J120,eta_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/legacy/BootstrapHLTReferenceTrigger + } + hist h_pt_BootstrapHLT_L1_J400,pt_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/legacy/BootstrapHLTReferenceTrigger + } + hist h_eta_BootstrapHLT_L1_J400,eta_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/legacy/BootstrapHLTReferenceTrigger + } + hist h_pt_BootstrapHLT_L1_J85_3J30,pt_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/legacy/BootstrapHLTReferenceTrigger + } + hist h_eta_BootstrapHLT_L1_J85_3J30,eta_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/legacy/BootstrapHLTReferenceTrigger + } + hist h_pt_BootstrapHLT_L1_3J50,pt_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/legacy/BootstrapHLTReferenceTrigger + } + hist h_eta_BootstrapHLT_L1_3J50,eta_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/legacy/BootstrapHLTReferenceTrigger + } + hist h_pt_BootstrapHLT_L1_4J15,pt_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/legacy/BootstrapHLTReferenceTrigger + } + hist h_eta_BootstrapHLT_L1_4J15,eta_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/legacy/BootstrapHLTReferenceTrigger + } + hist h_pt_BootstrapHLT_L1_4J20,pt_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/legacy/BootstrapHLTReferenceTrigger + } + hist h_eta_BootstrapHLT_L1_4J20,eta_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/legacy/BootstrapHLTReferenceTrigger + } + hist h_pt_BootstrapHLT_L1_SC111-CJ15,pt_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/legacy/BootstrapHLTReferenceTrigger + } + hist h_eta_BootstrapHLT_L1_SC111-CJ15,eta_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/legacy/BootstrapHLTReferenceTrigger + } + } + } + dir phase1 { + dir MuonReferenceTrigger { + hist h_pt_Muon_L1_gJ20,pt_Muon { + output = L1Calo/Developer/JetEfficiency/phase1/MuonReferenceTrigger + } + hist h_eta_Muon_L1_gJ20,eta_Muon { + output = L1Calo/Developer/JetEfficiency/phase1/MuonReferenceTrigger + } + hist h_pt_Muon_L1_gJ20p0ETA25,pt_Muon { + output = L1Calo/Developer/JetEfficiency/phase1/MuonReferenceTrigger + } + hist h_eta_Muon_L1_gJ20p0ETA25,eta_Muon { + output = L1Calo/Developer/JetEfficiency/phase1/MuonReferenceTrigger + } + hist h_pt_Muon_L1_gJ20p25ETA49,pt_Muon { + output = L1Calo/Developer/JetEfficiency/phase1/MuonReferenceTrigger + } + hist h_eta_Muon_L1_gJ20p25ETA49,eta_Muon { + output = L1Calo/Developer/JetEfficiency/phase1/MuonReferenceTrigger + } + hist h_pt_Muon_L1_gJ20p0ETA25_EMPTY,pt_Muon { + output = L1Calo/Developer/JetEfficiency/phase1/MuonReferenceTrigger + } + hist h_eta_Muon_L1_gJ20p0ETA25_EMPTY,eta_Muon { + output = L1Calo/Developer/JetEfficiency/phase1/MuonReferenceTrigger + } + hist h_pt_Muon_L1_gJ30,pt_Muon { + output = L1Calo/Developer/JetEfficiency/phase1/MuonReferenceTrigger + } + hist h_eta_Muon_L1_gJ30,eta_Muon { + output = L1Calo/Developer/JetEfficiency/phase1/MuonReferenceTrigger + } + hist h_pt_Muon_L1_gJ40,pt_Muon { + output = L1Calo/Developer/JetEfficiency/phase1/MuonReferenceTrigger + } + hist h_eta_Muon_L1_gJ40,eta_Muon { + output = L1Calo/Developer/JetEfficiency/phase1/MuonReferenceTrigger + } + hist h_pt_Muon_L1_gJ50,pt_Muon { + output = L1Calo/Developer/JetEfficiency/phase1/MuonReferenceTrigger + } + hist h_eta_Muon_L1_gJ50,eta_Muon { + output = L1Calo/Developer/JetEfficiency/phase1/MuonReferenceTrigger + } + hist h_pt_Muon_L1_gJ50p0ETA25,pt_Muon { + output = L1Calo/Developer/JetEfficiency/phase1/MuonReferenceTrigger + } + hist h_eta_Muon_L1_gJ50p0ETA25,eta_Muon { + output = L1Calo/Developer/JetEfficiency/phase1/MuonReferenceTrigger + } + hist h_pt_Muon_L1_gJ100,pt_Muon { + output = L1Calo/Developer/JetEfficiency/phase1/MuonReferenceTrigger + } + hist h_eta_Muon_L1_gJ100,eta_Muon { + output = L1Calo/Developer/JetEfficiency/phase1/MuonReferenceTrigger + } + hist h_pt_Muon_L1_gJ100p0ETA25,pt_Muon { + output = L1Calo/Developer/JetEfficiency/phase1/MuonReferenceTrigger + } + hist h_eta_Muon_L1_gJ100p0ETA25,eta_Muon { + output = L1Calo/Developer/JetEfficiency/phase1/MuonReferenceTrigger + } + hist h_pt_Muon_L1_gJ400p0ETA25,pt_Muon { + output = L1Calo/Developer/JetEfficiency/phase1/MuonReferenceTrigger + } + hist h_eta_Muon_L1_gJ400p0ETA25,eta_Muon { + output = L1Calo/Developer/JetEfficiency/phase1/MuonReferenceTrigger + } + hist h_pt_Muon_L1_gLJ80,pt_Muon { + output = L1Calo/Developer/JetEfficiency/phase1/MuonReferenceTrigger + } + hist h_eta_Muon_L1_gLJ80,eta_Muon { + output = L1Calo/Developer/JetEfficiency/phase1/MuonReferenceTrigger + } + hist h_pt_Muon_L1_gLJ100,pt_Muon { + output = L1Calo/Developer/JetEfficiency/phase1/MuonReferenceTrigger + } + hist h_eta_Muon_L1_gLJ100,eta_Muon { + output = L1Calo/Developer/JetEfficiency/phase1/MuonReferenceTrigger + } + hist h_pt_Muon_L1_gLJ140,pt_Muon { + output = L1Calo/Developer/JetEfficiency/phase1/MuonReferenceTrigger + } + hist h_eta_Muon_L1_gLJ140,eta_Muon { + output = L1Calo/Developer/JetEfficiency/phase1/MuonReferenceTrigger + } + hist h_pt_Muon_L1_gLJ140p0ETA25,pt_Muon { + output = L1Calo/Developer/JetEfficiency/phase1/MuonReferenceTrigger + } + hist h_eta_Muon_L1_gLJ140p0ETA25,eta_Muon { + output = L1Calo/Developer/JetEfficiency/phase1/MuonReferenceTrigger + } + hist h_pt_Muon_L1_jJ30,pt_Muon { + output = L1Calo/Developer/JetEfficiency/phase1/MuonReferenceTrigger + } + hist h_eta_Muon_L1_jJ30,eta_Muon { + output = L1Calo/Developer/JetEfficiency/phase1/MuonReferenceTrigger + } + hist h_pt_Muon_L1_jJ40,pt_Muon { + output = L1Calo/Developer/JetEfficiency/phase1/MuonReferenceTrigger + } + hist h_eta_Muon_L1_jJ40,eta_Muon { + output = L1Calo/Developer/JetEfficiency/phase1/MuonReferenceTrigger + } + hist h_pt_Muon_L1_jJ50,pt_Muon { + output = L1Calo/Developer/JetEfficiency/phase1/MuonReferenceTrigger + } + hist h_eta_Muon_L1_jJ50,eta_Muon { + output = L1Calo/Developer/JetEfficiency/phase1/MuonReferenceTrigger + } + hist h_pt_Muon_L1_jJ60,pt_Muon { + output = L1Calo/Developer/JetEfficiency/phase1/MuonReferenceTrigger + } + hist h_eta_Muon_L1_jJ60,eta_Muon { + output = L1Calo/Developer/JetEfficiency/phase1/MuonReferenceTrigger + } + hist h_pt_Muon_L1_jJ80,pt_Muon { + output = L1Calo/Developer/JetEfficiency/phase1/MuonReferenceTrigger + } + hist h_eta_Muon_L1_jJ80,eta_Muon { + output = L1Calo/Developer/JetEfficiency/phase1/MuonReferenceTrigger + } + hist h_pt_Muon_L1_jJ90,pt_Muon { + output = L1Calo/Developer/JetEfficiency/phase1/MuonReferenceTrigger + } + hist h_eta_Muon_L1_jJ90,eta_Muon { + output = L1Calo/Developer/JetEfficiency/phase1/MuonReferenceTrigger + } + hist h_pt_Muon_L1_jJ125,pt_Muon { + output = L1Calo/Developer/JetEfficiency/phase1/MuonReferenceTrigger + } + hist h_eta_Muon_L1_jJ125,eta_Muon { + output = L1Calo/Developer/JetEfficiency/phase1/MuonReferenceTrigger + } + hist h_pt_Muon_L1_jJ140,pt_Muon { + output = L1Calo/Developer/JetEfficiency/phase1/MuonReferenceTrigger + } + hist h_eta_Muon_L1_jJ140,eta_Muon { + output = L1Calo/Developer/JetEfficiency/phase1/MuonReferenceTrigger + } + hist h_pt_Muon_L1_jJ160,pt_Muon { + output = L1Calo/Developer/JetEfficiency/phase1/MuonReferenceTrigger + } + hist h_eta_Muon_L1_jJ160,eta_Muon { + output = L1Calo/Developer/JetEfficiency/phase1/MuonReferenceTrigger + } + hist h_pt_Muon_L1_jJ180,pt_Muon { + output = L1Calo/Developer/JetEfficiency/phase1/MuonReferenceTrigger + } + hist h_eta_Muon_L1_jJ180,eta_Muon { + output = L1Calo/Developer/JetEfficiency/phase1/MuonReferenceTrigger + } + hist h_pt_Muon_L1_SC111-CjJ40,pt_Muon { + output = L1Calo/Developer/JetEfficiency/phase1/MuonReferenceTrigger + } + hist h_eta_Muon_L1_SC111-CjJ40,eta_Muon { + output = L1Calo/Developer/JetEfficiency/phase1/MuonReferenceTrigger + } + } + dir RandomHLTReferenceTrigger { + hist h_pt_RandomHLT_L1_gJ20,pt_RandomHLT { + output = L1Calo/Developer/JetEfficiency/phase1/RandomHLTReferenceTrigger + } + hist h_eta_RandomHLT_L1_gJ20,eta_RandomHLT { + output = L1Calo/Developer/JetEfficiency/phase1/RandomHLTReferenceTrigger + } + hist h_pt_RandomHLT_L1_gJ20p0ETA25,pt_RandomHLT { + output = L1Calo/Developer/JetEfficiency/phase1/RandomHLTReferenceTrigger + } + hist h_eta_RandomHLT_L1_gJ20p0ETA25,eta_RandomHLT { + output = L1Calo/Developer/JetEfficiency/phase1/RandomHLTReferenceTrigger + } + hist h_pt_RandomHLT_L1_gJ20p25ETA49,pt_RandomHLT { + output = L1Calo/Developer/JetEfficiency/phase1/RandomHLTReferenceTrigger + } + hist h_eta_RandomHLT_L1_gJ20p25ETA49,eta_RandomHLT { + output = L1Calo/Developer/JetEfficiency/phase1/RandomHLTReferenceTrigger + } + hist h_pt_RandomHLT_L1_gJ20p0ETA25_EMPTY,pt_RandomHLT { + output = L1Calo/Developer/JetEfficiency/phase1/RandomHLTReferenceTrigger + } + hist h_eta_RandomHLT_L1_gJ20p0ETA25_EMPTY,eta_RandomHLT { + output = L1Calo/Developer/JetEfficiency/phase1/RandomHLTReferenceTrigger + } + hist h_pt_RandomHLT_L1_gJ30,pt_RandomHLT { + output = L1Calo/Developer/JetEfficiency/phase1/RandomHLTReferenceTrigger + } + hist h_eta_RandomHLT_L1_gJ30,eta_RandomHLT { + output = L1Calo/Developer/JetEfficiency/phase1/RandomHLTReferenceTrigger + } + hist h_pt_RandomHLT_L1_gJ40,pt_RandomHLT { + output = L1Calo/Developer/JetEfficiency/phase1/RandomHLTReferenceTrigger + } + hist h_eta_RandomHLT_L1_gJ40,eta_RandomHLT { + output = L1Calo/Developer/JetEfficiency/phase1/RandomHLTReferenceTrigger + } + hist h_pt_RandomHLT_L1_gJ50,pt_RandomHLT { + output = L1Calo/Developer/JetEfficiency/phase1/RandomHLTReferenceTrigger + } + hist h_eta_RandomHLT_L1_gJ50,eta_RandomHLT { + output = L1Calo/Developer/JetEfficiency/phase1/RandomHLTReferenceTrigger + } + hist h_pt_RandomHLT_L1_gJ50p0ETA25,pt_RandomHLT { + output = L1Calo/Developer/JetEfficiency/phase1/RandomHLTReferenceTrigger + } + hist h_eta_RandomHLT_L1_gJ50p0ETA25,eta_RandomHLT { + output = L1Calo/Developer/JetEfficiency/phase1/RandomHLTReferenceTrigger + } + hist h_pt_RandomHLT_L1_gJ100,pt_RandomHLT { + output = L1Calo/Developer/JetEfficiency/phase1/RandomHLTReferenceTrigger + } + hist h_eta_RandomHLT_L1_gJ100,eta_RandomHLT { + output = L1Calo/Developer/JetEfficiency/phase1/RandomHLTReferenceTrigger + } + hist h_pt_RandomHLT_L1_gJ100p0ETA25,pt_RandomHLT { + output = L1Calo/Developer/JetEfficiency/phase1/RandomHLTReferenceTrigger + } + hist h_eta_RandomHLT_L1_gJ100p0ETA25,eta_RandomHLT { + output = L1Calo/Developer/JetEfficiency/phase1/RandomHLTReferenceTrigger + } + hist h_pt_RandomHLT_L1_gJ400p0ETA25,pt_RandomHLT { + output = L1Calo/Developer/JetEfficiency/phase1/RandomHLTReferenceTrigger + } + hist h_eta_RandomHLT_L1_gJ400p0ETA25,eta_RandomHLT { + output = L1Calo/Developer/JetEfficiency/phase1/RandomHLTReferenceTrigger + } + hist h_pt_RandomHLT_L1_gLJ80,pt_RandomHLT { + output = L1Calo/Developer/JetEfficiency/phase1/RandomHLTReferenceTrigger + } + hist h_eta_RandomHLT_L1_gLJ80,eta_RandomHLT { + output = L1Calo/Developer/JetEfficiency/phase1/RandomHLTReferenceTrigger + } + hist h_pt_RandomHLT_L1_gLJ100,pt_RandomHLT { + output = L1Calo/Developer/JetEfficiency/phase1/RandomHLTReferenceTrigger + } + hist h_eta_RandomHLT_L1_gLJ100,eta_RandomHLT { + output = L1Calo/Developer/JetEfficiency/phase1/RandomHLTReferenceTrigger + } + hist h_pt_RandomHLT_L1_gLJ140,pt_RandomHLT { + output = L1Calo/Developer/JetEfficiency/phase1/RandomHLTReferenceTrigger + } + hist h_eta_RandomHLT_L1_gLJ140,eta_RandomHLT { + output = L1Calo/Developer/JetEfficiency/phase1/RandomHLTReferenceTrigger + } + hist h_pt_RandomHLT_L1_gLJ140p0ETA25,pt_RandomHLT { + output = L1Calo/Developer/JetEfficiency/phase1/RandomHLTReferenceTrigger + } + hist h_eta_RandomHLT_L1_gLJ140p0ETA25,eta_RandomHLT { + output = L1Calo/Developer/JetEfficiency/phase1/RandomHLTReferenceTrigger + } + hist h_pt_RandomHLT_L1_jJ30,pt_RandomHLT { + output = L1Calo/Developer/JetEfficiency/phase1/RandomHLTReferenceTrigger + } + hist h_eta_RandomHLT_L1_jJ30,eta_RandomHLT { + output = L1Calo/Developer/JetEfficiency/phase1/RandomHLTReferenceTrigger + } + hist h_pt_RandomHLT_L1_jJ40,pt_RandomHLT { + output = L1Calo/Developer/JetEfficiency/phase1/RandomHLTReferenceTrigger + } + hist h_eta_RandomHLT_L1_jJ40,eta_RandomHLT { + output = L1Calo/Developer/JetEfficiency/phase1/RandomHLTReferenceTrigger + } + hist h_pt_RandomHLT_L1_jJ50,pt_RandomHLT { + output = L1Calo/Developer/JetEfficiency/phase1/RandomHLTReferenceTrigger + } + hist h_eta_RandomHLT_L1_jJ50,eta_RandomHLT { + output = L1Calo/Developer/JetEfficiency/phase1/RandomHLTReferenceTrigger + } + hist h_pt_RandomHLT_L1_jJ60,pt_RandomHLT { + output = L1Calo/Developer/JetEfficiency/phase1/RandomHLTReferenceTrigger + } + hist h_eta_RandomHLT_L1_jJ60,eta_RandomHLT { + output = L1Calo/Developer/JetEfficiency/phase1/RandomHLTReferenceTrigger + } + hist h_pt_RandomHLT_L1_jJ80,pt_RandomHLT { + output = L1Calo/Developer/JetEfficiency/phase1/RandomHLTReferenceTrigger + } + hist h_eta_RandomHLT_L1_jJ80,eta_RandomHLT { + output = L1Calo/Developer/JetEfficiency/phase1/RandomHLTReferenceTrigger + } + hist h_pt_RandomHLT_L1_jJ90,pt_RandomHLT { + output = L1Calo/Developer/JetEfficiency/phase1/RandomHLTReferenceTrigger + } + hist h_eta_RandomHLT_L1_jJ90,eta_RandomHLT { + output = L1Calo/Developer/JetEfficiency/phase1/RandomHLTReferenceTrigger + } + hist h_pt_RandomHLT_L1_jJ125,pt_RandomHLT { + output = L1Calo/Developer/JetEfficiency/phase1/RandomHLTReferenceTrigger + } + hist h_eta_RandomHLT_L1_jJ125,eta_RandomHLT { + output = L1Calo/Developer/JetEfficiency/phase1/RandomHLTReferenceTrigger + } + hist h_pt_RandomHLT_L1_jJ140,pt_RandomHLT { + output = L1Calo/Developer/JetEfficiency/phase1/RandomHLTReferenceTrigger + } + hist h_eta_RandomHLT_L1_jJ140,eta_RandomHLT { + output = L1Calo/Developer/JetEfficiency/phase1/RandomHLTReferenceTrigger + } + hist h_pt_RandomHLT_L1_jJ160,pt_RandomHLT { + output = L1Calo/Developer/JetEfficiency/phase1/RandomHLTReferenceTrigger + } + hist h_eta_RandomHLT_L1_jJ160,eta_RandomHLT { + output = L1Calo/Developer/JetEfficiency/phase1/RandomHLTReferenceTrigger + } + hist h_pt_RandomHLT_L1_jJ180,pt_RandomHLT { + output = L1Calo/Developer/JetEfficiency/phase1/RandomHLTReferenceTrigger + } + hist h_eta_RandomHLT_L1_jJ180,eta_RandomHLT { + output = L1Calo/Developer/JetEfficiency/phase1/RandomHLTReferenceTrigger + } + hist h_pt_RandomHLT_L1_SC111-CjJ40,pt_RandomHLT { + output = L1Calo/Developer/JetEfficiency/phase1/RandomHLTReferenceTrigger + } + hist h_eta_RandomHLT_L1_SC111-CjJ40,eta_RandomHLT { + output = L1Calo/Developer/JetEfficiency/phase1/RandomHLTReferenceTrigger + } + } + dir NoReferenceTrigger { + hist h_pt_No_L1_gJ20,pt_No { + output = L1Calo/Developer/JetEfficiency/phase1/NoReferenceTrigger + } + hist h_eta_No_L1_gJ20,eta_No { + output = L1Calo/Developer/JetEfficiency/phase1/NoReferenceTrigger + } + hist h_pt_No_L1_gJ20p0ETA25,pt_No { + output = L1Calo/Developer/JetEfficiency/phase1/NoReferenceTrigger + } + hist h_eta_No_L1_gJ20p0ETA25,eta_No { + output = L1Calo/Developer/JetEfficiency/phase1/NoReferenceTrigger + } + hist h_pt_No_L1_gJ20p25ETA49,pt_No { + output = L1Calo/Developer/JetEfficiency/phase1/NoReferenceTrigger + } + hist h_eta_No_L1_gJ20p25ETA49,eta_No { + output = L1Calo/Developer/JetEfficiency/phase1/NoReferenceTrigger + } + hist h_pt_No_L1_gJ20p0ETA25_EMPTY,pt_No { + output = L1Calo/Developer/JetEfficiency/phase1/NoReferenceTrigger + } + hist h_eta_No_L1_gJ20p0ETA25_EMPTY,eta_No { + output = L1Calo/Developer/JetEfficiency/phase1/NoReferenceTrigger + } + hist h_pt_No_L1_gJ30,pt_No { + output = L1Calo/Developer/JetEfficiency/phase1/NoReferenceTrigger + } + hist h_eta_No_L1_gJ30,eta_No { + output = L1Calo/Developer/JetEfficiency/phase1/NoReferenceTrigger + } + hist h_pt_No_L1_gJ40,pt_No { + output = L1Calo/Developer/JetEfficiency/phase1/NoReferenceTrigger + } + hist h_eta_No_L1_gJ40,eta_No { + output = L1Calo/Developer/JetEfficiency/phase1/NoReferenceTrigger + } + hist h_pt_No_L1_gJ50,pt_No { + output = L1Calo/Developer/JetEfficiency/phase1/NoReferenceTrigger + } + hist h_eta_No_L1_gJ50,eta_No { + output = L1Calo/Developer/JetEfficiency/phase1/NoReferenceTrigger + } + hist h_pt_No_L1_gJ50p0ETA25,pt_No { + output = L1Calo/Developer/JetEfficiency/phase1/NoReferenceTrigger + } + hist h_eta_No_L1_gJ50p0ETA25,eta_No { + output = L1Calo/Developer/JetEfficiency/phase1/NoReferenceTrigger + } + hist h_pt_No_L1_gJ100,pt_No { + output = L1Calo/Developer/JetEfficiency/phase1/NoReferenceTrigger + } + hist h_eta_No_L1_gJ100,eta_No { + output = L1Calo/Developer/JetEfficiency/phase1/NoReferenceTrigger + } + hist h_pt_No_L1_gJ100p0ETA25,pt_No { + output = L1Calo/Developer/JetEfficiency/phase1/NoReferenceTrigger + } + hist h_eta_No_L1_gJ100p0ETA25,eta_No { + output = L1Calo/Developer/JetEfficiency/phase1/NoReferenceTrigger + } + hist h_pt_No_L1_gJ400p0ETA25,pt_No { + output = L1Calo/Developer/JetEfficiency/phase1/NoReferenceTrigger + } + hist h_eta_No_L1_gJ400p0ETA25,eta_No { + output = L1Calo/Developer/JetEfficiency/phase1/NoReferenceTrigger + } + hist h_pt_No_L1_gLJ80,pt_No { + output = L1Calo/Developer/JetEfficiency/phase1/NoReferenceTrigger + } + hist h_eta_No_L1_gLJ80,eta_No { + output = L1Calo/Developer/JetEfficiency/phase1/NoReferenceTrigger + } + hist h_pt_No_L1_gLJ100,pt_No { + output = L1Calo/Developer/JetEfficiency/phase1/NoReferenceTrigger + } + hist h_eta_No_L1_gLJ100,eta_No { + output = L1Calo/Developer/JetEfficiency/phase1/NoReferenceTrigger + } + hist h_pt_No_L1_gLJ140,pt_No { + output = L1Calo/Developer/JetEfficiency/phase1/NoReferenceTrigger + } + hist h_eta_No_L1_gLJ140,eta_No { + output = L1Calo/Developer/JetEfficiency/phase1/NoReferenceTrigger + } + hist h_pt_No_L1_gLJ140p0ETA25,pt_No { + output = L1Calo/Developer/JetEfficiency/phase1/NoReferenceTrigger + } + hist h_eta_No_L1_gLJ140p0ETA25,eta_No { + output = L1Calo/Developer/JetEfficiency/phase1/NoReferenceTrigger + } + hist h_pt_No_L1_jJ30,pt_No { + output = L1Calo/Developer/JetEfficiency/phase1/NoReferenceTrigger + } + hist h_eta_No_L1_jJ30,eta_No { + output = L1Calo/Developer/JetEfficiency/phase1/NoReferenceTrigger + } + hist h_pt_No_L1_jJ40,pt_No { + output = L1Calo/Developer/JetEfficiency/phase1/NoReferenceTrigger + } + hist h_eta_No_L1_jJ40,eta_No { + output = L1Calo/Developer/JetEfficiency/phase1/NoReferenceTrigger + } + hist h_pt_No_L1_jJ50,pt_No { + output = L1Calo/Developer/JetEfficiency/phase1/NoReferenceTrigger + } + hist h_eta_No_L1_jJ50,eta_No { + output = L1Calo/Developer/JetEfficiency/phase1/NoReferenceTrigger + } + hist h_pt_No_L1_jJ60,pt_No { + output = L1Calo/Developer/JetEfficiency/phase1/NoReferenceTrigger + } + hist h_eta_No_L1_jJ60,eta_No { + output = L1Calo/Developer/JetEfficiency/phase1/NoReferenceTrigger + } + hist h_pt_No_L1_jJ80,pt_No { + output = L1Calo/Developer/JetEfficiency/phase1/NoReferenceTrigger + } + hist h_eta_No_L1_jJ80,eta_No { + output = L1Calo/Developer/JetEfficiency/phase1/NoReferenceTrigger + } + hist h_pt_No_L1_jJ90,pt_No { + output = L1Calo/Developer/JetEfficiency/phase1/NoReferenceTrigger + } + hist h_eta_No_L1_jJ90,eta_No { + output = L1Calo/Developer/JetEfficiency/phase1/NoReferenceTrigger + } + hist h_pt_No_L1_jJ125,pt_No { + output = L1Calo/Developer/JetEfficiency/phase1/NoReferenceTrigger + } + hist h_eta_No_L1_jJ125,eta_No { + output = L1Calo/Developer/JetEfficiency/phase1/NoReferenceTrigger + } + hist h_pt_No_L1_jJ140,pt_No { + output = L1Calo/Developer/JetEfficiency/phase1/NoReferenceTrigger + } + hist h_eta_No_L1_jJ140,eta_No { + output = L1Calo/Developer/JetEfficiency/phase1/NoReferenceTrigger + } + hist h_pt_No_L1_jJ160,pt_No { + output = L1Calo/Developer/JetEfficiency/phase1/NoReferenceTrigger + } + hist h_eta_No_L1_jJ160,eta_No { + output = L1Calo/Developer/JetEfficiency/phase1/NoReferenceTrigger + } + hist h_pt_No_L1_jJ180,pt_No { + output = L1Calo/Developer/JetEfficiency/phase1/NoReferenceTrigger + } + hist h_eta_No_L1_jJ180,eta_No { + output = L1Calo/Developer/JetEfficiency/phase1/NoReferenceTrigger + } + hist h_pt_No_L1_SC111-CjJ40,pt_No { + output = L1Calo/Developer/JetEfficiency/phase1/NoReferenceTrigger + } + hist h_eta_No_L1_SC111-CjJ40,eta_No { + output = L1Calo/Developer/JetEfficiency/phase1/NoReferenceTrigger + } + } + dir BootstrapReferenceTrigger { + hist h_pt_Bootstrap_L1_gJ20,pt_Bootstrap { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapReferenceTrigger + } + hist h_eta_Bootstrap_L1_gJ20,eta_Bootstrap { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapReferenceTrigger + } + hist h_pt_Bootstrap_L1_gJ20p0ETA25,pt_Bootstrap { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapReferenceTrigger + } + hist h_eta_Bootstrap_L1_gJ20p0ETA25,eta_Bootstrap { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapReferenceTrigger + } + hist h_pt_Bootstrap_L1_gJ20p25ETA49,pt_Bootstrap { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapReferenceTrigger + } + hist h_eta_Bootstrap_L1_gJ20p25ETA49,eta_Bootstrap { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapReferenceTrigger + } + hist h_pt_Bootstrap_L1_gJ20p0ETA25_EMPTY,pt_Bootstrap { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapReferenceTrigger + } + hist h_eta_Bootstrap_L1_gJ20p0ETA25_EMPTY,eta_Bootstrap { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapReferenceTrigger + } + hist h_pt_Bootstrap_L1_gJ30,pt_Bootstrap { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapReferenceTrigger + } + hist h_eta_Bootstrap_L1_gJ30,eta_Bootstrap { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapReferenceTrigger + } + hist h_pt_Bootstrap_L1_gJ40,pt_Bootstrap { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapReferenceTrigger + } + hist h_eta_Bootstrap_L1_gJ40,eta_Bootstrap { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapReferenceTrigger + } + hist h_pt_Bootstrap_L1_gJ50,pt_Bootstrap { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapReferenceTrigger + } + hist h_eta_Bootstrap_L1_gJ50,eta_Bootstrap { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapReferenceTrigger + } + hist h_pt_Bootstrap_L1_gJ50p0ETA25,pt_Bootstrap { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapReferenceTrigger + } + hist h_eta_Bootstrap_L1_gJ50p0ETA25,eta_Bootstrap { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapReferenceTrigger + } + hist h_pt_Bootstrap_L1_gJ100,pt_Bootstrap { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapReferenceTrigger + } + hist h_eta_Bootstrap_L1_gJ100,eta_Bootstrap { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapReferenceTrigger + } + hist h_pt_Bootstrap_L1_gJ100p0ETA25,pt_Bootstrap { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapReferenceTrigger + } + hist h_eta_Bootstrap_L1_gJ100p0ETA25,eta_Bootstrap { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapReferenceTrigger + } + hist h_pt_Bootstrap_L1_gJ400p0ETA25,pt_Bootstrap { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapReferenceTrigger + } + hist h_eta_Bootstrap_L1_gJ400p0ETA25,eta_Bootstrap { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapReferenceTrigger + } + hist h_pt_Bootstrap_L1_gLJ80,pt_Bootstrap { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapReferenceTrigger + } + hist h_eta_Bootstrap_L1_gLJ80,eta_Bootstrap { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapReferenceTrigger + } + hist h_pt_Bootstrap_L1_gLJ100,pt_Bootstrap { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapReferenceTrigger + } + hist h_eta_Bootstrap_L1_gLJ100,eta_Bootstrap { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapReferenceTrigger + } + hist h_pt_Bootstrap_L1_gLJ140,pt_Bootstrap { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapReferenceTrigger + } + hist h_eta_Bootstrap_L1_gLJ140,eta_Bootstrap { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapReferenceTrigger + } + hist h_pt_Bootstrap_L1_gLJ140p0ETA25,pt_Bootstrap { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapReferenceTrigger + } + hist h_eta_Bootstrap_L1_gLJ140p0ETA25,eta_Bootstrap { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapReferenceTrigger + } + hist h_pt_Bootstrap_L1_jJ30,pt_Bootstrap { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapReferenceTrigger + } + hist h_eta_Bootstrap_L1_jJ30,eta_Bootstrap { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapReferenceTrigger + } + hist h_pt_Bootstrap_L1_jJ40,pt_Bootstrap { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapReferenceTrigger + } + hist h_eta_Bootstrap_L1_jJ40,eta_Bootstrap { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapReferenceTrigger + } + hist h_pt_Bootstrap_L1_jJ50,pt_Bootstrap { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapReferenceTrigger + } + hist h_eta_Bootstrap_L1_jJ50,eta_Bootstrap { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapReferenceTrigger + } + hist h_pt_Bootstrap_L1_jJ60,pt_Bootstrap { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapReferenceTrigger + } + hist h_eta_Bootstrap_L1_jJ60,eta_Bootstrap { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapReferenceTrigger + } + hist h_pt_Bootstrap_L1_jJ80,pt_Bootstrap { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapReferenceTrigger + } + hist h_eta_Bootstrap_L1_jJ80,eta_Bootstrap { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapReferenceTrigger + } + hist h_pt_Bootstrap_L1_jJ90,pt_Bootstrap { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapReferenceTrigger + } + hist h_eta_Bootstrap_L1_jJ90,eta_Bootstrap { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapReferenceTrigger + } + hist h_pt_Bootstrap_L1_jJ125,pt_Bootstrap { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapReferenceTrigger + } + hist h_eta_Bootstrap_L1_jJ125,eta_Bootstrap { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapReferenceTrigger + } + hist h_pt_Bootstrap_L1_jJ140,pt_Bootstrap { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapReferenceTrigger + } + hist h_eta_Bootstrap_L1_jJ140,eta_Bootstrap { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapReferenceTrigger + } + hist h_pt_Bootstrap_L1_jJ160,pt_Bootstrap { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapReferenceTrigger + } + hist h_eta_Bootstrap_L1_jJ160,eta_Bootstrap { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapReferenceTrigger + } + hist h_pt_Bootstrap_L1_jJ180,pt_Bootstrap { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapReferenceTrigger + } + hist h_eta_Bootstrap_L1_jJ180,eta_Bootstrap { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapReferenceTrigger + } + hist h_pt_Bootstrap_L1_SC111-CjJ40,pt_Bootstrap { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapReferenceTrigger + } + hist h_eta_Bootstrap_L1_SC111-CjJ40,eta_Bootstrap { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapReferenceTrigger + } + } + dir BootstrapHLTReferenceTrigger { + hist h_pt_BootstrapHLT_L1_gJ20,pt_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapHLTReferenceTrigger + } + hist h_eta_BootstrapHLT_L1_gJ20,eta_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapHLTReferenceTrigger + } + hist h_pt_BootstrapHLT_L1_gJ20p0ETA25,pt_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapHLTReferenceTrigger + } + hist h_eta_BootstrapHLT_L1_gJ20p0ETA25,eta_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapHLTReferenceTrigger + } + hist h_pt_BootstrapHLT_L1_gJ20p25ETA49,pt_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapHLTReferenceTrigger + } + hist h_eta_BootstrapHLT_L1_gJ20p25ETA49,eta_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapHLTReferenceTrigger + } + hist h_pt_BootstrapHLT_L1_gJ20p0ETA25_EMPTY,pt_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapHLTReferenceTrigger + } + hist h_eta_BootstrapHLT_L1_gJ20p0ETA25_EMPTY,eta_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapHLTReferenceTrigger + } + hist h_pt_BootstrapHLT_L1_gJ30,pt_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapHLTReferenceTrigger + } + hist h_eta_BootstrapHLT_L1_gJ30,eta_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapHLTReferenceTrigger + } + hist h_pt_BootstrapHLT_L1_gJ40,pt_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapHLTReferenceTrigger + } + hist h_eta_BootstrapHLT_L1_gJ40,eta_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapHLTReferenceTrigger + } + hist h_pt_BootstrapHLT_L1_gJ50,pt_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapHLTReferenceTrigger + } + hist h_eta_BootstrapHLT_L1_gJ50,eta_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapHLTReferenceTrigger + } + hist h_pt_BootstrapHLT_L1_gJ50p0ETA25,pt_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapHLTReferenceTrigger + } + hist h_eta_BootstrapHLT_L1_gJ50p0ETA25,eta_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapHLTReferenceTrigger + } + hist h_pt_BootstrapHLT_L1_gJ100,pt_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapHLTReferenceTrigger + } + hist h_eta_BootstrapHLT_L1_gJ100,eta_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapHLTReferenceTrigger + } + hist h_pt_BootstrapHLT_L1_gJ100p0ETA25,pt_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapHLTReferenceTrigger + } + hist h_eta_BootstrapHLT_L1_gJ100p0ETA25,eta_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapHLTReferenceTrigger + } + hist h_pt_BootstrapHLT_L1_gJ400p0ETA25,pt_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapHLTReferenceTrigger + } + hist h_eta_BootstrapHLT_L1_gJ400p0ETA25,eta_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapHLTReferenceTrigger + } + hist h_pt_BootstrapHLT_L1_gLJ80,pt_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapHLTReferenceTrigger + } + hist h_eta_BootstrapHLT_L1_gLJ80,eta_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapHLTReferenceTrigger + } + hist h_pt_BootstrapHLT_L1_gLJ100,pt_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapHLTReferenceTrigger + } + hist h_eta_BootstrapHLT_L1_gLJ100,eta_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapHLTReferenceTrigger + } + hist h_pt_BootstrapHLT_L1_gLJ140,pt_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapHLTReferenceTrigger + } + hist h_eta_BootstrapHLT_L1_gLJ140,eta_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapHLTReferenceTrigger + } + hist h_pt_BootstrapHLT_L1_gLJ140p0ETA25,pt_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapHLTReferenceTrigger + } + hist h_eta_BootstrapHLT_L1_gLJ140p0ETA25,eta_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapHLTReferenceTrigger + } + hist h_pt_BootstrapHLT_L1_jJ30,pt_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapHLTReferenceTrigger + } + hist h_eta_BootstrapHLT_L1_jJ30,eta_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapHLTReferenceTrigger + } + hist h_pt_BootstrapHLT_L1_jJ40,pt_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapHLTReferenceTrigger + } + hist h_eta_BootstrapHLT_L1_jJ40,eta_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapHLTReferenceTrigger + } + hist h_pt_BootstrapHLT_L1_jJ50,pt_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapHLTReferenceTrigger + } + hist h_eta_BootstrapHLT_L1_jJ50,eta_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapHLTReferenceTrigger + } + hist h_pt_BootstrapHLT_L1_jJ60,pt_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapHLTReferenceTrigger + } + hist h_eta_BootstrapHLT_L1_jJ60,eta_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapHLTReferenceTrigger + } + hist h_pt_BootstrapHLT_L1_jJ80,pt_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapHLTReferenceTrigger + } + hist h_eta_BootstrapHLT_L1_jJ80,eta_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapHLTReferenceTrigger + } + hist h_pt_BootstrapHLT_L1_jJ90,pt_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapHLTReferenceTrigger + } + hist h_eta_BootstrapHLT_L1_jJ90,eta_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapHLTReferenceTrigger + } + hist h_pt_BootstrapHLT_L1_jJ125,pt_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapHLTReferenceTrigger + } + hist h_eta_BootstrapHLT_L1_jJ125,eta_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapHLTReferenceTrigger + } + hist h_pt_BootstrapHLT_L1_jJ140,pt_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapHLTReferenceTrigger + } + hist h_eta_BootstrapHLT_L1_jJ140,eta_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapHLTReferenceTrigger + } + hist h_pt_BootstrapHLT_L1_jJ160,pt_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapHLTReferenceTrigger + } + hist h_eta_BootstrapHLT_L1_jJ160,eta_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapHLTReferenceTrigger + } + hist h_pt_BootstrapHLT_L1_jJ180,pt_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapHLTReferenceTrigger + } + hist h_eta_BootstrapHLT_L1_jJ180,eta_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapHLTReferenceTrigger + } + hist h_pt_BootstrapHLT_L1_SC111-CjJ40,pt_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapHLTReferenceTrigger + } + hist h_eta_BootstrapHLT_L1_SC111-CjJ40,eta_BootstrapHLT { + output = L1Calo/Developer/JetEfficiency/phase1/BootstrapHLTReferenceTrigger + } + } + } + } + dir EfexInputMonAlg { + hist h_summary { + output = L1Calo/Developer/EfexInputMonAlg + } + hist h_dataTowers_ecal { + output = L1Calo/Developer/EfexInputMonAlg + } + hist h_dataTowers_hcal { + output = L1Calo/Developer/EfexInputMonAlg + } + hist h_errors_entries { + output = L1Calo/Developer/EfexInputMonAlg + } + } + dir JfexInput { + hist h_jFEX_Errors { + output = L1Calo/Developer/JfexInput + } + hist h_summary { + output = L1Calo/Developer/JfexInput + } + dir expert { + hist h_SumSCell_vs_Data_Barrel { + output = L1Calo/Developer/JfexInput/expert + } + hist h_SumSCell_vs_Data_Tile { + output = L1Calo/Developer/JfexInput/expert + } + hist h_SumSCell_vs_Data_EMEC { + output = L1Calo/Developer/JfexInput/expert + } + hist h_SumSCell_vs_Data_HEC { + output = L1Calo/Developer/JfexInput/expert + } + hist h_SumSCell_vs_Data_FCAL1 { + output = L1Calo/Developer/JfexInput/expert + } + hist h_SumSCell_vs_Data_FCAL2 { + output = L1Calo/Developer/JfexInput/expert + } + hist h_SumSCell_vs_Data_FCAL3 { + output = L1Calo/Developer/JfexInput/expert + } + } + hist h_DataErrors { + output = L1Calo/Developer/JfexInput + } + hist h_2Dmap_InvalidCodes { + output = L1Calo/Developer/JfexInput + } + hist h_2Dmap_EmptyCodes { + output = L1Calo/Developer/JfexInput + } + hist h_2Dmap_MismatchedEts { + output = L1Calo/Developer/JfexInput + } + hist h_SumSCell_vs_Data_Mismatched { + output = L1Calo/Developer/JfexInput + } + hist h_SumSCell_vs_Data_all { + output = L1Calo/Developer/JfexInput + } + hist h_frac_SumSCell_vs_Data { + output = L1Calo/Developer/JfexInput + } + hist h_2Dmap_DataVsEmulated { + output = L1Calo/Developer/JfexInput + } + hist h_2Dmap_EmulatedVsDecorated { + output = L1Calo/Developer/JfexInput + } + dir Content { + hist h_nJfexTowers { + output = L1Calo/Developer/JfexInput/Content + } + hist h_TowerEta { + output = L1Calo/Developer/JfexInput/Content + } + hist h_TowerPhi { + output = L1Calo/Developer/JfexInput/Content + } + hist h_TowerEtaPhiMap { + output = L1Calo/Developer/JfexInput/Content + } + hist h_TowerGlobalEta { + output = L1Calo/Developer/JfexInput/Content + } + hist h_TowerGlobalPhi { + output = L1Calo/Developer/JfexInput/Content + } + hist h_TowerGlobalEtaPhiMap { + output = L1Calo/Developer/JfexInput/Content + } + hist h_TowerModule { + output = L1Calo/Developer/JfexInput/Content + } + hist h_TowerFpga { + output = L1Calo/Developer/JfexInput/Content + } + hist h_TowerChannel { + output = L1Calo/Developer/JfexInput/Content + } + hist h_TowerDataID { + output = L1Calo/Developer/JfexInput/Content + } + hist h_TowerSimulationID { + output = L1Calo/Developer/JfexInput/Content + } + hist h_TowerCalosource { + output = L1Calo/Developer/JfexInput/Content + } + hist h_TowerEtcount_barrel { + output = L1Calo/Developer/JfexInput/Content + } + hist h_TowerEtcount_tile { + output = L1Calo/Developer/JfexInput/Content + } + hist h_TowerEtcount_emec { + output = L1Calo/Developer/JfexInput/Content + } + hist h_TowerEtcount_hec { + output = L1Calo/Developer/JfexInput/Content + } + hist h_TowerEtcount_fcal1 { + output = L1Calo/Developer/JfexInput/Content + } + hist h_TowerEtcount_fcal2 { + output = L1Calo/Developer/JfexInput/Content + } + hist h_TowerEtcount_fcal3 { + output = L1Calo/Developer/JfexInput/Content + } + hist h_TowerSaturationflag { + output = L1Calo/Developer/JfexInput/Content + } + } + } + dir GfexInput { + hist h_nGfexTowers { + output = L1Calo/Developer/GfexInput + } + hist h_TowerEta { + output = L1Calo/Developer/GfexInput + } + hist h_TowerPhi { + output = L1Calo/Developer/GfexInput + } + hist h_TowerEtaPhiMap { + output = L1Calo/Developer/GfexInput + } + hist h_TowerEtaindex { + output = L1Calo/Developer/GfexInput + } + hist h_TowerPhiindex { + output = L1Calo/Developer/GfexInput + } + hist h_TowerEtaPhiMapindex { + output = L1Calo/Developer/GfexInput + } + hist h_TowerFpga { + output = L1Calo/Developer/GfexInput + } + hist h_TowerEt { + output = L1Calo/Developer/GfexInput + } + hist h_TowerSaturationflag { + output = L1Calo/Developer/GfexInput + } + } + } +} +#outputs +output top_level { + output L1Calo { + output Expert { + output Sim { + output detail { + } + } + } + output Shifter { + output Sim { + } + } + output Developer { + output EfexSimMonAlg { + } + output Efex { + output TOB { + output eEMLowPtCut { + } + output eTauLowPtCut { + } + output eEMHiPtCut { + } + output eTauHiPtCut { + } + } + output xTOB { + output eEMLowPtCut { + } + output eTauLowPtCut { + } + output eEMHiPtCut { + } + output eTauHiPtCut { + } + } + output TOBSim { + output eEMLowPtCut { + } + output eTauLowPtCut { + } + output eEMHiPtCut { + } + output eTauHiPtCut { + } + } + output xTOBSim { + output eEMLowPtCut { + } + output eTauLowPtCut { + } + output eEMHiPtCut { + } + output eTauHiPtCut { + } + } + } + output EfexMonAlg { + } + output Jfex { + output jJ { + } + output jLJ { + } + output jTau { + } + output jEM { + } + output jXE { + } + output jTE { + } + } + output JfexSimMonAlg { + } + output Gfex { + output gFexLRJets { + } + output gFexLRJets_CutPt0 { + } + output gFexLRJets_CutPt10 { + } + output gFexLRJets_CutPt50 { + } + output gFexLRJets_CutPt100 { + } + output gFexSRJets { + } + output gFexSRJets_CutPt0 { + } + output gFexSRJets_CutPt10 { + } + output gFexSRJets_CutPt50 { + } + output gFexSRJets_CutPt100 { + } + output gRHO { + } + output gXE { + } + output gTE { + } + output gMHT { + } + output gMST { + } + output gXE_NoiseCut { + } + output gXE_RMS { + } + output gTE_NoiseCut { + } + output gTE_RMS { + } + } + output GfexSimMonAlg { + } + output JetEfficiency { + output Distributions { + } + output legacy { + output MuonReferenceTrigger { + } + output RandomHLTReferenceTrigger { + } + output NoReferenceTrigger { + } + output BootstrapReferenceTrigger { + } + output BootstrapHLTReferenceTrigger { + } + } + output phase1 { + output MuonReferenceTrigger { + } + output RandomHLTReferenceTrigger { + } + output NoReferenceTrigger { + } + output BootstrapReferenceTrigger { + } + output BootstrapHLTReferenceTrigger { + } + } + } + output EfexInputMonAlg { + } + output JfexInput { + output expert { + } + output Content { + } + } + output GfexInput { + } + } + } } #algorithms @@ -8314,4 +10856,3 @@ thresholds th_AnyBinIsError { } } - diff --git a/Event/EventInfoMgt/CMakeLists.txt b/Event/EventInfoMgt/CMakeLists.txt index 0a94cf24741fd8ec136cb9fa181775fa883461d9..a4f514a5339a77530e16fd32efb97ffe587ef72b 100644 --- a/Event/EventInfoMgt/CMakeLists.txt +++ b/Event/EventInfoMgt/CMakeLists.txt @@ -16,7 +16,6 @@ atlas_add_component( EventInfoMgt # Install files from the package: atlas_install_python_modules( python/*.py POST_BUILD_CMD ${ATLAS_FLAKE8} ) -atlas_install_joboptions( share/EventInfoMgt_jobOptions.py share/AMITagFix.py ) atlas_add_test( TagInfoMgrCfg SCRIPT python -m EventInfoMgt.TagInfoMgrConfig diff --git a/Event/EventInfoMgt/share/AMITagFix.py b/Event/EventInfoMgt/share/AMITagFix.py deleted file mode 100644 index 4426686e0b9366744657db6f210bdd909a9eb768..0000000000000000000000000000000000000000 --- a/Event/EventInfoMgt/share/AMITagFix.py +++ /dev/null @@ -1,112 +0,0 @@ -# Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration -"""postInclude to fix AMITag for AOD outputs - -The input AMITag is contained in the name of the dataset holding the input -files and should also be in the AMITag attribute of the /TagInfo. At the time -of writing a bug was discovered in the in-file metadata propogation of the -AMITag. This script checks the AMITag from metadata against the one in the name -of in input dataset name. If there is a mismatch the AMITag from the input -dataset name is used to overwrite the value in the in-file metadata for the -output. - - Usage: - Reco_tf.py --postInclude a2da:EventInfoMgt/AMITagFix.py -""" -import os -import re -from PyUtils.MetaReaderPeeker import metadata -from AthenaCommon.Logging import logging -from AthenaCommon.AppMgr import ServiceMgr -from RecExConfig.RecFlags import rec - -log = logging.getLogger("AMITagFix") -amitagRegex = re.compile('^[a-z][0-9]+') - - -def TagsFromInputDataset(): - """Returns list of AMITags, e.g. ["e6337", "s3681", "r13145"] - - Looks for the INDS environmental variable to parse the AMITag from the - input dataset name. If this is not found just use what can be parsed from - the in-file metadata. - """ - # from INDS environmental variable - inputDataSetName = os.environ.get('INDS') - if inputDataSetName: - # try extracting the AMITag of the input dataset from its name - tags = inputDataSetName.split('.')[-1].split('_') - tags = [tag for tag in tags if amitagRegex.match(tag)] - log.debug('Built input AMITag from input dataset name: ', tags) - return tags - else: - log.debug("Not INDS environmental variable for reference") - return list() - - -def TagsFromMetadata(): - """Returns list of AMITags, e.g. ["e6337", "s3681", "r13145"] - - Looks up the AMITag from the /TagInfo in-file metadata. If this is the well - known string format, it is converted into a list for convenience. - """ - try: - tags = metadata['AMITag'] - if isinstance(tags, str): - tags = tags.split('_') - log.debug('Built input AMITag from in-file metadata: ', tags) - return tags - except KeyError: - log.warning("Cannot access /TagInfo/AMITag from in-file metadata") - except NameError: - log.warning("Cannot access in-file metadata") - return list() - - -def main(): - """Checks the input AMITags for consitency and sets output AMITag - - Retrieves the AMITag according to the input dataset name and the in-file - metadata. Checks for consistency and sets the AMITag for in-file metadata - of the output file. - """ - tags = TagsFromInputDataset() - tagsFromMeta = TagsFromMetadata() - - # tagsFromName will be empty if INDS is not set - if not tags or tags == tagsFromMeta: - # Either we do not have a reference or everything is OK - return - - log.info("Input AMITag mismatch, overwriting with dataset name") - - # add this workflow's AMITag - try: - if rec.AMITag() not in tags: - tags += [rec.AMITag()] - except NameError: - # No recflags to work with, try runArgs - try: - if runArgs.AMITag not in tags: - tags += runArgs.AMITag - except NameError: - log.info(("Failed to get workflow AMITag from arguments or " - "configuraiton flags")) - except KeyError: - log.info("No AMITag provided for this workflow step") - # If the flags or runArgs cannot be converted to a string - - try: - # strip things like "" or "NONE" - tags = [tag for tag in tags if amitagRegex.match(tag)] - amitag = '_'.join(tags) - ServiceMgr.TagInfoMgr.ExtraTagValuePairs.update( - {'AMITag': amitag}) - log.info("Output AMITag in in-file metadata set to {}".format(amitag)) - except NameError: - log.error("TagInfoMgr not available to set output AMITag") - except TypeError: - log.info("AMITags could not be converted to standard string") - - -# Do the work -main() diff --git a/Event/EventInfoMgt/share/EventInfoMgt_jobOptions.py b/Event/EventInfoMgt/share/EventInfoMgt_jobOptions.py deleted file mode 100755 index 0c13730d2384f2597a53ed94fa011b7cba204826..0000000000000000000000000000000000000000 --- a/Event/EventInfoMgt/share/EventInfoMgt_jobOptions.py +++ /dev/null @@ -1,13 +0,0 @@ -############################################################### -# -## @file EventInfoMgt_jobOptions.py -## @brief Job options file for EventInfoMgt component -# -# -############################################################### - -# block multiple inclusion -include.block ( "EventInfoMgt/EventInfoMgt_jobOptions.py" ) - -# Use configurables -import EventInfoMgt.EventInfoMgtInit diff --git a/ForwardDetectors/ZDC/ZDC_GeoM/src/ZDC_DetFactory.cxx b/ForwardDetectors/ZDC/ZDC_GeoM/src/ZDC_DetFactory.cxx index 44042be73d03086337215d04e0b70e1a07dc944b..f36d237a8d42b585a1bd52a3340f323c6e98d2a1 100644 --- a/ForwardDetectors/ZDC/ZDC_GeoM/src/ZDC_DetFactory.cxx +++ b/ForwardDetectors/ZDC/ZDC_GeoM/src/ZDC_DetFactory.cxx @@ -61,8 +61,8 @@ void ZDC_DetFactory::initializePbPb2015(){ {true, true, true, true}}; m_zdcPos = {{-397.0, -27.0, 153.0, 303.0}, //Positions of the ZDC modules {-397.0, -27.0, 153.0, 303.0}}; - m_zdcPixelStart_Stop = {{{1,8}, {0,9}, {0,0}, {0,0}}, //Pixel start and stop layers for each ZDC - {{0,0}, {0,9}, {0,0}, {0,0}}}; + m_zdcModType = {{3,2,1,1}, //Module types of the ZDC modules + {1,2,1,1}}; } void ZDC_DetFactory::initializePbPb2023(){ @@ -70,11 +70,11 @@ void ZDC_DetFactory::initializePbPb2023(){ m_BRANs_On = true; //Flag for both BRAN modules m_zdcOn = {{true, true, true, true}, //If the given ZDC is on {true, true, true, true}}; - m_zdcPos = {{-394.5, 38.5, 220.8, 375.8}, - {-325.5, 6.5, 188.8, 343.8}}; - m_zdcPixelStart_Stop = {{{1,8}, {0,9}, {0,0}, {0,0}}, //Pixel start and stop layers for each ZDC - {{0,0}, {0,9}, {0,0}, {0,0}}}; - m_rpdPos = {new GeoAlignableTransform(GeoTrf::Translate3D(-2.012 * Gaudi::Units::mm, 21.388 * Gaudi::Units::mm, -178.0 * Gaudi::Units::mm)), + m_zdcPos = {{-344, 52.15, 220.8, 375.8}, + {-325.5, 20.15, 188.8, 343.8}}; + m_zdcModType = {{3,2,1,1}, //Module types of the ZDC modules + {1,2,1,1}}; + m_rpdPos = {new GeoAlignableTransform(GeoTrf::Translate3D(2.012 * Gaudi::Units::mm, 21.388 * Gaudi::Units::mm, -178.0 * Gaudi::Units::mm)), new GeoAlignableTransform(GeoTrf::Translate3D(1.774 * Gaudi::Units::mm, 21.344 * Gaudi::Units::mm, -210.0 * Gaudi::Units::mm))}; m_branPos = {-89.5, -121.5}; } @@ -108,7 +108,7 @@ void ZDC_DetFactory::create(GeoPhysVol *world) **************************************************/ for(int module = 0; module < 4; ++module){ if(!m_zdcOn[side][module]) continue; - ZDC_ZDCModule *zdcMod = new ZDC_ZDCModule(m_detectorStore, sideSign ,module, m_zdcID, m_zdcPixelStart_Stop[side][module].first, m_zdcPixelStart_Stop[side][module].second); + ZDC_ZDCModule *zdcMod = new ZDC_ZDCModule(m_detectorStore, sideSign ,module, m_zdcID, m_zdcModType[side][module]); zdcMod->create(Envelope_Physical, new GeoAlignableTransform(GeoTrf::TranslateZ3D(m_zdcPos[side][module] * Gaudi::Units::mm))); } diff --git a/ForwardDetectors/ZDC/ZDC_GeoM/src/ZDC_DetFactory.h b/ForwardDetectors/ZDC/ZDC_GeoM/src/ZDC_DetFactory.h index c20aaa02f09c0ca4acba8eef3ced64b2d9f3c5ff..22d1f50cebf4ca2fc3106c4c5edea976dc4de04e 100644 --- a/ForwardDetectors/ZDC/ZDC_GeoM/src/ZDC_DetFactory.h +++ b/ForwardDetectors/ZDC/ZDC_GeoM/src/ZDC_DetFactory.h @@ -44,7 +44,7 @@ private: bool m_BRANs_On{}; //Flag for both BRAN modules std::vector< std::vector< bool > > m_zdcOn; std::vector< std::vector< float > > m_zdcPos; //Positions of the ZDC modules - std::vector< std::vector< std::pair<int,int> > > m_zdcPixelStart_Stop; //Start and stop layers of the pixels for a given ZDC module + std::vector< std::vector< int > > m_zdcModType; //Module types of the ZDC modules std::vector< GeoAlignableTransform* > m_rpdPos; //Positions of the RPD modules std::vector< float > m_branPos; //Positions of the BRAN modules }; diff --git a/ForwardDetectors/ZDC/ZDC_GeoM/src/ZDC_ZDCModule.cxx b/ForwardDetectors/ZDC/ZDC_GeoM/src/ZDC_ZDCModule.cxx index 1675a9ddfb0c0ce23db4794d58016454cad94b5c..9ca13e37135a463e1c1725edbc4128b54ef24852 100644 --- a/ForwardDetectors/ZDC/ZDC_GeoM/src/ZDC_ZDCModule.cxx +++ b/ForwardDetectors/ZDC/ZDC_GeoM/src/ZDC_ZDCModule.cxx @@ -26,23 +26,20 @@ ZDC_ZDCModule::ZDC_ZDCModule() : ZDC_ModuleBase(), - m_pixelStart(0), - m_pixelStop(0) + m_modType(1) { } -ZDC_ZDCModule::ZDC_ZDCModule(StoreGateSvc *detStore, int side, int module, const ZdcID *zdcID, int pixelStart, int pixelStop) +ZDC_ZDCModule::ZDC_ZDCModule(StoreGateSvc *detStore, int side, int module, const ZdcID *zdcID, int modType) : ZDC_ModuleBase(detStore, side, module, zdcID), - m_pixelStart(pixelStart), - m_pixelStop(pixelStop) + m_modType(modType) { } ZDC_ZDCModule::ZDC_ZDCModule(ZDC_ZDCModule *right, int side, int module) : ZDC_ModuleBase((ZDC_ModuleBase*)right, side, module) { - m_pixelStart = right->m_pixelStart; - m_pixelStop = right->m_pixelStop; + m_modType = right->m_modType; } @@ -57,10 +54,11 @@ void ZDC_ZDCModule::create(GeoFullPhysVol* mother, GeoAlignableTransform* trf){ return; } - const GeoMaterial *OpAir = materialManager->getMaterial("ZDC::opticalAir"); + const GeoMaterial *OpAir = materialManager->getMaterial("ZDC::opticalAir" ); const GeoMaterial *OpSilica = materialManager->getMaterial("ZDC::opticalSilica"); - const GeoMaterial *Tungsten = materialManager->getMaterial("ZDC::Tungsten"); - const GeoMaterial *Steel = materialManager->getMaterial("ZDC::Steel"); + const GeoMaterial *Silica = materialManager->getMaterial("std::Quartz" ); + const GeoMaterial *Tungsten = materialManager->getMaterial("ZDC::Tungsten" ); + const GeoMaterial *Steel = materialManager->getMaterial("ZDC::Steel" ); // geometric constants. All units are in millimeters unless otherwise specified. // All dimensions are gathered from technical drawings available at TODO: insert link to tech drawings @@ -76,94 +74,239 @@ void ZDC_ZDCModule::create(GeoFullPhysVol* mother, GeoAlignableTransform* trf){ const int nPixelHolesY = 16; // number of positions for pixel rods in y (May or may not contain a quartz rod) const float firstPixelX = -pixelPitch * (nPixelHolesX - 1) * 0.5; // Position of the outter most pixel placement in x const float firstPixelY = -pixelPitch * (nPixelHolesY - 1) * 0.5; // Position of the lowest pixel placement in y + - // These dimensions exist independent of the pixels + // These dimensions exist independent of the pixels (Though some still involve pixel dimensions for inter compatibility) const float radiator_gap_depth = 2.0; // Depth of the radiator gap - const int nRadGaps = 12; // number of tungsten plates + const int nRadGaps = 12; // number of radiator gaps const float strip_diameter = 1.5; // Diameter of the vertical quartz rods - const float absorber_width = 89.57; // Depth (z) of the tungsten modulecase + const float absorber_width = 89.57; // Width (x) of the tungsten absorber const float absorber_depth = 10.0; // Depth (z) of the tungsten absorber const float absorber_height = 180.0; // Height (y) of the tungsten absorber - const float wallThicknessFront = 8.0; // Depth (z) of the steel case wall closest to the IP - const float wallThicknessBack = 10.0; // Depth (z) of the steel case wall furthest from the IP - const float wallThicknessSide = 1.2; // Thickness of the side walls (x) of the module + const float wallThicknessFront = 10.0; // Depth (z) of the steel case wall closest to the IP + const float wallThicknessSide = 1.21; // Thickness of the side walls (x) of the module + const float floorThickness = 1.21; // Thickness of the bottom of the module const float zPitch = radiator_gap_depth + absorber_depth; // tungsten plate/quartz rod pitch in z const float strip_gap_center = pixelPitch - pixelGap; // Width of the center channels for quartz rods const float strip_gap_edge = (absorber_width - pixelPitch * (nPixelHolesX - 1) - pixelGap) * 0.5; // Width of the edge channels for quartz rods - const float module_depth = (nRadGaps - 1) * zPitch + radiator_gap_depth; // Depth (z) of the air cavity within the steel housing + const int nRods_center_gap = 6; // Number of rods in the center gaps + const int nRods_edge_gap = 5; // Number of rods in the edge gaps const float housing_width = absorber_width + 2 * wallThicknessSide; // Width (x) of the steel module case - const float housing_height = absorber_height + 5.0; // Height (y) of the steel module case - const float housing_depth = module_depth + wallThicknessFront + wallThicknessBack; // Depth (z) of the steel module case - const float zStartStrip = (-module_depth + radiator_gap_depth) * 0.5; // Location (z) of the first radiator - const float zStartW = zStartStrip + zPitch * 0.5; // Location (z) of the first tungsten plate - - GeoTube *Strip_Tube = new GeoTube(0.0 * Gaudi::Units::mm , strip_diameter * Gaudi::Units::mm * 0.5, absorber_height * Gaudi::Units::mm * 0.5); - GeoBox *Steel_Box = new GeoBox (housing_width * Gaudi::Units::mm * 0.5, housing_height * Gaudi::Units::mm * 0.5, housing_depth * Gaudi::Units::mm * 0.5); - GeoBox *Module_Box = new GeoBox (absorber_width * Gaudi::Units::mm * 0.5, absorber_height * Gaudi::Units::mm * 0.5, module_depth * Gaudi::Units::mm * 0.5); - GeoBox *W_Plate = new GeoBox (absorber_width * Gaudi::Units::mm * 0.5, absorber_height * Gaudi::Units::mm * 0.5, absorber_depth * Gaudi::Units::mm * 0.5); - GeoTube *Pixel_Tube_W = new GeoTube(0.0 * Gaudi::Units::mm , pixelRodDia * Gaudi::Units::mm * 0.5, absorber_depth * Gaudi::Units::mm * 0.5); - GeoTube *Pixel_Tube_Rad = new GeoTube(0.0 * Gaudi::Units::mm , pixelRodDia * Gaudi::Units::mm * 0.5, radiator_gap_depth * Gaudi::Units::mm * 0.5); - GeoTube *Pixel_Hole = new GeoTube(0.0 * Gaudi::Units::mm , pixelHoleDia * Gaudi::Units::mm * 0.5, absorber_depth * Gaudi::Units::mm * 0.5); - - GeoLogVol *Strip_Logical = new GeoLogVol("Strip_Logical" , Strip_Tube , OpSilica); - GeoLogVol *Steel_Logical = new GeoLogVol("Steel_Logical" , Steel_Box , Steel ); - GeoLogVol *Module_Logical = new GeoLogVol("Module_Logical" , Module_Box , OpAir ); - GeoLogVol *W_Plate_Logical = new GeoLogVol("W_Plate_Logical" , W_Plate , Tungsten); - GeoLogVol *Pixel_W_Logical = new GeoLogVol("Pixel_W_Logical" , Pixel_Tube_W , OpSilica); - GeoLogVol *Pixel_Rad_Logical = new GeoLogVol("Pixel_Rad_Logical" , Pixel_Tube_Rad, OpSilica); - GeoLogVol *Pixel_Hole_Logical = new GeoLogVol("Pixel_Hole_Logical", Pixel_Hole , OpAir ); + const float housing_height = absorber_height + floorThickness; // Height (y) of the steel module case + + + // These dimensions are for the default module type 1, but are modified by the presence of pixels + float zBackCavity = 0.0; // extra air cavity for pixel rods routing to the readout + float wallThicknessBack = 10.0; // Depth (z) of the steel case wall furthest from the IP + float rearCoverThickness = 0.0; // Thickness of additional rear cover for pixel modules + int pixelStart = 0, pixelStop = 0; // Start and stop rows for pixel rods + + //Set the dimensions for module type 2 or 3 + switch (m_modType){ + case 1: //type 1 (no pixel) + break; + case 2: //type 2 (pixel) + pixelStop = 9; + wallThicknessBack = 8.0; + rearCoverThickness = 1.21; + zBackCavity = 28; + break; + case 3: //type 3 (Bigger back cavity) + pixelStart = 1; + pixelStop = 8; + wallThicknessBack = 8.0; + rearCoverThickness = 1.21; + zBackCavity = 102; + break; + default: + LogStream << MSG::ERROR << "Invalid module type: " << m_modType << endmsg; + return; + } - char volName[256]; - int nPixelMods = 0; - if(m_pixelStop - m_pixelStart > 0) nPixelMods = 1; - if(m_pixelStop - m_pixelStart > 8) nPixelMods = 2; - // TODO: Try using ZdcId hashes for the GeoIdentifierTags + // Finally calculate the total module z depth + const float housing_depth = (nRadGaps - 1) * zPitch + radiator_gap_depth + wallThicknessFront + wallThicknessBack + zBackCavity + rearCoverThickness; + + /************************************************* + * Create the volumes that are used independent of + * module type + **************************************************/ + GeoTube *Strip_Tube = new GeoTube (0.0 * Gaudi::Units::mm , strip_diameter * Gaudi::Units::mm * 0.5, absorber_height * Gaudi::Units::mm * 0.5); + GeoBox *Steel_Box = new GeoBox (housing_width * Gaudi::Units::mm * 0.5, housing_height * Gaudi::Units::mm * 0.5, housing_depth * Gaudi::Units::mm * 0.5); + GeoBox *RadGap_Box = new GeoBox (absorber_width * Gaudi::Units::mm * 0.5, absorber_height * Gaudi::Units::mm * 0.5, radiator_gap_depth * Gaudi::Units::mm * 0.5); + GeoBox *Abs_Box = new GeoBox (absorber_width * Gaudi::Units::mm * 0.5, absorber_height * Gaudi::Units::mm * 0.5, absorber_depth * Gaudi::Units::mm * 0.5); + + GeoLogVol *Strip_Logical = new GeoLogVol("Strip_Logical" , Strip_Tube , OpSilica ); + GeoLogVol *Steel_Logical = new GeoLogVol("Steel_Logical" , Steel_Box , Steel ); + GeoLogVol *RadGap_Logical = new GeoLogVol("RadGap_Logical" , RadGap_Box , OpAir ); + GeoLogVol *Abs_Plate_Logical = new GeoLogVol("Abs_Plate_Logical" , Abs_Box , Tungsten ); - // Create the steel box (housing) and place air inside (module) - GeoFullPhysVol *Module_Physical = new GeoFullPhysVol(Module_Logical); - GeoFullPhysVol *Housing_Physical = new GeoFullPhysVol(Steel_Logical); + GeoFullPhysVol *Housing_Physical = new GeoFullPhysVol(Steel_Logical ); + GeoFullPhysVol *Abs_Plate = new GeoFullPhysVol(Abs_Plate_Logical); + GeoFullPhysVol *RadiatorGap = new GeoFullPhysVol(RadGap_Logical ); - //A surrogate ID to give the volumes a reference + // Surrogate ID and string to give the volumes dynamic references Identifier id; + char volName[256]; + + /************************************************* + * Pre-assemble tungsten plates, radiator gaps, and + * steel housing with pixel holes and rods if applicable + **************************************************/ + if(m_modType > 1){ + + // Z position of the inner wall that the pixel rods pass through + const float inner_wall_z = -0.5 * housing_depth + wallThicknessFront + (nRadGaps - 1) * zPitch + radiator_gap_depth + 0.5 * wallThicknessBack ; + + GeoTube *Pixel_Rod_Abs = new GeoTube ( 0.0 * Gaudi::Units::mm , pixelRodDia * Gaudi::Units::mm * 0.5 , absorber_depth * Gaudi::Units::mm * 0.5 ); + GeoTube *Pixel_Rod_Rad = new GeoTube ( 0.0 * Gaudi::Units::mm , pixelRodDia * Gaudi::Units::mm * 0.5 , radiator_gap_depth * Gaudi::Units::mm * 0.5 ); + GeoTube *Pixel_Rod_Housing = new GeoTube ( 0.0 * Gaudi::Units::mm , pixelRodDia * Gaudi::Units::mm * 0.5 , wallThicknessBack * Gaudi::Units::mm * 0.5 ); + GeoTube *Pixel_Hole_Abs = new GeoTube ( 0.0 * Gaudi::Units::mm , pixelHoleDia * Gaudi::Units::mm * 0.5 , absorber_depth * Gaudi::Units::mm * 0.5 ); + GeoTube *Pixel_Hole_Housing = new GeoTube ( 0.0 * Gaudi::Units::mm , pixelHoleDia * Gaudi::Units::mm * 0.5 , wallThicknessBack * Gaudi::Units::mm * 0.5 ); + GeoBox *Pixel_Routing_Box = new GeoBox (absorber_width * Gaudi::Units::mm* 0.5, absorber_height * Gaudi::Units::mm * 0.5 , zBackCavity * Gaudi::Units::mm * 0.5 ); + + GeoLogVol *Pixel_Abs_Logical = new GeoLogVol("Pixel_Abs_Logical" , Pixel_Rod_Abs , Silica ); + GeoLogVol *Pixel_Rad_Logical = new GeoLogVol("Pixel_Rad_Logical" , Pixel_Rod_Rad , Silica ); + GeoLogVol *Pixel_House_Logical = new GeoLogVol("Pixel_House_Logical" , Pixel_Rod_Housing , Silica ); + GeoLogVol *Pixel_Hole_Abs_Logical = new GeoLogVol("Pixel_Hole_Logical" , Pixel_Hole_Abs , OpAir ); + GeoLogVol *Pixel_Hole_House_Logical = new GeoLogVol("Pixel_Hole_House_Logical" , Pixel_Hole_Housing , OpAir ); + GeoLogVol *Pixel_Routing_Logical = new GeoLogVol("Pixel_Routing_Logical" , Pixel_Routing_Box , OpAir ); + + + /************************************************* + * Place the cavity the pixel rods are routed in + **************************************************/ + id = m_zdcID->channel_id(m_side,m_module,ZdcIDType::INACTIVE,ZdcIDVolChannel::AIR); + sprintf(volName, "ZDC::Pixel_Routing %s", id.getString().c_str()); + Housing_Physical->add(new GeoNameTag(volName)); + Housing_Physical->add(new GeoIdentifierTag(id.get_identifier32().get_compact())); + Housing_Physical->add(new GeoAlignableTransform(GeoTrf::Translate3D(0.0, 0.5 * floorThickness * Gaudi::Units::mm, (housing_depth * 0.5 - rearCoverThickness - zBackCavity * 0.5) * Gaudi::Units::mm))); + Housing_Physical->add(new GeoFullPhysVol(Pixel_Routing_Logical)); + + /************************************************* + * Make unpopulated and populated holes for the + * tungsten plates + **************************************************/ + GeoFullPhysVol *Pixel_Hole_Abs_Empty = new GeoFullPhysVol(Pixel_Hole_Abs_Logical); + + GeoFullPhysVol *Pixel_Hole_Abs_Filled = new GeoFullPhysVol(Pixel_Hole_Abs_Logical); + id = m_zdcID->channel_id(m_side,m_module,ZdcIDType::INACTIVE,ZdcIDVolChannel::PIXEL); + sprintf(volName, "ZDC::Pixel %s", id.getString().c_str()); + Pixel_Hole_Abs_Filled->add(new GeoNameTag(volName)); + Pixel_Hole_Abs_Filled->add(new GeoIdentifierTag(id.get_identifier32().get_compact())); + Pixel_Hole_Abs_Filled->add(new GeoFullPhysVol(Pixel_Abs_Logical)); + + /************************************************* + * Make unpopulated and populated holes for the + * inner wall + **************************************************/ + GeoFullPhysVol *Pixel_Hole_House_Empty = new GeoFullPhysVol(Pixel_Hole_House_Logical); + + GeoFullPhysVol *Pixel_Hole_House_Filled = new GeoFullPhysVol(Pixel_Hole_House_Logical); + id = m_zdcID->channel_id(m_side,m_module,ZdcIDType::INACTIVE,ZdcIDVolChannel::PIXEL); + sprintf(volName, "ZDC::Pixel %s", id.getString().c_str()); + Pixel_Hole_House_Filled->add(new GeoNameTag(volName)); + Pixel_Hole_House_Filled->add(new GeoIdentifierTag(id.get_identifier32().get_compact())); + Pixel_Hole_House_Filled->add(new GeoFullPhysVol(Pixel_House_Logical)); + + /************************************************* + * Make a pixel rod for the radiator gaps + **************************************************/ + GeoFullPhysVol *Pixel_Rad = new GeoFullPhysVol(Pixel_Rad_Logical); + + // Populate the absorber, air gaps, and inner housing with the pixel rods and holes + for (int rodChannel = 0; rodChannel < nPixelHolesX; ++rodChannel){ + float pixelX = firstPixelX + pixelPitch * rodChannel; - // Because there is a radiator gap at the front and back of the modules, there is one more gap than absorbers + for (int pixelLayer = 0; pixelLayer <= nPixelHolesY; ++pixelLayer){ + float pixelY = firstPixelY + pixelPitch * pixelLayer; + + if (pixelLayer >= pixelStart && pixelLayer <= pixelStop){//Populated holes + // Place pixel rods in the radiator gaps + id = m_zdcID->channel_id(m_side,m_module,ZdcIDType::INACTIVE,ZdcIDVolChannel::PIXEL); + sprintf(volName, "ZDC::Pixel_Rad %s", id.getString().c_str()); + RadiatorGap->add(new GeoNameTag(volName)); + RadiatorGap->add(new GeoIdentifierTag(id.get_identifier32().get_compact())); + RadiatorGap->add(new GeoAlignableTransform(GeoTrf::Translate3D(pixelX * Gaudi::Units::mm, pixelY * Gaudi::Units::mm, 0.0 * Gaudi::Units::mm))); + RadiatorGap->add(Pixel_Rad); + + // Place a pixel rod in the tungsten plate + sprintf(volName, "ZDC::Pixel_Abs %s", id.getString().c_str()); + Abs_Plate->add(new GeoNameTag(volName)); + Abs_Plate->add(new GeoIdentifierTag(id.get_identifier32().get_compact())); + Abs_Plate->add(new GeoAlignableTransform(GeoTrf::Translate3D(pixelX * Gaudi::Units::mm, pixelY * Gaudi::Units::mm, 0.0 * Gaudi::Units::mm))); + Abs_Plate->add(Pixel_Hole_Abs_Filled); + + // Place a pixel rod in the inner housing + id = m_zdcID->channel_id(m_side,m_module,ZdcIDType::INACTIVE,ZdcIDVolChannel::AIR); + sprintf(volName, "ZDC::Pixel_Housing %s", id.getString().c_str()); + Housing_Physical->add(new GeoNameTag(volName)); + Housing_Physical->add(new GeoIdentifierTag(id.get_identifier32().get_compact())); + Housing_Physical->add(new GeoAlignableTransform(GeoTrf::Translate3D(pixelX * Gaudi::Units::mm, 0.5 * floorThickness + pixelY * Gaudi::Units::mm, inner_wall_z * Gaudi::Units::mm))); + Housing_Physical->add(Pixel_Hole_House_Filled); + + }else{// Unpopulated holes + id = m_zdcID->channel_id(m_side,m_module,ZdcIDType::INACTIVE,ZdcIDVolChannel::AIR); + sprintf(volName, "ZDC::Pixel_Hole %s", id.getString().c_str()); + + // Place an unpopulated hole in the tungsten plate + Abs_Plate->add(new GeoNameTag(volName)); + Abs_Plate->add(new GeoIdentifierTag(id.get_identifier32().get_compact())); + Abs_Plate->add(new GeoAlignableTransform(GeoTrf::Translate3D(pixelX * Gaudi::Units::mm, pixelY * Gaudi::Units::mm, 0.0 * Gaudi::Units::mm))); + Abs_Plate->add(Pixel_Hole_Abs_Empty); + + // Place an unpopulated hole in the housing + Housing_Physical->add(new GeoNameTag(volName)); + Housing_Physical->add(new GeoIdentifierTag(id.get_identifier32().get_compact())); + Housing_Physical->add(new GeoAlignableTransform(GeoTrf::Translate3D(pixelX * Gaudi::Units::mm, 0.5 * floorThickness + pixelY * Gaudi::Units::mm, inner_wall_z * Gaudi::Units::mm))); + Housing_Physical->add(Pixel_Hole_House_Empty); + } + } // end loop over pixel y placement + }// end loop over pixel x placement + }// end if pixel module + + + + /************************************************* + * Place the pre-assembled tungsten plates and + * radiator gaps in the steel housing. Also, + * add the vertical quartz rods to the radiator gaps + **************************************************/ for (int radGap = 0; radGap < nRadGaps; ++radGap){ + float zRadGap = -housing_depth * 0.5 + wallThicknessFront + radiator_gap_depth * 0.5 + zPitch * radGap; + float zAbsorber = zRadGap + radiator_gap_depth * 0.5 + absorber_depth * 0.5; + /************************************************* * Place tungsten plates **************************************************/ - GeoFullPhysVol *W_Plate = 0; if (radGap != nRadGaps - 1){ // Don't place a tungsten plate after the last radiator gap id = m_zdcID->channel_id(m_side,m_module,ZdcIDType::INACTIVE,ZdcIDVolChannel::TUNGSTEN); sprintf(volName, "ZDC::W_Mod %s", id.getString().c_str()); - Module_Physical->add(new GeoNameTag(volName)); - Module_Physical->add(new GeoIdentifierTag(id.get_identifier32().get_compact())); - Module_Physical->add(new GeoAlignableTransform(GeoTrf::TranslateZ3D((zStartW + radGap * zPitch) * Gaudi::Units::mm))); - W_Plate = new GeoFullPhysVol(W_Plate_Logical); - Module_Physical->add(W_Plate); + Housing_Physical->add(new GeoNameTag(volName)); + Housing_Physical->add(new GeoIdentifierTag(id.get_identifier32().get_compact())); + Housing_Physical->add(new GeoAlignableTransform(GeoTrf::Translate3D(0.0, 0.5 * floorThickness * Gaudi::Units::mm, zAbsorber * Gaudi::Units::mm))); + Housing_Physical->add(Abs_Plate); } - // Make a few variables that will be used to place the rods in the next loop - float radGapz = zStartStrip + zPitch * radGap; - - // All pixel fibers go in the radiator gap and tungsten plates, except the last layer which goes in the steel housing - // If this isn't a pixel module, these variables just won't get used - GeoFullPhysVol *pixelsPlacedIn = (radGap != nRadGaps - 1) ? W_Plate : Housing_Physical; - float absPixelZ = (radGap != nRadGaps - 1) ? 0.0 : (wallThicknessBack - wallThicknessFront) + (module_depth + wallThicknessBack) * 0.5; + /************************************************* + * Place vertical quartz rods + **************************************************/ + + // Clone the air gap so we can place rods in the clone + // Unless it's the last volume, then we can just use the original + // so GeoModel can take ownership of it + GeoFullPhysVol *thisRadGap = (radGap == nRadGaps - 1) ? RadiatorGap : RadiatorGap->clone(false); for (int rodChannel = 0; rodChannel < nPixelHolesX + 1; ++rodChannel){ - /************************************************* - * Place vertical quartz rods - **************************************************/ - - int nRods = 6; + //Default values are for central gaps + int nRods = nRods_center_gap; float rodPitch = strip_gap_center / nRods; float startX = pixelPitch * (-(nPixelHolesX - 1) * 0.5 + rodChannel - 1) + (pixelGap + rodPitch) * 0.5; // Location of the first rod in this set // The first and last channels are smaller and contain one fewer rods if (rodChannel == 0 || rodChannel == nPixelHolesX){ // Making this a bit flexible in case I find the dimensions are different from the drawings - nRods = 5; + nRods = nRods_edge_gap; rodPitch = strip_gap_edge / nRods; // The first edge has unique placement, but the last one can use the normal method if (rodChannel == 0){ @@ -171,74 +314,27 @@ void ZDC_ZDCModule::create(GeoFullPhysVol* mother, GeoAlignableTransform* trf){ } } + id = m_zdcID->channel_id(m_side,m_module,ZdcIDType::ACTIVE, radGap*(nPixelHolesX+1) + rodChannel); + sprintf(volName, "ZDC::Strip %s", id.getString().c_str()); for (int rod = 0; rod < nRods; ++rod){ - id = m_zdcID->channel_id(m_side,m_module,ZdcIDType::ACTIVE, radGap*(nPixelHolesX+1) + rodChannel); - sprintf(volName, "ZDC::Strip %s", id.getString().c_str()); - Module_Physical->add(new GeoNameTag(volName)); - Module_Physical->add(new GeoIdentifierTag(id.get_identifier32().get_compact())); - Module_Physical->add(new GeoAlignableTransform(GeoTrf::Translate3D((startX + rod * rodPitch) * Gaudi::Units::mm, 0.0, radGapz * Gaudi::Units::mm))); - Module_Physical->add(new GeoAlignableTransform(GeoTrf::RotateX3D(90 * Gaudi::Units::deg))); - Module_Physical->add(new GeoFullPhysVol(Strip_Logical)); + thisRadGap->add(new GeoNameTag(volName)); + thisRadGap->add(new GeoIdentifierTag(id.get_identifier32().get_compact())); + thisRadGap->add(new GeoAlignableTransform(GeoTrf::TranslateX3D((startX + rod * rodPitch) * Gaudi::Units::mm))); + thisRadGap->add(new GeoAlignableTransform(GeoTrf::RotateX3D(90 * Gaudi::Units::deg))); + thisRadGap->add(new GeoFullPhysVol(Strip_Logical)); } // end vertical rod placement + } // end loop over rod channels - /************************************************* - * Place pixel rods (if needed) - **************************************************/ - int firstPixelLayer = 0; - int lastPixelLayer = 0; - float pixelX = firstPixelX + pixelPitch * rodChannel; - if (nPixelMods == 0 || rodChannel == nPixelHolesX){ // Don't place any pixel rods or holes - continue; - } - else if (nPixelMods == 1){ // Place pixel rods in layer 1-8, holes in the rest - firstPixelLayer = 1; - lastPixelLayer = 8; - } - else if (nPixelMods == 2){ // Place pixel rods in layer 0-9, holes in the rest - firstPixelLayer = 0; - lastPixelLayer = 9; - } - - for (int pixelLayer = 0; pixelLayer <= nPixelHolesY; ++pixelLayer){ - float pixelY = firstPixelY + pixelPitch * pixelLayer; - - if (pixelLayer >= firstPixelLayer && pixelLayer <= lastPixelLayer){ - // Place pixel rods in the radiator gaps - id = m_zdcID->channel_id(m_side,m_module,ZdcIDType::INACTIVE,ZdcIDVolChannel::PIXEL); - sprintf(volName, "ZDC::Pixel_Rad %s", id.getString().c_str()); - Module_Physical->add(new GeoNameTag(volName)); - Module_Physical->add(new GeoIdentifierTag(id.get_identifier32().get_compact())); - Module_Physical->add(new GeoAlignableTransform(GeoTrf::Translate3D(pixelX * Gaudi::Units::mm, pixelY * Gaudi::Units::mm, radGapz * Gaudi::Units::mm))); - Module_Physical->add(new GeoFullPhysVol(Pixel_Rad_Logical)); - - // Place a pixel rod in the absorber/housing - sprintf(volName, "ZDC::Pixel_Abs %s", id.getString().c_str()); - pixelsPlacedIn->add(new GeoNameTag(volName)); - pixelsPlacedIn->add(new GeoIdentifierTag(id.get_identifier32().get_compact())); - pixelsPlacedIn->add(new GeoAlignableTransform(GeoTrf::Translate3D(pixelX * Gaudi::Units::mm, pixelY * Gaudi::Units::mm, absPixelZ * Gaudi::Units::mm))); - pixelsPlacedIn->add(new GeoFullPhysVol(Pixel_W_Logical)); - } - else{ // Place a hole in the absorber/housing - id = m_zdcID->channel_id(m_side,m_module,ZdcIDType::INACTIVE,ZdcIDVolChannel::AIR); - sprintf(volName, "ZDC::Pixel_Hole %s", id.getString().c_str()); - pixelsPlacedIn->add(new GeoNameTag(volName)); - pixelsPlacedIn->add(new GeoIdentifierTag(id.get_identifier32().get_compact())); - pixelsPlacedIn->add(new GeoAlignableTransform(GeoTrf::Translate3D(pixelX * Gaudi::Units::mm, pixelY * Gaudi::Units::mm, absPixelZ * Gaudi::Units::mm))); - pixelsPlacedIn->add(new GeoFullPhysVol(Pixel_Hole_Logical)); - } - } // end loop over pixel y placement - } // end loop over pixel x placement - } // end loop over radiator gaps - - /************************************************* - * Place module in steel case - **************************************************/ - id = m_zdcID->channel_id(m_side,m_module,ZdcIDType::INACTIVE,ZdcIDVolChannel::AIR); - sprintf(volName, "ZDC::Air_Mod %s", id.getString().c_str()); - Housing_Physical->add(new GeoNameTag(volName)); - Housing_Physical->add(new GeoIdentifierTag(id.get_identifier32().get_compact())); - Housing_Physical->add(new GeoAlignableTransform(GeoTrf::TranslateZ3D((wallThicknessBack - wallThicknessFront) * Gaudi::Units::mm))); - Housing_Physical->add(Module_Physical); + /************************************************* + * Place the radiator gap + **************************************************/ + id = m_zdcID->channel_id(m_side,m_module,ZdcIDType::INACTIVE,ZdcIDVolChannel::AIR); + sprintf(volName, "ZDC::Rad_Gap %s", id.getString().c_str()); + Housing_Physical->add(new GeoNameTag(volName)); + Housing_Physical->add(new GeoIdentifierTag(id.get_identifier32().get_compact())); + Housing_Physical->add(new GeoAlignableTransform(GeoTrf::Translate3D(0.0, 0.5 * floorThickness * Gaudi::Units::mm, zRadGap * Gaudi::Units::mm))); + Housing_Physical->add(thisRadGap); + }// end loop over radiator gaps // Place the steel case in the mother volume id = m_zdcID->channel_id(m_side, m_module, ZdcIDType::INACTIVE,ZdcIDVolChannel::HOUSING); diff --git a/ForwardDetectors/ZDC/ZDC_GeoM/src/ZDC_ZDCModule.h b/ForwardDetectors/ZDC/ZDC_GeoM/src/ZDC_ZDCModule.h index 6f71c3b436e4e096dfab7a6b29b1110bac253521..09813d5571a8c9e3e6ab689df87c18912a1e43bd 100644 --- a/ForwardDetectors/ZDC/ZDC_GeoM/src/ZDC_ZDCModule.h +++ b/ForwardDetectors/ZDC/ZDC_GeoM/src/ZDC_ZDCModule.h @@ -10,7 +10,7 @@ class ZDC_ZDCModule : public ZDC_ModuleBase{ public: ZDC_ZDCModule(); - ZDC_ZDCModule(StoreGateSvc *detStore, int side, int module, const ZdcID *zdcID, int pixelStart, int pixelStop); + ZDC_ZDCModule(StoreGateSvc *detStore, int side, int module, const ZdcID *zdcID, int modType); ZDC_ZDCModule(ZDC_ZDCModule *right, int side, int module); virtual ~ZDC_ZDCModule() = default; @@ -18,8 +18,7 @@ class ZDC_ZDCModule : public ZDC_ModuleBase{ virtual void create(GeoFullPhysVol* mother, GeoAlignableTransform* trf) override; protected: - int m_pixelStart; - int m_pixelStop; + int m_modType; }; diff --git a/InnerDetector/InDetAlignAlgs/InDetAlignGenAlgs/example/idalconv2_jo.py b/InnerDetector/InDetAlignAlgs/InDetAlignGenAlgs/example/idalconv2_jo.py deleted file mode 100755 index cd11f6b88a304774c17e6bf3d0fce2e2ace2804f..0000000000000000000000000000000000000000 --- a/InnerDetector/InDetAlignAlgs/InDetAlignGenAlgs/example/idalconv2_jo.py +++ /dev/null @@ -1,88 +0,0 @@ -# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration - -# minimal test of CTB data migrated to COOL -# do not use this file -#use McEventSelector -theApp.setup( MONTECARLO ) -include( "AthenaPoolCnvSvc/AthenaPool_jobOptions.py" ) -include ( "IOVDbSvc/IOVDbSvc_jobOptions.py" ) -IOVDbSvc=Service("IOVDbSvc") - -PoolSvc = Service( "PoolSvc" ) -#PoolSvc.ReadCatalog+= [ "file:PoolFileCatalog.xml","file:poolcond/poolcond.xml"] -Service("PoolSvc").ReadCatalog= ["file:PoolFileCatalog.xml", - "xmlcatalog_http://atlas.web.cern.ch/Atlas/GROUPS/DATABASE/project/catrep/condcat.xml"] - -ctbcon="<dbConnection>impl=cool;techno=sqlite;schema=sqlite/TBMCPROD.db;X:TBMCPROD</dbConnection>" -IOVDbSvc.Folders+=[ ctbcon+" /Indet/Align"] - -include ( "RecAthenaPool/RecAthenaPool_joboptions.py" ) -include ( "DetDescrCondAthenaPool/DetDescrCondAthenaPool_joboptions.py" ) - -from AthenaCommon.GlobalFlags import GlobalFlags -GlobalFlags.DataSource.set_data() -GlobalFlags.InputFormat.set_bytestream() -GlobalFlags.DetGeo.set_ctbh8() - -include( "InDetTBRecExample/InDetTBFlags_jobOptions.py" ) -include("InDetTBRecExample/InDetTBSetFlags_jobOptions.py") -InDetTBFlags.TRT=False -include ("AtlasGeoModel/SetGeometryVersion.py") -include ("AtlasGeoModel/GeoModelInit.py") -GeoModelSvc.PixelTBDetectorTool.Alignable=TRUE -GeoModelSvc.SCT_TBDetectorTool.Alignable=TRUE -NovaCnvSvc.Host = "atlasdbdev.cern.ch" - -theApp.TopAlg += [ "InDetAlignNt" ] -theApp.Dlls += [ "InDetAlignGenAlgs","InDetAlignGenTools" ] -# set to 1 for TRT hits -InDetAlignNt = Service( "InDetAlignNt" ) -InDetAlignNt.TRT=1 -# set to true to read loaded alignment info from TDS -InDetAlignNt.ReadAl=True -InDetAlignNt.Truth=False -# enable this to get histograms of overlap residual distributions -InDetAlignNt.overlap=False -InDetAlignNt.OutputLevel=3 -InDetAlignNt.NumDeriv=0 - -# uses new Trk:Tracks (perhaps create with TrkLegacyCnvAlg) -InDetAlignNt.newtrk=False -#InDetAlignNt.newtrkcol="ConvertedXKalmanTracks" -InDetAlignNt.newtrkcol="ConvertedIPatTracks" -# this to make truth for xkalman tracks available -InDetTrackTruthMaker = Algorithm( "InDetTrackTruthMaker" ) -#InDetTrackTruthMaker.TrackName = "ConvertedXKalmanTracks" -InDetTrackTruthMaker.TrackName = "ConvertedIPatTracks" - - -# this for running with hbook ntuples -theApp.Dlls += [ "HbookCnv" ] -NtupleSvc = Service( "NtupleSvc" ) -NtupleSvc.Output = [ "FILE1 DATAFILE='idalign.hb' OPT='NEW'" ] -theApp.HistogramPersistency="HBOOK" -HbookHistSvc = Service ( "HbookHistSvc") -HbookHistSvc.NPAWC = 1500000 -HistogramPersistencySvc = Service( "HistogramPersistencySvc" ) -HistogramPersistencySvc.OutputFile = "ipathis.hbook" - -InDetAlignWrt = Service( "InDetAlignWrt" ) -theApp.TopAlg += [ "InDetAlignWrt" ] -InDetAlignWrt.WFile="migrate.check2" -InDetAlignWrt.RWNtuple=FALSE -InDetAlignWrt.Write=TRUE - - -EventSelector = Service( "EventSelector" ) -EventSelector.RunNumber = 2102355 -EventSelector.EventsPerRun = 1 -EventSelector.FirstEvent = 1 -EventSelector.InitialTimeStamp = 0 -EventSelector.TimeStampInterval = 5 -theApp.EvtMax = 1 - -IOVDbSvc.GlobalTag="nominal" -IOVDbSvc.OutputLevel=1 - -Service("IOVSvc").OutputLevel=1 - diff --git a/InnerDetector/InDetAlignAlgs/InDetAlignGenAlgs/example/idalconv_job b/InnerDetector/InDetAlignAlgs/InDetAlignGenAlgs/example/idalconv_job deleted file mode 100755 index 1489c0685573d0e14e098c2ac2d0dfe1a2ce8e8d..0000000000000000000000000000000000000000 --- a/InnerDetector/InDetAlignAlgs/InDetAlignGenAlgs/example/idalconv_job +++ /dev/null @@ -1,138 +0,0 @@ -#!/bin/ksh -# source this script not run -# source idalconv_job <run1> <evt1> <run2> <evt2> <tag> -# -# run athena job to migrate ID alignment data for given run range (a single IOV)# and tag from condDB lisbon to COOL -# currently setup for MC database transfer -RUN1=$1 -EVT1=$2 -RUN2=$3 -EVT2=$4 -TAG=$5 -echo Run idalconv for run $RUN1 event $EVT1 to run $RUN2 event $EVT2 tag $TAG -# -rm temp.py -cat > temp.py << EOF -#use McEventSelector -theApp.setup( MONTECARLO ) -include( "AthenaPoolCnvSvc/AthenaPool_jobOptions.py" ) -include ( "IOVDbSvc/IOVDbSvc_jobOptions.py" ) -IOVDbSvc=Service("IOVDbSvc") -#IOVDbSvc.dbConnection="impl=conddb;techno=mysql;atlobk02.cern.ch:conditions_ctb_2004:conditions:conditions" -#IOVDbSvc.dbConnection="impl=cool;techno=sqlite;schema=mysqlfile.db;X:TBPROD" -#password removed -IOVDbSvc.dbConnection="impl=cool;techno=oracle;schema=ATLAS_COOL_INDET;ATLAS_COOLPROD:TBMCPROD:ATLAS_COOL_INDET:xxxx" -PoolSvc = Service( "PoolSvc" ) -PoolSvc.ReadCatalog+= [ "file:PoolFileCatalog.xml","file:poolcond/poolcond.xml"] -PoolSvc.FileOpen="update" - -#ctbcon="<dbConnection>impl=conddb;techno=mysql;atlobk02.cern.ch:conditions_ctb_2004:conditions:conditions</dbConnection>" -ctbcon="<dbConnection>impl=conddb;techno=mysql;atlasdbdev.cern.ch:conditions_ctbsim_2004:rdrCnCTBsDB:</dbConnection>" -IOVDbSvc.Folders+=[ ctbcon+" /Indet/Align/ID"] -IOVDbSvc.Folders+=[ ctbcon+" /Indet/Align/PIX"] -IOVDbSvc.Folders+=[ ctbcon+" /Indet/Align/PIXB1"] -IOVDbSvc.Folders+=[ ctbcon+" /Indet/Align/PIXB2"] -IOVDbSvc.Folders+=[ ctbcon+" /Indet/Align/PIXB3"] -IOVDbSvc.Folders+=[ ctbcon+" /Indet/Align/SCT"] -IOVDbSvc.Folders+=[ ctbcon+" /Indet/Align/SCTB1"] -IOVDbSvc.Folders+=[ ctbcon+" /Indet/Align/SCTB2"] -IOVDbSvc.Folders+=[ ctbcon+" /Indet/Align/SCTB3"] -IOVDbSvc.Folders+=[ ctbcon+" /Indet/Align/SCTB4"] - -Service("ToolSvc").InDetAlignDBTool.newDB=False - -include ( "RecAthenaPool/RecAthenaPool_joboptions.py" ) -include ( "DetDescrCondAthenaPool/DetDescrCondAthenaPool_joboptions.py" ) - -from AthenaCommon.GlobalFlags import GlobalFlags -GlobalFlags.DataSource.set_data() -GlobalFlags.InputFormat.set_bytestream() -GlobalFlags.DetGeo.set_ctbh8() - -include( "InDetTBRecExample/InDetTBFlags_jobOptions.py" ) -include("InDetTBRecExample/InDetTBSetFlags_jobOptions.py") -InDetTBFlags.TRT=False -include ("AtlasGeoModel/SetGeometryVersion.py") -include ("AtlasGeoModel/GeoModelInit.py") -#include ("InDetTBRecExample/InDetTB2004DetDescr_jobOptions.py") -GeoModelSvc.PixelTBDetectorTool.Alignable=TRUE -GeoModelSvc.SCT_TBDetectorTool.Alignable=TRUE -NovaCnvSvc.Host = "atlasdbdev.cern.ch" - -theApp.TopAlg += [ "InDetAlignNt" ] -theApp.Dlls += [ "InDetAlignGenAlgs","InDetAlignGenTools" ] -# set to 1 for TRT hits -InDetAlignNt = Service( "InDetAlignNt" ) -InDetAlignNt.TRT=1 -# set to true to read loaded alignment info from TDS -InDetAlignNt.ReadAl=True -InDetAlignNt.Truth=False -# enable this to get histograms of overlap residual distributions -InDetAlignNt.overlap=False -InDetAlignNt.OutputLevel=3 -InDetAlignNt.NumDeriv=0 - -# uses new Trk:Tracks (perhaps create with TrkLegacyCnvAlg) -InDetAlignNt.newtrk=False -#InDetAlignNt.newtrkcol="ConvertedXKalmanTracks" -InDetAlignNt.newtrkcol="ConvertedIPatTracks" -# this to make truth for xkalman tracks available -InDetTrackTruthMaker = Algorithm( "InDetTrackTruthMaker" ) -#InDetTrackTruthMaker.TrackName = "ConvertedXKalmanTracks" -InDetTrackTruthMaker.TrackName = "ConvertedIPatTracks" - - -# this for running with hbook ntuples -theApp.Dlls += [ "HbookCnv" ] -NtupleSvc = Service( "NtupleSvc" ) -NtupleSvc.Output = [ "FILE1 DATAFILE='idalign.hb' OPT='NEW'" ] -theApp.HistogramPersistency="HBOOK" -HbookHistSvc = Service ( "HbookHistSvc") -HbookHistSvc.NPAWC = 1500000 -HistogramPersistencySvc = Service( "HistogramPersistencySvc" ) -HistogramPersistencySvc.OutputFile = "ipathis.hbook" - -include( "RegistrationServices/IOVRegistrationSvc_jobOptions.py" ) -regSvc = Service( "IOVRegistrationSvc" ) -regSvc.RecreateFolders = False -ToolSvc=Service("ToolSvc") -ToolSvc.CondStream1.OutputFile="alignobjs2.root" -ToolSvc.CondStream1.OutputLevel=1 - - -InDetAlignWrt = Service( "InDetAlignWrt" ) -theApp.TopAlg += [ "InDetAlignWrt" ] - -InDetAlignWrt.create=FALSE -InDetAlignWrt.write=FALSE -InDetAlignWrt.migrate=TRUE -# hardwired name for migration InDetALignDBTool instance -ToolSvc.InDetAlignMigrate.newDB=True -# set to false to only write objects, not register in IOV database -InDetAlignWrt.WriteIOV=TRUE -# set these to record a specific IOV, otherwise valid for all times -InDetAlignWrt.ValidRun1=$RUN1 -InDetAlignWrt.ValidRun2=$RUN2 -InDetAlignWrt.ValidEvent1=$EVT1 -InDetAlignWrt.ValidEvent2=$EVT2 -# set this to write data with a specific tag (otherwise HEAD tag) -InDetAlignWrt.IOVTag="$TAG" - - -EventSelector = Service( "EventSelector" ) -EventSelector.RunNumber = $RUN1 -EventSelector.EventsPerRun = 1 -EventSelector.FirstEvent = 1 -EventSelector.InitialTimeStamp = 0 -EventSelector.TimeStampInterval = 5 -theApp.EvtMax = 1 - -IOVDbSvc.GlobalTag="$TAG" -IOVDbSvc.OutputLevel=3 -EOF -athena.py temp.py -echo Done for run $RUN1 tag $TAG -ls -l alignobjs.root migrate.dat migrate.check -cat migrate.check - - diff --git a/InnerDetector/InDetCalibAlgs/PixelCalibAlgs/ChargeCalibration/pixel/MakeReferenceFile.cxx b/InnerDetector/InDetCalibAlgs/PixelCalibAlgs/ChargeCalibration/pixel/MakeReferenceFile.cxx index 29145be9735be41f1a668a090e7d87ad1b05a926..7d284790c4cb0266b8e43731a9118d146f689bc6 100644 --- a/InnerDetector/InDetCalibAlgs/PixelCalibAlgs/ChargeCalibration/pixel/MakeReferenceFile.cxx +++ b/InnerDetector/InDetCalibAlgs/PixelCalibAlgs/ChargeCalibration/pixel/MakeReferenceFile.cxx @@ -36,6 +36,8 @@ ATLAS_NO_CHECK_FILE_THREAD_SAFETY; #endif +using iovNamePair= std::pair<std::string, std::string >; + class DbConnection { public: @@ -294,26 +296,36 @@ int main(int argc, char *argv[]) bool useLastIOV = true; cool::IObjectIteratorPtr objectsIterator = f.objectIterator(useLastIOV); // True to use the last IOV - std::vector<std::string> myIOVs; + std::vector< iovNamePair > myIOVs; while (objectsIterator->goToNext()) { const cool::IObject &thisObject = objectsIterator->currentRef(); + std::size_t posPar = iovToString(thisObject).find("]"); + std::size_t posCom = iovToString(thisObject).find(","); + std::string name = iovToString(thisObject).substr(1,posPar-1).replace(posCom-1,1,"_"); std::string display = iovToString(thisObject) + " (" + std::to_string(thisObject.channelId()) + ")\n"; display += payloadToString(thisObject); - myIOVs.push_back(display); + myIOVs.push_back(std::make_pair(name,display)); } - const std::string fileName = tagName + ".log"; - std::ofstream opFile(fileName); if(!useLastIOV){ - // Saving in file the previous to last IOV - testing only so far. - opFile << myIOVs.at(myIOVs.size()-2); + // Saving all the IOVs in different files, just used for experts - Evolution monitoring + for(const auto & [IOVname,iov]:myIOVs){ + std::cout<<IOVname<<"\n"; + const std::string filename= IOVname +"_"+tagName+".log"; + std::ofstream opFile(filename); + opFile <<iov<<"\n"; + opFile.close(); + } } - else{ - opFile << myIOVs.back(); + else{ + const std::string fileName = tagName + ".log"; + std::ofstream opFile(fileName); + opFile << myIOVs.back().second << "\n"; + opFile << std::endl; + opFile.close(); } - opFile << std::endl; - opFile.close(); + return returnCode; } \ No newline at end of file diff --git a/InnerDetector/InDetCalibAlgs/PixelCalibAlgs/ChargeCalibration/pixel/python/CheckValues.py b/InnerDetector/InDetCalibAlgs/PixelCalibAlgs/ChargeCalibration/pixel/python/CheckValues.py new file mode 100644 index 0000000000000000000000000000000000000000..9818015989b9b9b08fa2334bfb731b34c0e8b480 --- /dev/null +++ b/InnerDetector/InDetCalibAlgs/PixelCalibAlgs/ChargeCalibration/pixel/python/CheckValues.py @@ -0,0 +1,143 @@ +# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration + +from PixelCalibAlgs.Recovery import ReadDbFile +from PixelCalibAlgs.EvoMonitoring import ReadCSV +from matplotlib.backends.backend_agg import FigureCanvasAgg +from matplotlib.figure import Figure +import numpy as np + + +def CalculateTOT(Q,params): + num = params[1] + Q + den = params[2] + Q + if den == 0: + return 0 + return params[0]*(num/den) + +def CheckThresholds(calib): + + import os + os.makedirs("plots/values", exist_ok=True) + + mapping = ReadCSV() + + expectedTOTint = { "Blayer": {"normal":[],"long":[],"ganged":[]}, + "L1" : {"normal":[],"long":[],"ganged":[]}, + "L2" : {"normal":[],"long":[],"ganged":[]}, + "Disk" : {"normal":[],"long":[],"ganged":[]}} + CalibThreshold = { "Blayer": {"normal":[],"long":[],"ganged":[]}, + "L1" : {"normal":[],"long":[],"ganged":[]}, + "L2" : {"normal":[],"long":[],"ganged":[]}, + "Disk" : {"normal":[],"long":[],"ganged":[]}} + CalibRMS = { "Blayer": {"normal":[],"long":[],"ganged":[]}, + "L1" : {"normal":[],"long":[],"ganged":[]}, + "L2" : {"normal":[],"long":[],"ganged":[]}, + "Disk" : {"normal":[],"long":[],"ganged":[]}} + CalibNoise = { "Blayer": {"normal":[],"long":[],"ganged":[]}, + "L1" : {"normal":[],"long":[],"ganged":[]}, + "L2" : {"normal":[],"long":[],"ganged":[]}, + "Disk" : {"normal":[],"long":[],"ganged":[]}} + CalibIntime = { "Blayer": {"normal":[],"long":[],"ganged":[]}, + "L1" : {"normal":[],"long":[],"ganged":[]}, + "L2" : {"normal":[],"long":[],"ganged":[]}, + "Disk" : {"normal":[],"long":[],"ganged":[]}} + + + for mod, FEs in calib.items(): + mod_name = mapping[str(mod)] + mod_layer = "" + if mod_name.startswith("L0"): + mod_layer = "Blayer" + elif mod_name.startswith("L1"): + mod_layer = "L1" + elif mod_name.startswith("L2"): + mod_layer = "L2" + elif mod_name.startswith("D"): + mod_layer = "Disk" + else: + mod_layer = "IBL" + continue + if mod_name.startswith("LI_S15"): + continue + + for fe in FEs: + totint_nor = CalculateTOT(fe[3],fe[12:15]) + totint_lon = CalculateTOT(fe[7],fe[15:18]) + totint_gan = CalculateTOT(fe[11],fe[15:18]) + + expectedTOTint[mod_layer]["normal"].append(totint_nor) + expectedTOTint[mod_layer]["long"].append(totint_lon) + expectedTOTint[mod_layer]["ganged"].append(totint_gan) + + CalibThreshold[mod_layer]["normal"].append(fe[0]) + CalibThreshold[mod_layer]["long"].append(fe[4]) + CalibThreshold[mod_layer]["ganged"].append(fe[8]) + + CalibRMS[mod_layer]["normal"].append(fe[1]) + CalibRMS[mod_layer]["long"].append(fe[5]) + CalibRMS[mod_layer]["ganged"].append(fe[9]) + + CalibNoise[mod_layer]["normal"].append(fe[2]) + CalibNoise[mod_layer]["long"].append(fe[6]) + CalibNoise[mod_layer]["ganged"].append(fe[10]) + + CalibIntime[mod_layer]["normal"].append(fe[3]) + CalibIntime[mod_layer]["long"].append(fe[7]) + CalibIntime[mod_layer]["ganged"].append(fe[11]) + + + + print("\n Threshold values validation:") + print("-"*40) + for i in ["Blayer","L1","L2","Disk"]: + + for j in CalibThreshold[i]: + ValThreshold(i,j,CalibThreshold[i][j]) + figur(i,expectedTOTint, "ToT for intime threshold", "totIntime_"+i+".png") + figur(i,CalibThreshold, "Threshold","CalibThreshold_"+i+".png") + figur(i,CalibRMS , "RMS" ,"CalibRMS_"+i+".png") + figur(i,CalibNoise , "Noise" ,"CalibNoise_"+i+".png") + figur(i,CalibIntime , "Intime" ,"CalibIntime_"+i+".png") + + print("-"*40,"\n") + +def ValThreshold (layer, pix, list): + + # Those values are coming from online crew - Analog thresholds + # https://twiki.cern.ch/twiki/bin/viewauth/Atlas/PixelConditionsRUN3 + realThresholds = { "Blayer": 4700 , "L1": 4300, "L2": 4300, "Disk": 4300} + + listavg = np.average(list) + dev = (realThresholds[layer]-listavg)/listavg*100 + status = "OK" + + # If it deviates more than 1% + if dev > 1: + status = "NEEDS CHECKING!!!" + + print("%-25s: %6.1fe (exp.: %4ue), dev.: %6.2f%% - status (<1%%): %s" % (layer+" avg. thr. ["+pix+"]", listavg, realThresholds[layer], dev, status)) + +def figur(title,hist,xlabel,namef): + fig = Figure(figsize=(13,10)) + fig.suptitle(title) + plot(fig.add_subplot(2,3,1),hist[title]["normal"], xlabel+" - normal") + plot(fig.add_subplot(2,3,2),hist[title]["long"] , xlabel+" - long") + plot(fig.add_subplot(2,3,3),hist[title]["ganged"], xlabel+" - ganged") + plot(fig.add_subplot(2,3,4),hist[title]["normal"], xlabel+" - normal" ,True) + plot(fig.add_subplot(2,3,5),hist[title]["long"] , xlabel+" - long" ,True) + plot(fig.add_subplot(2,3,6),hist[title]["ganged"], xlabel+" - ganged" ,True) + FigureCanvasAgg(fig).print_figure("plots/values/"+namef, dpi=150) + +def plot(axs,arr, xlabel, islog = False): + axs.hist(arr, bins=60) + axs.set_xlabel(xlabel) + if islog: + axs.set_yscale("log") + axs.set_ylabel("Counts [log scale]" if islog else "Counts") + + +if __name__ == "__main__": + + # Used for testing and checking performance + old_calib, old_iov = ReadDbFile("PixelChargeCalibration-DATA-RUN2-UPD4-26.log") + CheckThresholds(old_calib) \ No newline at end of file diff --git a/InnerDetector/InDetCalibAlgs/PixelCalibAlgs/ChargeCalibration/pixel/python/EvoMonitoring.py b/InnerDetector/InDetCalibAlgs/PixelCalibAlgs/ChargeCalibration/pixel/python/EvoMonitoring.py index 2ba9b07cba717623482b0ed86805be107800f1d0..b16b070641a1a773b033321d34c06141fefd9cbf 100644 --- a/InnerDetector/InDetCalibAlgs/PixelCalibAlgs/ChargeCalibration/pixel/python/EvoMonitoring.py +++ b/InnerDetector/InDetCalibAlgs/PixelCalibAlgs/ChargeCalibration/pixel/python/EvoMonitoring.py @@ -1,6 +1,6 @@ # Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration # -# This script is used to make plots comparing the lastes IOV in the DB with the new calibration. +# This script is used to make plots comparing the latest IOV in the DB with the new calibration. # In order to run it standalone you need to setup Athena and call setupRunning(path_newCalib, path_oldCalib) # oldCalib file has the structure of the Recobery.py (after running the calibration) # newCalib file has the structure of the MakeReferenceFile (It is on IOV from the central DB) @@ -14,8 +14,15 @@ from matplotlib.backends.backend_agg import FigureCanvasAgg from matplotlib.figure import Figure -def arrayCharge(parameters): - m_array = [charge(parameters, 5*(1+i)) for i in range(10)] +def arrayCharge(parameters, layer): + + if layer == "Blayer": + # Range [3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42] (includes the ToT tuning point: 18) + m_array = [charge(parameters, 3*(1+i)) for i in range(14)] + else: + # Range [5, 10, 15, 20, 25, 30, 35, 40, 45, 50] (includes the ToT tuning point: 30) + m_array = [charge(parameters, 5*(1+i)) for i in range(8)] + return ar.array('d',m_array) def charge(parameters, tot): @@ -25,13 +32,38 @@ def charge(parameters, tot): def percent( a,b): return a/(a+b)*100 if (a+b) != 0 else 999.99 + + +def failsCheckTuning(parameters, layer): + tot = 30 + error = 5 # percentage + expected_charge = 20000 # electrons + + if layer == "Blayer": + tot = 18 + + if layer == "IBL": + tot = 10 + expected_charge = 16000 # electrons + + if abs(parameters[9]-expected_charge)/expected_charge*100 > 5: + return True, [parameters[9], abs(parameters[9]-expected_charge)/expected_charge*100, expected_charge] + return False, [0,0,0] + + low = expected_charge*(1-error/100) + high = expected_charge*(1+error/100) + realQ = charge(parameters, tot) + + if realQ < low or realQ > high: + return True, [charge(parameters, tot), abs(charge(parameters, tot)-expected_charge)/expected_charge*100,expected_charge] + return False, [0,0,0] def EvoMon(old_calib, new_calib, mapping, old_iov, new_iov): save = 1 log_info = {} - plot_range = [0,75000] + plot_range = np.array([0,75000]) slopes = [] information = {"Total_mods": 0, @@ -53,12 +85,16 @@ def EvoMon(old_calib, new_calib, mapping, old_iov, new_iov): mod_layer = "Blayer" elif mod_str.startswith("L1"): mod_layer = "L1" + continue elif mod_str.startswith("L2"): mod_layer = "L2" + continue elif mod_str.startswith("D"): mod_layer = "Disk" + continue else: mod_layer = "IBL" + continue if mod_str.startswith("LI_S15"): continue @@ -71,33 +107,49 @@ def EvoMon(old_calib, new_calib, mapping, old_iov, new_iov): information["Total_FE"] += 1 newQ = [] oldQ = [] + boolTOT = False + realQ = [] if mod_layer != "IBL": newCal_normal_pix = new_calib[str(mod)][fe][12:15] oldCal_normal_pix = old_calib[str(mod)][fe][12:15] + boolTOT, realQ = failsCheckTuning(newCal_normal_pix, mod_layer) - # We just fet the first point since we loose linearity afetrwards - newQ = arrayCharge(newCal_normal_pix)[:8] - oldQ = arrayCharge(oldCal_normal_pix)[:8] + # We just fet the first point since we loose linearity afterwards + newQ = arrayCharge(newCal_normal_pix,mod_layer) + oldQ = arrayCharge(oldCal_normal_pix,mod_layer) else: # For IBL we dont need to convert TOT into charge, DB already in charge newQ = new_calib[str(mod)][fe][4:20] oldQ = old_calib[str(mod)][fe][4:20] - plot_range = [0,35000] - - + plot_range = np.array([0,35000]) + boolTOT, realQ = failsCheckTuning(newQ, mod_layer) + m,b = np.polyfit(newQ ,oldQ,1) slopes.append(m) + boolFit = (abs((1-m)/m)*100) > 5 - if (abs((1-m)/m)*100) > 5: + if boolFit or boolTOT: key = "%-18s - %i" % (mod_str, mod) - if key not in log_info: - log_info[key] = "\tFE%02i ---> slope: %5.2f - deviation: %5.1f%%\n" % (fe,m, abs((1-m)/m)*100) - else: - log_info[key] += "\tFE%02i ---> slope: %5.2f - deviation: %5.1f%%\n" % (fe,m, abs((1-m)/m)*100) + if boolFit: + if key not in log_info: + log_info[key] = "\tFE%02i ---> slope: %5.2f - dev: %5.1f%%\n" % (fe,m, abs((1-m)/m)*100) + else: + log_info[key] += "\tFE%02i ---> slope: %5.2f - dev: %5.1f%%\n" % (fe,m, abs((1-m)/m)*100) + if boolTOT: + if key not in log_info: + log_info[key] = "\tFE%02i ---> Charge= %5ie (dev %6.2f%%) out of error bars. Expected: %5ie\n" % (fe, realQ[0], realQ[1], realQ[2]) + else: + log_info[key] += "\tFE%02i ---> Charge= %5ie (dev %6.2f%%) out of error bars. Expected: %5ie\n" % (fe, realQ[0], realQ[1], realQ[2]) information[mod_layer]["bad"] += 1 - status = "_BAD" + status = "_BAD" + if boolTOT: + # Fails charge tuning + status += "_Q" + if boolFit: + # Fails the slope at y = x (old vs. new calib) + status += "_Slope" else: information[mod_layer]["ok"] += 1 status = "_OK" @@ -129,14 +181,13 @@ def EvoMon(old_calib, new_calib, mapping, old_iov, new_iov): storage = "plots/" + mod_layer + "/" canvas = FigureCanvasAgg(fig) - canvas.print_figure(storage+mod_str+"_id"+str(mod)+status+".png", dpi=150) + canvas.print_figure(storage+"Id"+str(mod)+ "_" +mod_str+status+".png", dpi=150) if(save): fig = Figure(figsize=(13,10)) fig.suptitle("All modules") axs = fig.add_subplot(1,1,1) axs.hist(np.clip(slopes, -1, 1.49), bins=100) - axs.set_yscale("log") axs.set_xlabel("Fit slope") axs.set_ylabel("Counts") FigureCanvasAgg(fig).print_figure("plots/slopes.png", dpi=150) @@ -161,6 +212,10 @@ def EvoMon(old_calib, new_calib, mapping, old_iov, new_iov): print("+"*20+" List of bad FE "+"+"*20 ) + print("Expected TOT vs. charge for the different layers:") + print("%-10s: TOT@%2i = %2ike" % ("IBL" , 10, 16)) + print("%-10s: TOT@%2i = %2ike" % ("Blayer" , 18, 20)) + print("%-10s: TOT@%2i = %2ike\n" % ("L1/L2/Disk", 30, 20)) for key, val in log_info.items(): print(key) print(val) @@ -224,8 +279,8 @@ if __name__ == "__main__": description="""Compares two IOV and plots the results.\n\n Example: python -m PixelCalibAlgs.EvoMonitoring --new "path/to/file" --old "path/to/file" """) - parser.add_argument('--new', required=True, default="FINAL_calibration_candidate.txt", help="New calibration file (output format from the Recovery.py)") - parser.add_argument('--old', required=True, default="PixelChargeCalibration-DATA-RUN2-UPD4-26.log", help="Old DB IOV calibration") + parser.add_argument('--new', default="FINAL_calibration_candidate.txt", help="New calibration file (output format from the Recovery.py)") + parser.add_argument('--old', default="PixelChargeCalibration-DATA-RUN2-UPD4-26.log", help="Old DB IOV calibration") args = parser.parse_args() setupRunEvo(args.new, args.old) diff --git a/InnerDetector/InDetCalibAlgs/PixelCalibAlgs/ChargeCalibration/pixel/python/Recovery.py b/InnerDetector/InDetCalibAlgs/PixelCalibAlgs/ChargeCalibration/pixel/python/Recovery.py index b0316bcc268eec0c9879a7fdec452181ea4ce857..f96cb368013162dd6230255a3b8dbf2545e80659 100644 --- a/InnerDetector/InDetCalibAlgs/PixelCalibAlgs/ChargeCalibration/pixel/python/Recovery.py +++ b/InnerDetector/InDetCalibAlgs/PixelCalibAlgs/ChargeCalibration/pixel/python/Recovery.py @@ -164,6 +164,10 @@ def recover_empties(new_calib, ref_calib): def UpdateAndSave(new_calib, ref_calib): + # Validation for the new calibration (checks the threshold, RMS, Noise and Intime thresholds) + from PixelCalibAlgs.CheckValues import CheckThresholds + CheckThresholds(new_calib) + # Making a copy of the reference calibration updated_calib = ref_calib.copy() @@ -207,8 +211,10 @@ def UpdateCalib(tag): new_calib, read_report = ReadNewCalib("calibration_merged.txt") # modifying the new_calib dictionary in order to recover the empty FE + print("Recovering missing information..") report, counter_report = recover_empties(new_calib,ref_calib) + print("Validating and updating reference calibration.. ") UpdateAndSave(new_calib,ref_calib) f = open("log_recovery.txt", "w") diff --git a/InnerDetector/InDetCalibAlgs/PixelCalibAlgs/ChargeCalibration/pixel/tools/Calib.cxx b/InnerDetector/InDetCalibAlgs/PixelCalibAlgs/ChargeCalibration/pixel/tools/Calib.cxx index 631415b04d5d01ee83aac79bbaff81b1c5c01f70..9b8533a4a2ea5050ab0831d7e34abcf47294f869 100644 --- a/InnerDetector/InDetCalibAlgs/PixelCalibAlgs/ChargeCalibration/pixel/tools/Calib.cxx +++ b/InnerDetector/InDetCalibAlgs/PixelCalibAlgs/ChargeCalibration/pixel/tools/Calib.cxx @@ -588,11 +588,11 @@ bool Calib::fillThresholds(const pix::PixelMapping &pm, const std::string &inThr continue; } + // pixel discriminator threshold std::unique_ptr<TH2F> h2dThr(get2DHistogramFromPath(rodDir,modName, "SCURVE_MEAN")); h2dThr->SetDirectory(0); - - // Gettting histogram for noise + // Getting histogram for noise std::unique_ptr<TH2F>h2dSig(get2DHistogramFromPath(rodDir,modName, "SCURVE_SIGMA")); h2dSig->SetDirectory(0); diff --git a/InnerDetector/InDetCalibAlgs/PixelCalibAlgs/python/PixelCalibrationConfig.py b/InnerDetector/InDetCalibAlgs/PixelCalibAlgs/python/PixelCalibrationConfig.py index 3daa028ad65906395312063fe96e7c9c44af7555..10901c37cba6b83de9b96495a2beb273c1c8d85f 100644 --- a/InnerDetector/InDetCalibAlgs/PixelCalibAlgs/python/PixelCalibrationConfig.py +++ b/InnerDetector/InDetCalibAlgs/PixelCalibAlgs/python/PixelCalibrationConfig.py @@ -12,11 +12,12 @@ if __name__=="__main__": parser.add_argument('--thr' , required=True, help="Threshold file, format must be \"SCAN_SXXXXXXXXX\" ") parser.add_argument('--thr_intime', required=True, help="Threshold intime file, format must be \"SCAN_SXXXXXXXXX\" ") parser.add_argument('--tot' , required=True, help="Time over threshold file, format must be \"SCAN_SXXXXXXXXX\" ") - parser.add_argument('--layers' , required=True, nargs='+', choices={"Blayer","L1","L2","disk"}, help="What layers we should run to update the calibration.") + parser.add_argument('--layers' , required=True, nargs='+', choices={"Blayer","L1","L2","disk"}, help="Layers we should run to update the calibration.") + parser.add_argument('--tag' , type=str, default="PixelChargeCalibration-DATA-RUN2-UPD4-26", help="Tag in order to read the DB") parser.add_argument('--saveInfo' , action='store_true', help="Creates a root file with the fitting plots - Slower running time") parser.add_argument('--runCal' , action='store_true', help="Runs only the Pixel Calibration layers") - parser.add_argument('--skipPlots' , action='store_true', help="Skips the plotting step. Takes less time") - parser.add_argument('--tag' , type=str, default="PixelChargeCalibration-DATA-RUN2-UPD4-26", help="Tag in order to read the DB") + parser.add_argument('--skipPlots' , action='store_true', help="Skips the plotting step - Slower running time") + args = parser.parse_args() diff --git a/LArCalorimeter/LArCabling/python/LArCablingAccess.py b/LArCalorimeter/LArCabling/python/LArCablingAccess.py deleted file mode 100644 index 8c264aa1c1dc3a94af612692aa3c72b69ba244c4..0000000000000000000000000000000000000000 --- a/LArCalorimeter/LArCabling/python/LArCablingAccess.py +++ /dev/null @@ -1,116 +0,0 @@ -# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration - -from AthenaCommon.AlgSequence import AthSequencer -from IOVDbSvc.CondDB import conddb -from LArRecUtils.LArRecUtilsConf import LArOnOffMappingAlg, LArFebRodMappingAlg, LArCalibLineMappingAlg, LArLATOMEMappingAlg - -from LArConditionsCommon.LArCondFlags import larCondFlags - - -#FIXME, the folder are also set up in LArConditionsCommon/share/LArIdMap_*_jobOptions.py - -def LArOnOffIdMapping(): - condSequence = AthSequencer("AthCondSeq") - if hasattr(condSequence,"LArOnOffMappingAlg"): - return #Already there.... - - if conddb.isMC: - dbname="LAR_OFL" - larCondFlags.config_idmap_MC() - else: - dbname="LAR" - - - folder="/LAR/Identifier/OnOffIdMap" - conddb.addFolder(dbname,folder,className="AthenaAttributeList") - larCondFlags.addTag(folder,conddb) - condSequence+=LArOnOffMappingAlg(ReadKey=folder) - return - -def LArOnOffIdMappingSC(): - condSequence = AthSequencer("AthCondSeq") - if hasattr(condSequence,"LArOnOffMappingAlgSC") : - return #Already there.... - - if conddb.isMC: - dbname="LAR_OFL" - folder="/LAR/IdentifierOfl/OnOffIdMap_SC" - else: - dbname="LAR_ONL" - folder="/LAR/Identifier/OnOffIdMap_SC" - conddb.addFolder(dbname,folder,className="AthenaAttributeList") - if conddb.isMC: - conddb.addOverride(folder,"LARIdentifierOflOnOffIdMap_SC-000") - - condSequence+=LArOnOffMappingAlg("LArOnOffMappingAlgSC",ReadKey=folder, WriteKey="LArOnOffIdMapSC", isSuperCell=True) - return - - - -def LArFebRodMapping(): - condSequence = AthSequencer("AthCondSeq") - if hasattr(condSequence,"LArFebRodMappingAlg"): - return #Already there.... - - if conddb.isMC: - dbname="LAR_OFL" - larCondFlags.config_idmap_MC() - else: - dbname="LAR" - - folder="/LAR/Identifier/FebRodMap" - conddb.addFolder(dbname,folder,className="AthenaAttributeList") - larCondFlags.addTag(folder,conddb) - condSequence+=LArFebRodMappingAlg(ReadKey=folder) - return - - -def LArCalibIdMapping(): - condSequence = AthSequencer("AthCondSeq") - if hasattr(condSequence,"LArCalibLineMappingAlg"): - return #Already there.... - - if conddb.isMC: - dbname="LAR_OFL" - larCondFlags.config_idmap_MC() - else: - dbname="LAR" - - folder="/LAR/Identifier/CalibIdMap" - conddb.addFolder(dbname,folder,className="AthenaAttributeList") - larCondFlags.addTag(folder,conddb) - condSequence+=LArCalibLineMappingAlg(ReadKey=folder) - return - -def LArCalibIdMappingSC(): - condSequence = AthSequencer("AthCondSeq") - folder="/LAR/Identifier/CalibIdMap_SC" - if hasattr(condSequence,"LArCalibLineMappingAlgSC") and condSequence.LArCalibLineMappingAlg.ReadKey==folder: - return #Already there.... - - if conddb.isMC: - return #No calib mapping in the MC (will be in LAR_OFL ?) - else: - dbname="LAR_ONL" - conddb.addFolder(dbname,folder,className="AthenaAttributeList") - condSequence+=LArCalibLineMappingAlg("LArCalibLineMappingAlgSC",ReadKey=folder, WriteKey="LArCalibIdMapSC",isSuperCell=True,MaxCL=16) - return - -def LArLATOMEMappingSC(): - folder="/LAR/Identifier/LatomeMapping" - condSequence = AthSequencer("AthCondSeq") - if hasattr(condSequence,"LArLATOMEMappingAlg") and condSequence.LArLATOMEMappingAlg.ReadKey==folder: - return #Already there.... - if conddb.isMC: - dbname="LAR_OFL" - folder="" - from AthenaCommon.Logging import logging - mlog = logging.getLogger( 'LArCablingAccess' ) - mlog.warning("There is no LATOME mapping in the MC jobs yet") - else: - dbname="LAR_ONL" - conddb.addFolder(dbname,folder,className="CondAttrListCollection") - - condSequence+=LArLATOMEMappingAlg("LArLATOMEMappingAlgSC",ReadKey=folder, WriteKey="LArLATOMEMap") - - return diff --git a/LArCalorimeter/LArROD/python/LArRODFlags.py b/LArCalorimeter/LArROD/python/LArRODFlags.py deleted file mode 100644 index 3a6a06502884a476b422f84b0af1a83552c013a3..0000000000000000000000000000000000000000 --- a/LArCalorimeter/LArROD/python/LArRODFlags.py +++ /dev/null @@ -1,142 +0,0 @@ -# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration - -from AthenaCommon.JobProperties import JobProperty, JobPropertyContainer -from AthenaCommon.JobProperties import jobproperties - -class readDigits(JobProperty): - ### force reading digits from BS and starting reconstruction from them - ### - statusOn=True - allowedTypes=['bool'] - StoredValue=True - -class readRawChannels(JobProperty): - ### - ### - statusOn=True - allowedTypes=['bool'] - StoredValue=False - -class doDSP(JobProperty): - ### reconstructing digits with strict DSP emulation and compare to DSP results - ### - statusOn=True - allowedTypes=['bool'] - StoredValue=False - -class doBuildBadChannel(JobProperty): - ### build bad channel in digits->raw - ### - statusOn=True - allowedTypes=['bool'] - StoredValue=True - -class doLArFebErrorSummary(JobProperty): - ### build LArFebErrorSummary from LArFebHeader - ### - statusOn=True - allowedTypes=['bool'] - StoredValue=True - -class forceIter(JobProperty): - ### force use of OFC iteration as in data - ### - statusOn=True - allowedTypes=['bool'] - StoredValue=False - -class keepDSPRaw(JobProperty): - ### Keep Raw energies from DSP in LArRawChannelContainer - ### and copy energies from ADC reco into different container - statusOn=True - allowedTypes=['bool'] - StoredValue=True - -class RawChannelFromDigitsContainerName(JobProperty): - ### Name of the raw channel container make from digits if keepDSPRaw is true - ### - statusOn=True - allowedTypes=['str'] - StoredValue='LArRawChannels_FromDigits' - -class doOFCPileupOptimization(JobProperty): - ### flag to use pileup noise or not in autocorrelation for OFC computation - ### - statusOn=True - allowedTypes=['bool'] - StoredValue=False - -class NumberOfCollisions(JobProperty): - ### Number of collisions per bunch crossing, used to compute pileup autocorrelation - ### - statusOn=True - allowedTypes=['int'] - StoredValue=0 - -class UseDelta(JobProperty): - ### option to use average constraint in OFC computation - ### 0 = not use Delta, 1 = only EMECIW/HEC/FCAL, 2 = all , 3 = only EMECIW/HEC/FCAL1+high eta FCAL2-3 - statusOn=True - allowedTypes=['int'] - StoredValue=0 - -class doOFCAverageConstraint(JobProperty): - ### flag to use average constraint in OFC computation - ### - statusOn=True - allowedTypes=['bool'] - StoredValue=False - -class doOFCAverageConstraintHighEta(JobProperty): - ### flag to use average constraint in OFC computation for eta>2.5 only - ### (EMEC-IW + HEC + FCAL) - ### - statusOn=True - allowedTypes=['bool'] - StoredValue=False - -class doOFCMixedOptimization(JobProperty): - ### flag not to use pileup noise neither average constrain in EMB and EMEC-OW, - ### and both pileup noise and average constrain everywhere else - ### - statusOn=True - allowedTypes=['bool'] - StoredValue=False - -class nSamples(JobProperty): - ### flag to define number of samples to use in LAr digitization + ROD emulation - statusOn=True - allowedTypes=['int'] - StoredValue=5 - -class firstSample(JobProperty): - ### flag to define location of first samples in the full 32 samples pulse shape in the LAr digitization + ROD emulation - statusOn=True - allowedTypes=['int'] - StoredValue=0 - -class useHighestGainAutoCorr(JobProperty): - ### flag to force using the highest gain autocorelation function when doing OFC optimization - statusOn=True - allowTypes=['bool'] - StoredValue=False - -class LArRODFlags(JobPropertyContainer): - """ LAr signal reconstruction information """ - - -######################################### -# fill in the container, add it to global -######################################### - -jobproperties.add_Container(LArRODFlags) - -_list_LArRODFlags=[readDigits,readRawChannels,doDSP,doBuildBadChannel,doLArFebErrorSummary,forceIter,keepDSPRaw,RawChannelFromDigitsContainerName,NumberOfCollisions,UseDelta,doOFCPileupOptimization,doOFCAverageConstraint,doOFCAverageConstraintHighEta,doOFCMixedOptimization,nSamples,firstSample,useHighestGainAutoCorr] - - -for j in _list_LArRODFlags: - jobproperties.LArRODFlags.add_JobProperty(j) - -del _list_LArRODFlags - -larRODFlags = jobproperties.LArRODFlags diff --git a/MuonSpectrometer/MuonReconstruction/MuonRIO_OnTrackCreators/MuonClusterOnTrackCreator/src/MuonClusterOnTrackCreator.cxx b/MuonSpectrometer/MuonReconstruction/MuonRIO_OnTrackCreators/MuonClusterOnTrackCreator/src/MuonClusterOnTrackCreator.cxx index a9b07d6fe14dd3781fa0c3d71efe140be5cf4f3f..034fb0ba139ed81ebb2b39f36f98f0b06580a5bb 100755 --- a/MuonSpectrometer/MuonReconstruction/MuonRIO_OnTrackCreators/MuonClusterOnTrackCreator/src/MuonClusterOnTrackCreator.cxx +++ b/MuonSpectrometer/MuonReconstruction/MuonRIO_OnTrackCreators/MuonClusterOnTrackCreator/src/MuonClusterOnTrackCreator.cxx @@ -214,13 +214,13 @@ namespace Muon { // Dont make RIO On tracks for sTGC wires in inner Q1 if (m_idHelperSvc->stgcIdHelper().channelType(MClus->identify()) == sTgcIdHelper::Wire && MClus->detectorElement()->isEtaZero(MClus->identify(), lp)) { - ATH_MSG_WARNING("sTgcReadoutElement with isEtaZero() ?! "<<m_idHelperSvc->toString(MClus->identify())); + ATH_MSG_DEBUG("sTgcReadoutElement with isEtaZero() ?! "<<m_idHelperSvc->toString(MClus->identify())); return nullptr; } // Wires are already considered in the above check. Dont remove them here if (!rio_surface.insideBounds(localPos) && m_idHelperSvc->stgcIdHelper().channelType(MClus->identify()) != sTgcIdHelper::Wire) { - ATH_MSG_WARNING("sTgc measurement "<<m_idHelperSvc->toString(MClus->identify())<<" out of bounds. " + ATH_MSG_DEBUG("sTgc measurement "<<m_idHelperSvc->toString(MClus->identify())<<" out of bounds. " <<Amg::toString(localPos)); return nullptr; } @@ -233,7 +233,7 @@ namespace Muon { //*************************** const MMPrepData* mmPRD = static_cast<const MMPrepData*>(&RIO); - return new MMClusterOnTrack(mmPRD, std::move(locpar), std::move(loce), positionAlongStrip, {}, {}); + MClT = new MMClusterOnTrack(mmPRD, std::move(locpar), std::move(loce), positionAlongStrip, {}, {}); } return MClT; @@ -390,7 +390,7 @@ namespace Muon { // estimate than that; not used in the track fits anyway) locpar[Trk::locX] = x_projected; - const sTgcPrepData* stgPRD = static_cast<const sTgcPrepData*>(&RIO); + const sTgcPrepData* stgPRD = static_cast<const sTgcPrepData*>(&RIO); ATH_MSG_VERBOSE("generating sTgcClusterOnTrack in MuonClusterBuilder"); MuonClusterOnTrack* cluster = new sTgcClusterOnTrack(stgPRD, std::move(locpar), std::move(loce), lp[Trk::locY]); diff --git a/Reconstruction/eflowRec/src/PFMuonFlowElementAssoc.cxx b/Reconstruction/eflowRec/src/PFMuonFlowElementAssoc.cxx index 9639601279919f69ed4599d988b562d9f9db14fc..8a22384a32eaa7bf6a623485079e1f1f1875990f 100644 --- a/Reconstruction/eflowRec/src/PFMuonFlowElementAssoc.cxx +++ b/Reconstruction/eflowRec/src/PFMuonFlowElementAssoc.cxx @@ -149,6 +149,8 @@ StatusCode PFMuonFlowElementAssoc::execute(const EventContext& ctx) const { //if so then we will decorate the charged FE with the fraction of cluster energy that was matched if (!m_useMuonTopoClusters){ const xAOD::CaloCluster* muonCluster = muon->cluster(); + //these clusters are expected to be nullptr sometimes + if (!muonCluster) continue; unsigned int counter = 0; for (auto thisCluster : FE->otherObjects()){ const xAOD::CaloCluster* thisCaloCluster = dynamic_cast<const xAOD::CaloCluster*>(thisCluster); diff --git a/Simulation/Tests/OverlayTests/test/test_DataOverlay_MC16_Zmumu.sh b/Simulation/Tests/OverlayTests/test/test_DataOverlay_MC16_Zmumu.sh deleted file mode 100755 index 572614bab7725859268e8725cd8bbb5d5613bcca..0000000000000000000000000000000000000000 --- a/Simulation/Tests/OverlayTests/test/test_DataOverlay_MC16_Zmumu.sh +++ /dev/null @@ -1,66 +0,0 @@ -#!/bin/sh - -# art-description: OverlayChain+Reco test for data16. -# art-type: grid -# art-architecture: '#x86_64-intel' - -# art-output: *.root -# art-output: log.* -# art-output: mem.summary.* -# art-output: mem.full.* -# art-output: runargs.* - -OverlayChain_tf.py \ ---inputZeroBiasBSFile /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/OverlayTests/mc15_valid.00200010.overlay_streamsAll_2016_pp_1.skim.DRAW.r8381/DRAW.09331084._000146.pool.root.1 \ ---DataRunNumber 2015 \ ---inputEVNTFile /cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/OverlayTests/mc16_13TeV.361107.PowhegPythia8EvtGen_AZNLOCTEQ6L1_Zmumu.merge.EVNT.e3601_e5984/EVNT.12228944._002158.pool.root.1 \ ---outputRDOFile testRTT.RDO.pool.root \ ---outputHITSFile testRTT.HITS.pool.root \ ---triggerBit L1_ZB \ ---skipEvents 0 --maxEvents 10 --randomSeed 123456789 \ ---geometryVersion ATLAS-R2-2015-03-01-00 \ ---conditionsTag CONDBR2-BLKPA-RUN2-10 \ ---digiSeedOffset1=211 --digiSeedOffset2=122 \ ---samplingFractionDbTag FTFP_BERT_BIRK \ ---preInclude 'sim:EventOverlayJobTransforms/custom.py,EventOverlayJobTransforms/magfield.py' 'overlayBS:EventOverlayJobTransforms/custom.py' \ ---preExec 'from LArROD.LArRODFlags import larRODFlags;larRODFlags.nSamples.set_Value_and_Lock(4);from LArConditionsCommon.LArCondFlags import larCondFlags; larCondFlags.OFCShapeFolder.set_Value_and_Lock("4samples1phase")' \ ---postInclude 'sim:EventOverlayJobTransforms/Rt_override_CONDBR2-BLKPA-2015-12.py,EventOverlayJobTransforms/muAlign.py,EventOverlayJobTransforms/g4runnumber.py' 'overlayBS:EventOverlayJobTransforms/Rt_override_CONDBR2-BLKPA-2015-12.py' \ ---postExec 'all:CfgMgr.MessageSvc().setError+=["HepMcParticleLink"]' \ ---ignorePatterns "L1TopoMenuLoader.+ERROR." \ ---imf False - -rc=$? -status=$rc -echo "art-result: $rc dataoverlay" - -rc2=-9999 -if [ $rc -eq 0 ] -then - Reco_tf.py \ - --inputRDOFile testRTT.RDO.pool.root \ - --outputESDFile testRTT.ESD.pool.root \ - --outputAODFile testRTT.AOD.pool.root \ - --preInclude 'EventOverlayJobTransforms/custom.py,EventOverlayJobTransforms/recotrfpre.py' \ - --postInclude 'all:EventOverlayJobTransforms/Rt_override_CONDBR2-BLKPA-2015-12.py' 'r2e:EventOverlayJobTransforms/muAlign_reco.py' \ - --preExec 'from LArConditionsCommon.LArCondFlags import larCondFlags;larCondFlags.OFCShapeFolder.set_Value_and_Lock("4samples1phase");rec.doTrigger=False;rec.runUnsupportedLegacyReco=True;from CaloRec.CaloCellFlags import jobproperties;jobproperties.CaloCellFlags.doLArThinnedDigits.set_Value_and_Lock(False)' \ - --ignorePatterns "L1TopoMenuLoader.+ERROR." \ - --imf False - rc2=$? - status=$rc2 -fi -echo "art-result: $rc2 reco" - -if command -v art.py >/dev/null 2>&1; then - rc3=-9999 - if [ $rc -eq 0 ] - then - ArtPackage=$1 - ArtJobName=$2 - art.py compare grid --entries 10 "${ArtPackage}" "${ArtJobName}" --mode=semi-detailed --file testRTT.RDO.pool.root --diff-root - rc3=$? - status=$rc3 - fi - echo "art-result: $rc3 regression" -fi - -exit $status diff --git a/TileCalorimeter/TileMonitoring/src/TileTBCellMonTool.cxx b/TileCalorimeter/TileMonitoring/src/TileTBCellMonTool.cxx deleted file mode 100644 index 6175e36189bc25a5758b2371305b9069d0fda693..0000000000000000000000000000000000000000 --- a/TileCalorimeter/TileMonitoring/src/TileTBCellMonTool.cxx +++ /dev/null @@ -1,1751 +0,0 @@ -/* - Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration -*/ - -/// ******************************************************************** -// -// NAME: TileTBCellMonTool.cxx -// PACKAGE: TileMonitoring -// -// AUTHORS: Alexander Solodkov -// Luca Fiorini (Luca.Fiorini@cern.ch) -// -// ******************************************************************** - -#include "TileTBCellMonTool.h" -#include "PairBuilder.h" - -#include "xAODEventInfo/EventInfo.h" - -#include "CaloEvent/CaloCellContainer.h" - -#include "TileCalibBlobObjs/TileCalibUtils.h" -#include "TileIdentifier/TileHWID.h" -#include "TileConditions/TileCablingService.h" -#include "TileConditions/ITileBadChanTool.h" -#include "TileEvent/TileCell.h" - -#include "TH1F.h" -#include "TH2F.h" -#include "TProfile.h" -#include "TProfile2D.h" -#include "TString.h" -#include "TMath.h" -#include "TROOT.h" -#include "TF1.h" - -#include "CLHEP/Units/SystemOfUnits.h" - -#include <sstream> -#include <iomanip> -#include <map> - -//#include "langaufun.C" - -using CLHEP::GeV; -using CLHEP::ns; - - -// Make a TileCell namespace so this doesn't cause problems else where. -namespace TB{ -template<class T> -std::string to_string(T in){ - std::ostringstream strm; - strm << in; - return strm.str(); -} -} - -/*---------------------------------------------------------*/ -TileTBCellMonTool::TileTBCellMonTool(const std::string & type, const std::string & name, const IInterface* parent) - : TileFatherMonTool(type, name, parent) - -/*---------------------------------------------------------*/ -{ - declareInterface<IMonitorToolBase>(this); - - declareProperty("energyThreshold" , m_Threshold = 300.); //Threshold in MeV - declareProperty("energyThresholdForTime" , m_energyThresholdForTime = 0.1); //Threshold in MeV - declareProperty("negEnergyThreshold" , m_NegThreshold = -2000.); //Threshold in MeV - declareProperty("cellsContainerName" , m_cellsContName = "AllCalo"); //SG Cell Container - declareProperty("energyBalanceThreshold" , m_EneBalThreshold = 3.); //Threshold is in the energy ratio - declareProperty("TimeBalanceThreshold" , m_TimBalThreshold = 25.); //Threshold in ns - declareProperty("doOnline" , m_doOnline = false); //online mode - declareProperty("TileBadChanTool" , m_tileBadChanTool); - declareProperty("FillTimeHistograms" , m_fillTimeHistograms = false); - declareProperty("MaxEnergy" , m_maxEnergy = 150.0); - declareProperty("MaxTotalEnergy" , m_maxTotalEnergy = 150.0); - declareProperty("TimeRange", m_timeRange = {-80., 80.}); - //declareProperty("FillTimeHistograms" , m_fillTimeHistograms = false); - - - - - m_isFirstEv = true; - -} - -/*---------------------------------------------------------*/ -TileTBCellMonTool::~TileTBCellMonTool() { -/*---------------------------------------------------------*/ - -} - -/*---------------------------------------------------------*/ -StatusCode TileTBCellMonTool:: initialize() { -/*---------------------------------------------------------*/ - - ATH_MSG_INFO( "in initialize()" ); - - if (m_timeRange.size() != 2) { - ATH_MSG_FATAL( "Size of TimeRange should be 2 (from,to), but is " << m_timeRange.size() ); - return StatusCode::FAILURE; - } - - //=== get TileBadChanTool - //E3 - m_cellHitMapEB[0][0]=-1; - m_cellHitMapEB[0][1]=-1; - m_cellHitMapEB[0][2]=-1; - m_cellHitMapEB[0][3]=-1; - m_cellHitMapEB[0][4]=-1; - //E4 - m_cellHitMapEB[1][0]=-1; - m_cellHitMapEB[1][1]=-1; - m_cellHitMapEB[1][2]=-1; - m_cellHitMapEB[1][3]=-1; - m_cellHitMapEB[1][4]=-1; - //D4 - m_cellHitMapEB[2][0]=1; - m_cellHitMapEB[2][1]=5; - m_cellHitMapEB[2][2]=3; - m_cellHitMapEB[2][3]=5; - m_cellHitMapEB[2][4]=0; - m_cellHitMapNameEB[0]="D4"; - //D4 - m_cellHitMapEB[3][0]=1; - m_cellHitMapEB[3][1]=5; - m_cellHitMapEB[3][2]=3; - m_cellHitMapEB[3][3]=5; - m_cellHitMapEB[3][4]=0; - //C10 - m_cellHitMapEB[4][0]=3; - m_cellHitMapEB[4][1]=3; - m_cellHitMapEB[4][2]=3; - m_cellHitMapEB[4][3]=4; - m_cellHitMapEB[4][4]=1; - m_cellHitMapNameEB[1]="C10"; - //C10 - m_cellHitMapEB[5][0]=3; - m_cellHitMapEB[5][1]=3; - m_cellHitMapEB[5][2]=3; - m_cellHitMapEB[5][3]=4; - m_cellHitMapEB[5][4]=1; - //A12 - m_cellHitMapEB[6][0]=4; - m_cellHitMapEB[6][1]=1; - m_cellHitMapEB[6][2]=5; - m_cellHitMapEB[6][3]=1; - m_cellHitMapEB[6][4]=2; - m_cellHitMapNameEB[2]="A12"; - //A12 - m_cellHitMapEB[7][0]=4; - m_cellHitMapEB[7][1]=1; - m_cellHitMapEB[7][2]=5; - m_cellHitMapEB[7][3]=1; - m_cellHitMapEB[7][4]=2; - //B11 - m_cellHitMapEB[8][0]=4; - m_cellHitMapEB[8][1]=2; - m_cellHitMapEB[8][2]=6; - m_cellHitMapEB[8][3]=3; - m_cellHitMapEB[8][4]=3; - m_cellHitMapNameEB[3]="B11"; - //B11 - m_cellHitMapEB[9][0]=4; - m_cellHitMapEB[9][1]=2; - m_cellHitMapEB[9][2]=6; - m_cellHitMapEB[9][3]=3; - m_cellHitMapEB[9][4]=3; - //A13 - m_cellHitMapEB[10][0]=6; - m_cellHitMapEB[10][1]=1; - m_cellHitMapEB[10][2]=8; - m_cellHitMapEB[10][3]=1; - m_cellHitMapEB[10][4]=4; - m_cellHitMapNameEB[4]="A13"; - //A13 - m_cellHitMapEB[11][0]=6; - m_cellHitMapEB[11][1]=1; - m_cellHitMapEB[11][2]=8; - m_cellHitMapEB[11][3]=1; - m_cellHitMapEB[11][4]=4; - //E1 - m_cellHitMapEB[12][0]=-1; - m_cellHitMapEB[12][1]=-1; - m_cellHitMapEB[12][2]=-1; - m_cellHitMapEB[12][3]=-1; - m_cellHitMapEB[12][4]=-1; - //E2 - m_cellHitMapEB[13][0]=-1; - m_cellHitMapEB[13][1]=-1; - m_cellHitMapEB[13][2]=-1; - m_cellHitMapEB[13][3]=-1; - m_cellHitMapEB[13][4]=-1; - //B12 - m_cellHitMapEB[14][0]=7; - m_cellHitMapEB[14][1]=2; - m_cellHitMapEB[14][2]=9; - m_cellHitMapEB[14][3]=3; - m_cellHitMapEB[14][4]=5; - m_cellHitMapNameEB[5]="B12"; - //B12 - m_cellHitMapEB[15][0]=7; - m_cellHitMapEB[15][1]=2; - m_cellHitMapEB[15][2]=9; - m_cellHitMapEB[15][3]=3; - m_cellHitMapEB[15][4]=5; - //D5 - m_cellHitMapEB[16][0]=4; - m_cellHitMapEB[16][1]=4; - m_cellHitMapEB[16][2]=11; - m_cellHitMapEB[16][3]=5; - m_cellHitMapEB[16][4]=6; - m_cellHitMapNameEB[6]="D5"; - //D5 - m_cellHitMapEB[17][0]=4; - m_cellHitMapEB[17][1]=4; - m_cellHitMapEB[17][2]=11; - m_cellHitMapEB[17][3]=5; - m_cellHitMapEB[17][4]=6; - //E3* - m_cellHitMapEB[18][0]=-1; - m_cellHitMapEB[18][1]=-1; - m_cellHitMapEB[18][2]=-1; - m_cellHitMapEB[18][3]=-1; - m_cellHitMapEB[18][4]=-1; - //E4* - m_cellHitMapEB[19][0]=-1; - m_cellHitMapEB[19][1]=-1; - m_cellHitMapEB[19][2]=-1; - m_cellHitMapEB[19][3]=-1; - m_cellHitMapEB[19][4]=-1; - //A14 - m_cellHitMapEB[20][0]=9; - m_cellHitMapEB[20][1]=1; - m_cellHitMapEB[20][2]=11; - m_cellHitMapEB[20][3]=1; - m_cellHitMapEB[20][4]=7; - m_cellHitMapNameEB[7]="A14"; - //A14 - m_cellHitMapEB[21][0]=9; - m_cellHitMapEB[21][1]=1; - m_cellHitMapEB[21][2]=11; - m_cellHitMapEB[21][3]=1; - m_cellHitMapEB[21][4]=7; - //B13 - m_cellHitMapEB[22][0]=10; - m_cellHitMapEB[22][1]=2; - m_cellHitMapEB[22][2]=12; - m_cellHitMapEB[22][3]=3; - m_cellHitMapEB[22][4]=8; - m_cellHitMapNameEB[8]="B13"; - //B13 - m_cellHitMapEB[23][0]=10; - m_cellHitMapEB[23][1]=2; - m_cellHitMapEB[23][2]=12; - m_cellHitMapEB[23][3]=3; - m_cellHitMapEB[23][4]=8; - //NOTHINg - m_cellHitMapEB[24][0]=-1; - m_cellHitMapEB[24][1]=-1; - m_cellHitMapEB[24][2]=-1; - m_cellHitMapEB[24][3]=-1; - m_cellHitMapEB[24][4]=-1; - //NOTHINg - m_cellHitMapEB[25][0]=-1; - m_cellHitMapEB[25][1]=-1; - m_cellHitMapEB[25][2]=-1; - m_cellHitMapEB[25][3]=-1; - m_cellHitMapEB[25][4]=-1; - //NOTHINg - m_cellHitMapEB[26][0]=-1; - m_cellHitMapEB[26][1]=-1; - m_cellHitMapEB[26][2]=-1; - m_cellHitMapEB[26][3]=-1; - m_cellHitMapEB[26][4]=-1; - //NOTHINg - m_cellHitMapEB[27][0]=-1; - m_cellHitMapEB[27][1]=-1; - m_cellHitMapEB[27][2]=-1; - m_cellHitMapEB[27][3]=-1; - m_cellHitMapEB[27][4]=-1; - //NOTHINg - m_cellHitMapEB[28][0]=-1; - m_cellHitMapEB[28][1]=-1; - m_cellHitMapEB[28][2]=-1; - m_cellHitMapEB[28][3]=-1; - m_cellHitMapEB[28][4]=-1; - //NOTHINg - m_cellHitMapEB[29][0]=-1; - m_cellHitMapEB[29][1]=-1; - m_cellHitMapEB[29][2]=-1; - m_cellHitMapEB[29][3]=-1; - m_cellHitMapEB[29][4]=-1; - //B14 - m_cellHitMapEB[30][0]=13; - m_cellHitMapEB[30][1]=2; - m_cellHitMapEB[30][2]=15; - m_cellHitMapEB[30][3]=3; - m_cellHitMapEB[30][4]=9; - m_cellHitMapNameEB[9]="B14"; - //A15 - m_cellHitMapEB[31][0]=12; - m_cellHitMapEB[31][1]=1; - m_cellHitMapEB[31][2]=14; - m_cellHitMapEB[31][3]=1; - m_cellHitMapEB[31][4]=10; - m_cellHitMapNameEB[10]="A15"; - //A15 - m_cellHitMapEB[32][0]=12; - m_cellHitMapEB[32][1]=1; - m_cellHitMapEB[32][2]=14; - m_cellHitMapEB[32][3]=1; - m_cellHitMapEB[32][4]=10; - //NOTHINg - m_cellHitMapEB[33][0]=-1; - m_cellHitMapEB[33][1]=-1; - m_cellHitMapEB[33][2]=-1; - m_cellHitMapEB[33][3]=-1; - m_cellHitMapEB[33][4]=-1; - //NOTHINg - m_cellHitMapEB[34][0]=-1; - m_cellHitMapEB[34][1]=-1; - m_cellHitMapEB[34][2]=-1; - m_cellHitMapEB[34][3]=-1; - m_cellHitMapEB[34][4]=-1; - //B14 - m_cellHitMapEB[35][0]=13; - m_cellHitMapEB[35][1]=2; - m_cellHitMapEB[35][2]=15; - m_cellHitMapEB[35][3]=3; - m_cellHitMapEB[35][4]=9; - //B15 - m_cellHitMapEB[36][0]=16; - m_cellHitMapEB[36][1]=2; - m_cellHitMapEB[36][2]=18; - m_cellHitMapEB[36][3]=3; - m_cellHitMapEB[36][4]=11; - m_cellHitMapNameEB[11]="B15"; - //D6 - m_cellHitMapEB[37][0]=12; - m_cellHitMapEB[37][1]=4; - m_cellHitMapEB[37][2]=18; - m_cellHitMapEB[37][3]=5; - m_cellHitMapEB[37][4]=12; - m_cellHitMapNameEB[12]="D6"; - //D6 - m_cellHitMapEB[38][0]=12; - m_cellHitMapEB[38][1]=4; - m_cellHitMapEB[38][2]=18; - m_cellHitMapEB[38][3]=5; - m_cellHitMapEB[38][4]=12; - //B15 - m_cellHitMapEB[39][0]=16; - m_cellHitMapEB[39][1]=2; - m_cellHitMapEB[39][2]=18; - m_cellHitMapEB[39][3]=3; - m_cellHitMapEB[39][4]=11; - //A16 - m_cellHitMapEB[40][0]=15; - m_cellHitMapEB[40][1]=1; - m_cellHitMapEB[40][2]=18; - m_cellHitMapEB[40][3]=1; - m_cellHitMapEB[40][4]=13; - m_cellHitMapNameEB[13]="A16"; - //A16 - m_cellHitMapEB[41][0]=15; - m_cellHitMapEB[41][1]=1; - m_cellHitMapEB[41][2]=18; - m_cellHitMapEB[41][3]=1; - m_cellHitMapEB[41][4]=13; - //NOTHINg - m_cellHitMapEB[42][0]=-1; - m_cellHitMapEB[42][1]=-1; - m_cellHitMapEB[42][2]=-1; - m_cellHitMapEB[42][3]=-1; - m_cellHitMapEB[42][4]=-1; - //NOTHINg - m_cellHitMapEB[43][0]=-1; - m_cellHitMapEB[43][1]=-1; - m_cellHitMapEB[43][2]=-1; - m_cellHitMapEB[43][3]=-1; - m_cellHitMapEB[43][4]=-1; - //NOTHINg - m_cellHitMapEB[44][0]=-1; - m_cellHitMapEB[44][1]=-1; - m_cellHitMapEB[44][2]=-1; - m_cellHitMapEB[44][3]=-1; - m_cellHitMapEB[44][4]=-1; - //NOTHINg - m_cellHitMapEB[45][0]=-1; - m_cellHitMapEB[45][1]=-1; - m_cellHitMapEB[45][2]=-1; - m_cellHitMapEB[45][3]=-1; - m_cellHitMapEB[45][4]=-1; - //NOTHINg - m_cellHitMapEB[46][0]=-1; - m_cellHitMapEB[46][1]=-1; - m_cellHitMapEB[46][2]=-1; - m_cellHitMapEB[46][3]=-1; - m_cellHitMapEB[46][4]=-1; - //NOTHINg - m_cellHitMapEB[47][0]=-1; - m_cellHitMapEB[47][1]=-1; - m_cellHitMapEB[47][2]=-1; - m_cellHitMapEB[47][3]=-1; - m_cellHitMapEB[47][4]=-1; - - - - //D0 - m_cellHitMapLB[0][0]=1; - m_cellHitMapLB[0][1]=35; - m_cellHitMapLB[0][2]=10; - m_cellHitMapLB[0][3]=44; - m_cellHitMapLB[0][4]=22; - m_cellHitMapLB[0][5]=-1; - m_cellHitMapNameLB[22]="D0"; - //A1 - m_cellHitMapLB[1][0]=1; - m_cellHitMapLB[1][1]=1; - m_cellHitMapLB[1][2]=7; - m_cellHitMapLB[1][3]=9; - m_cellHitMapLB[1][4]=0; - m_cellHitMapLB[1][5]=-1; - m_cellHitMapNameLB[0]="A1"; - //B1 - m_cellHitMapLB[2][0]=1; - m_cellHitMapLB[2][1]=10; - m_cellHitMapLB[2][2]=8; - m_cellHitMapLB[2][3]=20; - m_cellHitMapLB[2][4]=1; - m_cellHitMapLB[2][5]=0; - //C1 - m_cellHitMapLB_C[0][0]=1; - m_cellHitMapLB_C[0][1]=21; - m_cellHitMapLB_C[0][2]=9; - m_cellHitMapLB_C[0][3]=34; - m_cellHitMapNameLB[1]="BC1"; - //B1 - m_cellHitMapLB[3][0]=1; - m_cellHitMapLB[3][1]=10; - m_cellHitMapLB[3][2]=8; - m_cellHitMapLB[3][3]=20; - m_cellHitMapLB[3][4]=1; - m_cellHitMapLB[3][5]=0; - //A1 - m_cellHitMapLB[4][0]=1; - m_cellHitMapLB[4][1]=1; - m_cellHitMapLB[4][2]=7; - m_cellHitMapLB[4][3]=9; - m_cellHitMapLB[4][4]=0; - m_cellHitMapLB[4][5]=-1; - //A2 - m_cellHitMapLB[5][0]=8; - m_cellHitMapLB[5][1]=1; - m_cellHitMapLB[5][2]=14; - m_cellHitMapLB[5][3]=9; - m_cellHitMapLB[5][4]=2; - m_cellHitMapLB[5][5]=-1; - m_cellHitMapNameLB[2]="A2"; - //B2 - m_cellHitMapLB[6][0]=9; - m_cellHitMapLB[6][1]=10; - m_cellHitMapLB[6][2]=16; - m_cellHitMapLB[6][3]=20; - m_cellHitMapLB[6][4]=3; - m_cellHitMapLB[6][5]=1; - m_cellHitMapNameLB[3]="BC2"; - //C2 - m_cellHitMapLB_C[1][0]=10; - m_cellHitMapLB_C[1][1]=21; - m_cellHitMapLB_C[1][2]=18; - m_cellHitMapLB_C[1][3]=34; - - //B2 - m_cellHitMapLB[7][0]=9; - m_cellHitMapLB[7][1]=10; - m_cellHitMapLB[7][2]=16; - m_cellHitMapLB[7][3]=20; - m_cellHitMapLB[7][4]=3; - m_cellHitMapLB[7][5]=1; - //A2 - m_cellHitMapLB[8][0]=8; - m_cellHitMapLB[8][1]=1; - m_cellHitMapLB[8][2]=14; - m_cellHitMapLB[8][3]=9; - m_cellHitMapLB[8][4]=2; - m_cellHitMapLB[8][5]=-1; - //A3 - m_cellHitMapLB[9][0]=15; - m_cellHitMapLB[9][1]=1; - m_cellHitMapLB[9][2]=21; - m_cellHitMapLB[9][3]=9; - m_cellHitMapLB[9][4]=4; - m_cellHitMapLB[9][5]=-1; - m_cellHitMapNameLB[4]="A3"; - //A3 - m_cellHitMapLB[10][0]=15; - m_cellHitMapLB[10][1]=1; - m_cellHitMapLB[10][2]=21; - m_cellHitMapLB[10][3]=9; - m_cellHitMapLB[10][4]=4; - m_cellHitMapLB[10][5]=-1; - //B3 - m_cellHitMapLB[11][0]=17; - m_cellHitMapLB[11][1]=10; - m_cellHitMapLB[11][2]=23; - m_cellHitMapLB[11][3]=20; - m_cellHitMapLB[11][4]=5; - m_cellHitMapLB[11][5]=2; - m_cellHitMapNameLB[5]="BC3"; - //C3 - m_cellHitMapLB_C[2][0]=19; - m_cellHitMapLB_C[2][1]=21; - m_cellHitMapLB_C[2][2]=27; - m_cellHitMapLB_C[2][3]=34; - //B3 - m_cellHitMapLB[12][0]=17; - m_cellHitMapLB[12][1]=10; - m_cellHitMapLB[12][2]=23; - m_cellHitMapLB[12][3]=20; - m_cellHitMapLB[12][4]=5; - m_cellHitMapLB[12][5]=2; - //D1 - m_cellHitMapLB[13][0]=11; - m_cellHitMapLB[13][1]=35; - m_cellHitMapLB[13][2]=30; - m_cellHitMapLB[13][3]=44; - m_cellHitMapLB[13][4]=6; - m_cellHitMapLB[13][5]=-1; - m_cellHitMapNameLB[6]="D1"; - //D1 - m_cellHitMapLB[14][0]=11; - m_cellHitMapLB[14][1]=35; - m_cellHitMapLB[14][2]=30; - m_cellHitMapLB[14][3]=44; - m_cellHitMapLB[14][4]=6; - m_cellHitMapLB[14][5]=-1; - //A4 - m_cellHitMapLB[15][0]=22; - m_cellHitMapLB[15][1]=1; - m_cellHitMapLB[15][2]=28; - m_cellHitMapLB[15][3]=9; - m_cellHitMapLB[15][4]=7; - m_cellHitMapLB[15][5]=-1; - m_cellHitMapNameLB[7]="A4"; - //B4 - m_cellHitMapLB[16][0]=24; - m_cellHitMapLB[16][1]=10; - m_cellHitMapLB[16][2]=31; - m_cellHitMapLB[16][3]=20; - m_cellHitMapLB[16][4]=8; - m_cellHitMapLB[16][5]=3; - m_cellHitMapNameLB[8]="BC4"; - //C4 - m_cellHitMapLB_C[3][0]=28; - m_cellHitMapLB_C[3][1]=21; - m_cellHitMapLB_C[3][2]=36; - m_cellHitMapLB_C[3][3]=34; - //B4 - m_cellHitMapLB[17][0]=24; - m_cellHitMapLB[17][1]=10; - m_cellHitMapLB[17][2]=31; - m_cellHitMapLB[17][3]=20; - m_cellHitMapLB[17][4]=8; - m_cellHitMapLB[17][5]=3; - //A4 - m_cellHitMapLB[18][0]=22; - m_cellHitMapLB[18][1]=1; - m_cellHitMapLB[18][2]=28; - m_cellHitMapLB[18][3]=9; - m_cellHitMapLB[18][4]=7; - m_cellHitMapLB[18][5]=-1; - //A5 - m_cellHitMapLB[19][0]=29; - m_cellHitMapLB[19][1]=1; - m_cellHitMapLB[19][2]=35; - m_cellHitMapLB[19][3]=9; - m_cellHitMapLB[19][4]=9; - m_cellHitMapLB[19][5]=-1; - m_cellHitMapNameLB[9]="A5"; - //A5 - m_cellHitMapLB[20][0]=29; - m_cellHitMapLB[20][1]=1; - m_cellHitMapLB[20][2]=35; - m_cellHitMapLB[20][3]=9; - m_cellHitMapLB[20][4]=9; - m_cellHitMapLB[20][5]=-1; - //B5 - m_cellHitMapLB[21][0]=32; - m_cellHitMapLB[21][1]=10; - m_cellHitMapLB[21][2]=39; - m_cellHitMapLB[21][3]=20; - m_cellHitMapLB[21][4]=10; - m_cellHitMapLB[21][5]=4; - m_cellHitMapNameLB[10]="BC5"; - //C5 - m_cellHitMapLB_C[4][0]=37; - m_cellHitMapLB_C[4][1]=21; - m_cellHitMapLB_C[4][2]=46; - m_cellHitMapLB_C[4][3]=34; - //B5 - m_cellHitMapLB[22][0]=32; - m_cellHitMapLB[22][1]=10; - m_cellHitMapLB[22][2]=39; - m_cellHitMapLB[22][3]=20; - m_cellHitMapLB[22][4]=10; - m_cellHitMapLB[22][5]=4; - //A6 - m_cellHitMapLB[23][0]=36; - m_cellHitMapLB[23][1]=1; - m_cellHitMapLB[23][2]=42; - m_cellHitMapLB[23][3]=9; - m_cellHitMapLB[23][4]=11; - m_cellHitMapLB[23][5]=-1; - m_cellHitMapNameLB[11]="A6"; - //D2 - m_cellHitMapLB[24][0]=31; - m_cellHitMapLB[24][1]=35; - m_cellHitMapLB[24][2]=52; - m_cellHitMapLB[24][3]=44; - m_cellHitMapLB[24][4]=12; - m_cellHitMapLB[24][5]=-1; - m_cellHitMapNameLB[12]="D2"; - //D2 - m_cellHitMapLB[25][0]=31; - m_cellHitMapLB[25][1]=35; - m_cellHitMapLB[25][2]=52; - m_cellHitMapLB[25][3]=44; - m_cellHitMapLB[25][4]=12; - m_cellHitMapLB[25][5]=-1; - //A6 - m_cellHitMapLB[26][0]=36; - m_cellHitMapLB[26][1]=1; - m_cellHitMapLB[26][2]=42; - m_cellHitMapLB[26][3]=9; - m_cellHitMapLB[26][4]=11; - m_cellHitMapLB[26][5]=-1; - //B6 - m_cellHitMapLB[27][0]=40; - m_cellHitMapLB[27][1]=10; - m_cellHitMapLB[27][2]=48; - m_cellHitMapLB[27][3]=20; - m_cellHitMapLB[27][4]=13; - m_cellHitMapLB[27][5]=5; - m_cellHitMapNameLB[13]="BC6"; - //C6 - m_cellHitMapLB_C[5][0]=47; - m_cellHitMapLB_C[5][1]=21; - m_cellHitMapLB_C[5][2]=56; - m_cellHitMapLB_C[5][3]=34; - //B6 - m_cellHitMapLB[28][0]=40; - m_cellHitMapLB[28][1]=10; - m_cellHitMapLB[28][2]=48; - m_cellHitMapLB[28][3]=20; - m_cellHitMapLB[28][4]=13; - m_cellHitMapLB[28][5]=5; - //A7 - m_cellHitMapLB[29][0]=43; - m_cellHitMapLB[29][1]=1; - m_cellHitMapLB[29][2]=50; - m_cellHitMapLB[29][3]=9; - m_cellHitMapLB[29][4]=14; - m_cellHitMapLB[29][5]=-1; - m_cellHitMapNameLB[14]="A7"; - //Nothing - m_cellHitMapLB[30][0]=-1; - m_cellHitMapLB[30][1]=-1; - m_cellHitMapLB[30][2]=-1; - m_cellHitMapLB[30][3]=-1; - m_cellHitMapLB[30][4]=-1; - m_cellHitMapLB[30][5]=-1; - //Nothing - m_cellHitMapLB[31][0]=-1; - m_cellHitMapLB[31][1]=-1; - m_cellHitMapLB[31][2]=-1; - m_cellHitMapLB[31][3]=-1; - m_cellHitMapLB[31][4]=-1; - m_cellHitMapLB[31][5]=-1; - //A7 - m_cellHitMapLB[32][0]=43; - m_cellHitMapLB[32][1]=1; - m_cellHitMapLB[32][2]=50; - m_cellHitMapLB[32][3]=9; - m_cellHitMapLB[32][4]=14; - m_cellHitMapLB[32][5]=-1; - //B7 - m_cellHitMapLB[33][0]=49; - m_cellHitMapLB[33][1]=10; - m_cellHitMapLB[33][2]=57; - m_cellHitMapLB[33][3]=20; - m_cellHitMapLB[33][4]=15; - m_cellHitMapLB[33][5]=6; - m_cellHitMapNameLB[15]="BC7"; - //C7 - m_cellHitMapLB_C[6][0]=57; - m_cellHitMapLB_C[6][1]=21; - m_cellHitMapLB_C[6][2]=66; - m_cellHitMapLB_C[6][3]=34; - //B7 - m_cellHitMapLB[34][0]=49; - m_cellHitMapLB[34][1]=10; - m_cellHitMapLB[34][2]=57; - m_cellHitMapLB[34][3]=20; - m_cellHitMapLB[34][4]=15; - m_cellHitMapLB[34][5]=6; - //A8 - m_cellHitMapLB[35][0]=51; - m_cellHitMapLB[35][1]=1; - m_cellHitMapLB[35][2]=59; - m_cellHitMapLB[35][3]=9; - m_cellHitMapLB[35][4]=16; - m_cellHitMapLB[35][5]=-1; - m_cellHitMapNameLB[16]="A8"; - //A9 - m_cellHitMapLB[36][0]=60; - m_cellHitMapLB[36][1]=1; - m_cellHitMapLB[36][2]=68; - m_cellHitMapLB[36][3]=9; - m_cellHitMapLB[36][4]=17; - m_cellHitMapLB[36][5]=-1; - m_cellHitMapNameLB[17]="A9"; - //A9 - m_cellHitMapLB[37][0]=60; - m_cellHitMapLB[37][1]=1; - m_cellHitMapLB[37][2]=68; - m_cellHitMapLB[37][3]=9; - m_cellHitMapLB[37][4]=17; - m_cellHitMapLB[37][5]=-1; - //A8 - m_cellHitMapLB[38][0]=51; - m_cellHitMapLB[38][1]=1; - m_cellHitMapLB[38][2]=59; - m_cellHitMapLB[38][3]=9; - m_cellHitMapLB[38][4]=16; - m_cellHitMapLB[38][5]=-1; - //B8 - m_cellHitMapLB[39][0]=58; - m_cellHitMapLB[39][1]=10; - m_cellHitMapLB[39][2]=67; - m_cellHitMapLB[39][3]=20; - m_cellHitMapLB[39][4]=18; - m_cellHitMapLB[39][5]=7; - m_cellHitMapNameLB[18]="BC8"; - //C8 - m_cellHitMapLB_C[7][0]=67; - m_cellHitMapLB_C[7][1]=21; - m_cellHitMapLB_C[7][2]=76; - m_cellHitMapLB_C[7][3]=34; - //B8 - m_cellHitMapLB[40][0]=58; - m_cellHitMapLB[40][1]=10; - m_cellHitMapLB[40][2]=67; - m_cellHitMapLB[40][3]=20; - m_cellHitMapLB[40][4]=18; - m_cellHitMapLB[40][5]=7; - //D3 - m_cellHitMapLB[41][0]=53; - m_cellHitMapLB[41][1]=35; - m_cellHitMapLB[41][2]=76; - m_cellHitMapLB[41][3]=44; - m_cellHitMapLB[41][4]=19; - m_cellHitMapLB[41][5]=-1; - m_cellHitMapNameLB[19]="D3"; - //B9 - m_cellHitMapLB[42][0]=68; - m_cellHitMapLB[42][1]=10; - m_cellHitMapLB[42][2]=76; - m_cellHitMapLB[42][3]=20; - m_cellHitMapLB[42][4]=20; - m_cellHitMapLB[42][5]=-1; - m_cellHitMapNameLB[20]="B9"; - //NOTHINg - m_cellHitMapLB[43][0]=-1; - m_cellHitMapLB[43][1]=-1; - m_cellHitMapLB[43][2]=-1; - m_cellHitMapLB[43][3]=-1; - m_cellHitMapLB[43][4]=-1; - m_cellHitMapLB[43][5]=-1; - //D3 - m_cellHitMapLB[44][0]=53; - m_cellHitMapLB[44][1]=35; - m_cellHitMapLB[44][2]=76; - m_cellHitMapLB[44][3]=44; - m_cellHitMapLB[44][4]=19; - m_cellHitMapLB[44][5]=-1; - //A10 - m_cellHitMapLB[45][0]=69; - m_cellHitMapLB[45][1]=1; - m_cellHitMapLB[45][2]=76; - m_cellHitMapLB[45][3]=9; - m_cellHitMapLB[45][4]=21; - m_cellHitMapLB[45][5]=-1; - m_cellHitMapNameLB[21]="A10"; - //A10 - m_cellHitMapLB[46][0]=69; - m_cellHitMapLB[46][1]=1; - m_cellHitMapLB[46][2]=76; - m_cellHitMapLB[46][3]=9; - m_cellHitMapLB[46][4]=21; - m_cellHitMapLB[46][5]=-1; - //B9 - m_cellHitMapLB[47][0]=68; - m_cellHitMapLB[47][1]=10; - m_cellHitMapLB[47][2]=76; - m_cellHitMapLB[47][3]=20; - m_cellHitMapLB[47][4]=20; - m_cellHitMapLB[47][5]=-1; - - return TileFatherMonTool::initialize(); -} - - - -/// BookHistogram method is called at every event block ,lumi block and run. -/// At the moment we need to book only every run -/// It calls bookHistTrig for the 'AnyTrig' trigger type -/// All concrete trigger type histograms will only be booked when needed -/*---------------------------------------------------------*/ -StatusCode TileTBCellMonTool::bookHistograms() { - /*---------------------------------------------------------*/ - - ATH_MSG_INFO( "in bookHistograms()" ); - ATH_MSG_INFO( "Using base path " << m_path ); - - int nTimeBins = m_timeRange[1] - m_timeRange[0]; - - if (m_fillTimeHistograms) { - - std::string module_name; - std::string cell_name; - std::string channel_name; - for (int mod=0; mod<MAX_MODULE; ++mod) { - for (unsigned int channel = 0; channel < TileCalibUtils::MAX_CHAN; ++channel) { - module_name = TileCalibUtils::getDrawerString(1, mod); - cell_name = getCellName(1, channel); - - m_tileChannelEnergyLBA[mod][channel] = book1F("ChannelEnergy/LBA/" + module_name, "ChannelEnergy_" + module_name + "_" + cell_name + "_ch" + std::to_string(channel) - , "Tile channel energy " + module_name + " " + cell_name + " ch" + std::to_string(channel), 300,0,m_maxEnergy); - m_tileChannelTimeLBA[mod][channel] = book1F("ChannelTime/LBA/" + module_name, "ChannelTime_" + module_name + "_" + cell_name + "_ch" + std::to_string(channel) - , "Tile channel time " + module_name + " " + cell_name + " ch" + std::to_string(channel), nTimeBins, m_timeRange[0], m_timeRange[1]); - - } - } - for (int mod=0; mod<MAX_MODULE; ++mod) { - for (unsigned int channel = 0; channel < TileCalibUtils::MAX_CHAN; ++channel) { - module_name = TileCalibUtils::getDrawerString(2, mod); - cell_name = getCellName(2, channel); - - m_tileChannelEnergyLBC[mod][channel] = book1F("ChannelEnergy/LBC/" + module_name, "ChannelEnergy_" + module_name + "_" + cell_name + "_ch" + std::to_string(channel) - , "Tile channel energy " + module_name + " " + cell_name + " ch" + std::to_string(channel), 300,0,m_maxEnergy); - m_tileChannelTimeLBC[mod][channel] = book1F("ChannelTime/LBC/" + module_name, "ChannelTime_" + module_name + "_" + cell_name + "_ch" + std::to_string(channel) - , "Tile channel time " + module_name + " " + cell_name + " ch" + std::to_string(channel), nTimeBins, m_timeRange[0], m_timeRange[1]); - - } - } - for (int mod=0; mod<MAX_MODULE; ++mod) { - for (unsigned int channel = 0; channel < TileCalibUtils::MAX_CHAN; ++channel) { - module_name = TileCalibUtils::getDrawerString(3, mod); - cell_name = getCellName(3, channel); - - m_tileChannelEnergyEBA[mod][channel] = book1F("ChannelEnergy/EBA/" + module_name, "ChannelEnergy_" + module_name + "_" + cell_name + "_ch" + std::to_string(channel) - , "Tile channel energy " + module_name + " " + cell_name + " ch" + std::to_string(channel), 300,0,m_maxEnergy); - m_tileChannelTimeEBA[mod][channel] = book1F("ChannelTime/EBA/" + module_name, "ChannelTime_" + module_name + "_" + cell_name + "_ch" + std::to_string(channel) - , "Tile channel time " + module_name + " " + cell_name + " ch" + std::to_string(channel), nTimeBins, m_timeRange[0], m_timeRange[1]); - - } - } - for (int mod=0; mod<MAX_MODULE; ++mod) { - for (unsigned int channel = 0; channel < TileCalibUtils::MAX_CHAN; ++channel) { - module_name = TileCalibUtils::getDrawerString(4, mod); - cell_name = getCellName(4, channel); - - m_tileChannelEnergyEBC[mod][channel] = book1F("ChannelEnergy/EBC/" + module_name, "ChannelEnergy_" + module_name + "_" + cell_name + "_ch" + std::to_string(channel) - , "Tile channel energy " + module_name + " " + cell_name + " ch" + std::to_string(channel), 300,0,m_maxEnergy); - m_tileChannelTimeEBC[mod][channel] = book1F("ChannelTime/EBC/" + module_name, "ChannelTime_" + module_name + "_" + cell_name + "_ch" + std::to_string(channel) - , "Tile channel time " + module_name + " " + cell_name + " ch" + std::to_string(channel), nTimeBins, m_timeRange[0], m_timeRange[1]); - - } - } - - } - - - for (int mod=0; mod<MAX_MODULE; ++mod) { - m_TileTBHitMapEBA[mod]= book2F("EBA/" + TileCalibUtils::getDrawerString(3, mod),"CellMap","CellMap",18,1,19,5,1,6) ; - m_TileTBHitMapEBA[mod]->SetOption("COLZ"); - m_TileTBHitMapEBA[mod]->SetStats(0); - m_TileTBHitMapEBA[mod]->SetZTitle("Charge[pC]"); - - m_TileTBTotalEnergyEBA[mod]=book1F("EBA/" + TileCalibUtils::getDrawerString(3, mod),"EnergyTotalEBA","EnergyTotalEBA",m_maxTotalEnergy*2,0,m_maxTotalEnergy); - m_TileTBTotalEnergyEBA[mod]->SetXTitle("Charge[pC]"); - m_TileTBTotalEnergyEBA[mod]->SetYTitle("Entries"); - - m_TileTBSampleBCvsAEneEBA[mod]=book2F("EBA/" + TileCalibUtils::getDrawerString(3, mod),"EnergyTotalSampleBCVsA","EnergyTotalSampleBCVsA",m_maxTotalEnergy*2,0,m_maxTotalEnergy,m_maxTotalEnergy*2,0,m_maxTotalEnergy); - m_TileTBSampleBCvsAEneEBA[mod]->SetXTitle("Sample A Charge[pC]"); - m_TileTBSampleBCvsAEneEBA[mod]->SetYTitle("Sample B Charge[pC]"); - m_TileTBSampleBCvsAEneEBA[mod]->SetOption("COLZ"); - m_TileTBSampleDEneEBA[mod]=book1F("EBA/" + TileCalibUtils::getDrawerString(3, mod),"EnergyTotalSampleD","EnergyTotalSampleD",m_maxTotalEnergy*2,0,m_maxTotalEnergy); - m_TileTBSampleDEneEBA[mod]->SetXTitle("Sample D Charge[pC]"); - - m_TileTBHitMapEBC[mod]= book2F("EBC/" + TileCalibUtils::getDrawerString(4, mod),"CellMap","CellMap",18,1,19,5,1,6) ; - m_TileTBHitMapEBC[mod]->SetOption("COLZ"); - m_TileTBHitMapEBC[mod]->SetStats(0); - m_TileTBHitMapEBC[mod]->SetZTitle("Charge[pC]"); - - m_TileTBTotalEnergyEBC[mod]=book1F("EBC/" + TileCalibUtils::getDrawerString(4, mod),"EnergyTotalEBC","EnergyTotalEBC",m_maxTotalEnergy*2,0,m_maxTotalEnergy); - m_TileTBTotalEnergyEBC[mod]->SetXTitle("Charge[pC]"); - m_TileTBTotalEnergyEBC[mod]->SetYTitle("Entries"); - - m_TileTBSampleBCvsAEneEBC[mod]=book2F("EBC/" + TileCalibUtils::getDrawerString(4, mod),"EnergyTotalSampleBCVsA","EnergyTotalSampleBCVsA",m_maxTotalEnergy*2,0,m_maxTotalEnergy,m_maxTotalEnergy*2,0,m_maxTotalEnergy); - m_TileTBSampleBCvsAEneEBC[mod]->SetXTitle("Sample A Charge[pC]"); - m_TileTBSampleBCvsAEneEBC[mod]->SetYTitle("Sample B Charge[pC]"); - m_TileTBSampleBCvsAEneEBC[mod]->SetOption("COLZ"); - m_TileTBSampleDEneEBC[mod]=book1F("EBC/" + TileCalibUtils::getDrawerString(4, mod),"EnergyTotalSampleD","EnergyTotalSampleD",m_maxTotalEnergy*2,0,m_maxTotalEnergy); - m_TileTBSampleDEneEBC[mod]->SetXTitle("Sample D Charge[pC]"); - - m_TileTBHitMapLBA[mod]= book2F("LBA/" + TileCalibUtils::getDrawerString(1, mod),"CellMap","CellMap",76,1,77,44,1,45) ; - m_TileTBHitMapLBA[mod]->SetOption("COLZ"); - m_TileTBHitMapLBA[mod]->SetStats(0); - m_TileTBHitMapLBA[mod]->SetZTitle("Charge[pC]"); - - m_TileTBTotalEnergyLBA[mod]=book1F("LBA/" + TileCalibUtils::getDrawerString(1, mod),"EnergyTotalLBA","EnergyTotalLBA",m_maxTotalEnergy*2,0,m_maxTotalEnergy); - m_TileTBTotalEnergyLBA[mod]->SetXTitle("Charge[pC]"); - m_TileTBTotalEnergyLBA[mod]->SetYTitle("Entries"); - - m_TileTBSampleBCvsAEneLBA[mod]=book2F("LBA/" + TileCalibUtils::getDrawerString(1, mod),"EnergyTotalSampleBCVsA","EnergyTotalSampleBCVsA",m_maxTotalEnergy*2,0,m_maxTotalEnergy,m_maxTotalEnergy*2,0,m_maxTotalEnergy); - m_TileTBSampleBCvsAEneLBA[mod]->SetXTitle("Sample A Charge[pC]"); - m_TileTBSampleBCvsAEneLBA[mod]->SetYTitle("Sample BC Charge[pC]"); - m_TileTBSampleBCvsAEneLBA[mod]->SetOption("COLZ"); - m_TileTBSampleDEneLBA[mod]=book1F("LBA/" + TileCalibUtils::getDrawerString(1, mod),"EnergyTotalSampleD","EnergyTotalSampleD",m_maxTotalEnergy*2,0,m_maxTotalEnergy); - m_TileTBSampleDEneLBA[mod]->SetXTitle("Sample D Charge[pC]"); - - m_TileTBHitMapLBC[mod]= book2F("LBC/" + TileCalibUtils::getDrawerString(2, mod),"CellMap","CellMap",76,1,77,44,1,45) ; - m_TileTBHitMapLBC[mod]->SetOption("COLZ"); - m_TileTBHitMapLBC[mod]->SetStats(0); - m_TileTBHitMapLBC[mod]->SetZTitle("Charge[pC]"); - - m_TileTBTotalEnergyLBC[mod]=book1F("LBC/" + TileCalibUtils::getDrawerString(2, mod),"EnergyTotalLBC","EnergyTotalLBC",m_maxTotalEnergy*2,0,m_maxTotalEnergy); - m_TileTBTotalEnergyLBC[mod]->SetXTitle("Charge[pC]"); - m_TileTBTotalEnergyLBC[mod]->SetYTitle("Entries"); - - m_TileTBSampleBCvsAEneLBC[mod]=book2F("LBC/" + TileCalibUtils::getDrawerString(2, mod),"EnergyTotalSampleBCVsA","EnergyTotalSampleBCVsA",m_maxTotalEnergy*2,0,m_maxTotalEnergy,m_maxTotalEnergy*2,0,m_maxTotalEnergy); - m_TileTBSampleBCvsAEneLBC[mod]->SetXTitle("Sample A Charge[pC]"); - m_TileTBSampleBCvsAEneLBC[mod]->SetYTitle("Sample BC Charge[pC]"); - m_TileTBSampleBCvsAEneLBC[mod]->SetOption("COLZ"); - m_TileTBSampleDEneLBC[mod]=book1F("LBC/" + TileCalibUtils::getDrawerString(2, mod),"EnergyTotalSampleD","EnergyTotalSampleD",m_maxTotalEnergy*2,0,m_maxTotalEnergy); - m_TileTBSampleDEneLBC[mod]->SetXTitle("Sample D Charge[pC]"); - - for (int x=0;x<14;x++) { - m_TileTBCellEneSumEBA[mod][x]=book1F("EBA/" + TileCalibUtils::getDrawerString(3, mod),"CellEnergy"+m_cellHitMapNameEB[x],"CellEnergy"+m_cellHitMapNameEB[x],m_maxTotalEnergy*2,0,m_maxEnergy); - m_TileTBCellEneSumEBA[mod][x]->SetXTitle("Charge[pC]"); - m_TileTBCellEneDiffEBA[mod][x]=book1F("EBA/" + TileCalibUtils::getDrawerString(3, mod),"CellEnergyDiff"+m_cellHitMapNameEB[x],"CellEnergyDiff"+m_cellHitMapNameEB[x],50,-20,20); - m_TileTBCellEneDiffEBA[mod][x]->SetXTitle("Charge[pC]"); - - m_TileTBCellTimeSumEBA[mod][x]=book1F("EBA/" + TileCalibUtils::getDrawerString(3, mod),"CellTime"+m_cellHitMapNameEB[x],"CellTime"+m_cellHitMapNameEB[x],nTimeBins,m_timeRange[0],m_timeRange[1]); - m_TileTBCellTimeSumEBA[mod][x]->SetXTitle("Time"); - m_TileTBCellTimeDiffEBA[mod][x]=book1F("EBA/" + TileCalibUtils::getDrawerString(3, mod),"CellTimeDiff"+m_cellHitMapNameEB[x],"CellTimeDiff"+m_cellHitMapNameEB[x],nTimeBins,m_timeRange[0],m_timeRange[1]); - m_TileTBCellTimeDiffEBA[mod][x]->SetXTitle("Time"); - - m_TileTBCellEneLeftVsRightPMTEBA[mod][x]=book2F("EBA/" + TileCalibUtils::getDrawerString(3, mod),"CellEnergyLeftVsRightPMT"+m_cellHitMapNameEB[x],"CellEnergyLeftVsRightPMT"+m_cellHitMapNameEB[x],nTimeBins,0,m_maxEnergy,nTimeBins,0,m_maxEnergy); - m_TileTBCellEneLeftVsRightPMTEBA[mod][x]->SetOption("COLZ"); - m_TileTBCellEneLeftVsRightPMTEBA[mod][x]->SetXTitle("Charge[pC]"); - m_TileTBCellEneLeftVsRightPMTEBA[mod][x]->SetYTitle("Charge[pC]"); - - m_TileTBCellTimeLeftVsRightPMTEBA[mod][x]=book2F("EBA/" + TileCalibUtils::getDrawerString(3, mod),"CellTimeLeftVsRightPMT"+m_cellHitMapNameEB[x],"CellTimeLeftVsRightPMT"+m_cellHitMapNameEB[x],nTimeBins, m_timeRange[0], m_timeRange[1],nTimeBins, m_timeRange[0], m_timeRange[1]); - m_TileTBCellTimeLeftVsRightPMTEBA[mod][x]->SetOption("COLZ"); - m_TileTBCellTimeLeftVsRightPMTEBA[mod][x]->SetXTitle("Time[ns]"); - m_TileTBCellTimeLeftVsRightPMTEBA[mod][x]->SetYTitle("Time[ns]"); - - m_TileTBCellEneSumEBC[mod][x]=book1F("EBC/" + TileCalibUtils::getDrawerString(4, mod),"CellEnergy"+m_cellHitMapNameEB[x],"CellEnergy"+m_cellHitMapNameEB[x],m_maxTotalEnergy*2,0,m_maxEnergy); - m_TileTBCellEneSumEBC[mod][x]->SetXTitle("Charge[pC]"); - m_TileTBCellEneDiffEBC[mod][x]=book1F("EBC/" + TileCalibUtils::getDrawerString(4, mod),"CellEnergyDiff"+m_cellHitMapNameEB[x],"CellEnergyDiff"+m_cellHitMapNameEB[x],50,-20,20); - m_TileTBCellEneDiffEBC[mod][x]->SetXTitle("Charge[pC]"); - - m_TileTBCellTimeSumEBC[mod][x]=book1F("EBC/" + TileCalibUtils::getDrawerString(4, mod),"CellTime"+m_cellHitMapNameEB[x],"CellTime"+m_cellHitMapNameEB[x],nTimeBins,m_timeRange[0],m_timeRange[1]); - m_TileTBCellTimeSumEBC[mod][x]->SetXTitle("Time"); - m_TileTBCellTimeDiffEBC[mod][x]=book1F("EBC/" + TileCalibUtils::getDrawerString(4, mod),"CellTimeDiff"+m_cellHitMapNameEB[x],"CellTimeDiff"+m_cellHitMapNameEB[x],nTimeBins,m_timeRange[0],m_timeRange[1]); - m_TileTBCellTimeDiffEBC[mod][x]->SetXTitle("Time"); - - m_TileTBCellEneLeftVsRightPMTEBC[mod][x]=book2F("EBC/" + TileCalibUtils::getDrawerString(4, mod),"CellEnergyLeftVsRightPMT"+m_cellHitMapNameEB[x],"CellEnergyLeftVsRightPMT"+m_cellHitMapNameEB[x],nTimeBins,0,m_maxEnergy,nTimeBins,0,m_maxEnergy); - m_TileTBCellEneLeftVsRightPMTEBC[mod][x]->SetOption("COLZ"); - m_TileTBCellEneLeftVsRightPMTEBC[mod][x]->SetXTitle("Charge[pC]"); - m_TileTBCellEneLeftVsRightPMTEBC[mod][x]->SetYTitle("Charge[pC]"); - - m_TileTBCellTimeLeftVsRightPMTEBC[mod][x]=book2F("EBC/" + TileCalibUtils::getDrawerString(4, mod),"CellTimeLeftVsRightPMT"+m_cellHitMapNameEB[x],"CellTimeLeftVsRightPMT"+m_cellHitMapNameEB[x],nTimeBins, m_timeRange[0], m_timeRange[1],nTimeBins, m_timeRange[0], m_timeRange[1]); - m_TileTBCellTimeLeftVsRightPMTEBC[mod][x]->SetOption("COLZ"); - m_TileTBCellTimeLeftVsRightPMTEBC[mod][x]->SetXTitle("Time[ns]"); - m_TileTBCellTimeLeftVsRightPMTEBC[mod][x]->SetYTitle("Time[ns]"); - - } - - for (int x=0;x<23;x++) { - m_TileTBCellEneSumLBA[mod][x]=book1F("LBA/" + TileCalibUtils::getDrawerString(1, mod),"CellEnergy"+m_cellHitMapNameLB[x],"CellEnergy"+m_cellHitMapNameLB[x],m_maxTotalEnergy*2,0,m_maxEnergy); - m_TileTBCellEneSumLBA[mod][x]->SetXTitle("Charge[pC]"); - m_TileTBCellEneDiffLBA[mod][x]=book1F("LBA/" + TileCalibUtils::getDrawerString(1, mod),"CellEnergyDiff"+m_cellHitMapNameLB[x],"CellEnergyDiff"+m_cellHitMapNameLB[x],50,-20,20); - m_TileTBCellEneDiffLBA[mod][x]->SetXTitle("Charge[pC]"); - - m_TileTBCellTimeSumLBA[mod][x]=book1F("LBA/" + TileCalibUtils::getDrawerString(1, mod),"CellTime"+m_cellHitMapNameLB[x],"CellTime"+m_cellHitMapNameLB[x],nTimeBins,m_timeRange[0],m_timeRange[1]); - m_TileTBCellTimeSumLBA[mod][x]->SetXTitle("Time"); - m_TileTBCellTimeDiffLBA[mod][x]=book1F("LBA/" + TileCalibUtils::getDrawerString(1, mod),"CellTimeDiff"+m_cellHitMapNameLB[x],"CellTimeDiff"+m_cellHitMapNameLB[x],nTimeBins,m_timeRange[0],m_timeRange[1]); - m_TileTBCellTimeDiffLBA[mod][x]->SetXTitle("Time"); - - m_TileTBCellEneLeftVsRightPMTLBA[mod][x]=book2F("LBA/" + TileCalibUtils::getDrawerString(1, mod),"CellEnergyLeftVsRightPMT"+m_cellHitMapNameLB[x],"CellEnergyLeftVsRightPMT"+m_cellHitMapNameLB[x],nTimeBins,0,m_maxEnergy,nTimeBins,0,m_maxEnergy); - m_TileTBCellEneLeftVsRightPMTLBA[mod][x]->SetOption("COLZ"); - m_TileTBCellEneLeftVsRightPMTLBA[mod][x]->SetXTitle("Charge[pC]"); - m_TileTBCellEneLeftVsRightPMTLBA[mod][x]->SetYTitle("Charge[pC]"); - - m_TileTBCellTimeLeftVsRightPMTLBA[mod][x]=book2F("LBA/" + TileCalibUtils::getDrawerString(1, mod),"CellTimeLeftVsRightPMT"+m_cellHitMapNameLB[x],"CellTimeLeftVsRightPMT"+m_cellHitMapNameLB[x],nTimeBins, m_timeRange[0], m_timeRange[1],nTimeBins, m_timeRange[0], m_timeRange[1]); - m_TileTBCellTimeLeftVsRightPMTLBA[mod][x]->SetOption("COLZ"); - m_TileTBCellTimeLeftVsRightPMTLBA[mod][x]->SetXTitle("Time[ns]"); - m_TileTBCellTimeLeftVsRightPMTLBA[mod][x]->SetYTitle("Time[ns]"); - - m_TileTBCellEneSumLBC[mod][x]=book1F("LBC/" + TileCalibUtils::getDrawerString(2, mod),"CellEnergy"+m_cellHitMapNameLB[x],"CellEnergy"+m_cellHitMapNameLB[x],m_maxTotalEnergy*2,0,m_maxEnergy); - m_TileTBCellEneSumLBC[mod][x]->SetXTitle("Charge[pC]"); - m_TileTBCellEneDiffLBC[mod][x]=book1F("LBC/" + TileCalibUtils::getDrawerString(2, mod),"CellEnergyDiff"+m_cellHitMapNameLB[x],"CellEnergyDiff"+m_cellHitMapNameLB[x],50,-20,20); - m_TileTBCellEneDiffLBC[mod][x]->SetXTitle("Charge[pC]"); - - m_TileTBCellTimeSumLBC[mod][x]=book1F("LBC/" + TileCalibUtils::getDrawerString(2, mod),"CellTime"+m_cellHitMapNameLB[x],"CellTime"+m_cellHitMapNameLB[x],nTimeBins,m_timeRange[0],m_timeRange[1]); - m_TileTBCellTimeSumLBC[mod][x]->SetXTitle("Time"); - m_TileTBCellTimeDiffLBC[mod][x]=book1F("LBC/" + TileCalibUtils::getDrawerString(2, mod),"CellTimeDiff"+m_cellHitMapNameLB[x],"CellTimeDiff"+m_cellHitMapNameLB[x],nTimeBins,m_timeRange[0],m_timeRange[1]); - m_TileTBCellTimeDiffLBC[mod][x]->SetXTitle("Time"); - - m_TileTBCellEneLeftVsRightPMTLBC[mod][x]=book2F("LBC/" + TileCalibUtils::getDrawerString(2, mod),"CellEnergyLeftVsRightPMT"+m_cellHitMapNameLB[x],"CellEnergyLeftVsRightPMT"+m_cellHitMapNameLB[x],nTimeBins,0,m_maxEnergy,nTimeBins,0,m_maxEnergy); - m_TileTBCellEneLeftVsRightPMTLBC[mod][x]->SetOption("COLZ"); - m_TileTBCellEneLeftVsRightPMTLBC[mod][x]->SetXTitle("Charge[pC]"); - m_TileTBCellEneLeftVsRightPMTLBC[mod][x]->SetYTitle("Charge[pC]"); - - m_TileTBCellTimeLeftVsRightPMTLBC[mod][x]=book2F("LBC/" + TileCalibUtils::getDrawerString(2, mod),"CellTimeLeftVsRightPMT"+m_cellHitMapNameLB[x],"CellTimeLeftVsRightPMT"+m_cellHitMapNameLB[x],nTimeBins, m_timeRange[0], m_timeRange[1],nTimeBins, m_timeRange[0], m_timeRange[1]); - m_TileTBCellTimeLeftVsRightPMTLBC[mod][x]->SetOption("COLZ"); - m_TileTBCellTimeLeftVsRightPMTLBC[mod][x]->SetXTitle("Time[ns]"); - m_TileTBCellTimeLeftVsRightPMTLBC[mod][x]->SetYTitle("Time[ns]"); - } - //cell D0 for long barrel. - m_TileTBCellEneSumLBAD0[mod]=book1F("LBA/" + TileCalibUtils::getDrawerString(1, mod),"CellEnergyD01","CellEnergyD0",m_maxTotalEnergy*2,0,m_maxTotalEnergy); - m_TileTBCellEneSumLBCD0[mod]=book1F("LBC/" + TileCalibUtils::getDrawerString(2, mod),"CellEnergyD01","CellEnergyD0",m_maxTotalEnergy*2,0,m_maxTotalEnergy); - m_TileTBCellTimeSumLBAD0[mod]=book1F("LBA/" + TileCalibUtils::getDrawerString(1, mod),"CellTimeD01","CellTimeD0",nTimeBins,m_timeRange[0],m_timeRange[1]); - m_TileTBCellTimeSumLBCD0[mod]=book1F("LBC/" + TileCalibUtils::getDrawerString(2, mod),"CellTimeD01","CellTimeD0",nTimeBins,m_timeRange[0],m_timeRange[1]); - } - return StatusCode::SUCCESS; -} - - -/*---------------------------------------------------------*/ -StatusCode TileTBCellMonTool::fillHistograms() { - /*---------------------------------------------------------*/ - - - - // Pointer to a Tile cell container - const CaloCellContainer* cell_container; - - //Retrieve Cell collection from SG - CHECK( evtStore()->retrieve(cell_container, m_cellsContName) ); - if (cell_container->empty()) return StatusCode::SUCCESS; - - std::string letterA="A"; - std::string letterB="B"; - std::string letterD="D"; - double totalEnergyEBA[MAX_MODULE]; - double totalEnergyEBC[MAX_MODULE]; - double totalEnergyLBA[MAX_MODULE]; - double totalEnergyLBC[MAX_MODULE]; - - double totalEnergyEBASampleA[MAX_MODULE]; - double totalEnergyEBCSampleA[MAX_MODULE]; - double totalEnergyLBASampleA[MAX_MODULE]; - double totalEnergyLBCSampleA[MAX_MODULE]; - - double totalEnergyEBASampleBC[MAX_MODULE]; - double totalEnergyEBCSampleBC[MAX_MODULE]; - double totalEnergyLBASampleBC[MAX_MODULE]; - double totalEnergyLBCSampleBC[MAX_MODULE]; - - double totalEnergyEBASampleD[MAX_MODULE]; - double totalEnergyEBCSampleD[MAX_MODULE]; - double totalEnergyLBASampleD[MAX_MODULE]; - double totalEnergyLBCSampleD[MAX_MODULE]; - for (int mod=0;mod<MAX_MODULE;++mod) { - totalEnergyEBA[mod]=0.0; - totalEnergyEBC[mod]=0.0; - totalEnergyLBA[mod]=0.0; - totalEnergyLBC[mod]=0.0; - - totalEnergyEBASampleA[mod]=0.0; - totalEnergyEBCSampleA[mod]=0.0; - totalEnergyLBASampleA[mod]=0.0; - totalEnergyLBCSampleA[mod]=0.0; - - totalEnergyEBASampleBC[mod]=0.0; - totalEnergyEBCSampleBC[mod]=0.0; - totalEnergyLBASampleBC[mod]=0.0; - totalEnergyLBCSampleBC[mod]=0.0; - - totalEnergyEBASampleD[mod]=0.0; - totalEnergyEBCSampleD[mod]=0.0; - totalEnergyLBASampleD[mod]=0.0; - totalEnergyLBCSampleD[mod]=0.0; - } - - int drw = 0; // drawer number, range 0-63, the same for both channels - short ch1 = -1, ch2 = -1; // channel number, range 0-47 or -1 for unknown - int ros1(-1); - int ros2(-1); - - for (const CaloCell* cell : *cell_container) { - - Identifier id = cell->ID(); - - - if ( m_tileID->is_tile(id) ) { - - const TileCell* tile_cell = dynamic_cast<const TileCell*>(cell); - if (tile_cell == 0) continue; - /* - int drw = 0; // drawer number, range 0-63, the same for both channels - short ch1 = -1, ch2 = -1; // channel number, range 0-47 or -1 for unknown - int ros1(-1); - int ros2(-1);*/ - - const CaloDetDescrElement * caloDDE = tile_cell->caloDDE(); - - IdentifierHash hash1 = caloDDE->onl1(); - if (hash1 != TileHWID::NOT_VALID_HASH) { - HWIdentifier hw1 = m_tileHWID->channel_id(hash1); - ch1 = m_tileHWID->channel(hw1); - drw = m_tileHWID->drawer(hw1); - ros1 = m_tileHWID->ros(hw1); - } - - IdentifierHash hash2 = caloDDE->onl2(); - if (hash2 != TileHWID::NOT_VALID_HASH) { - HWIdentifier hw2 = m_tileHWID->channel_id(hash2); - ch2 = m_tileHWID->channel(hw2); - drw = m_tileHWID->drawer(hw2); - ros2 = m_tileHWID->ros(hw2); - } - //ATH_MSG_INFO( "id="<<id <<" ros1="<<ros1); - - - - - - // note that drawer from HWID and module from ID are different for E3 cells near MBTS - // double drawer = (double)drw + 1.0; // range from 1-64 - // double module = (double)m_tileID->module(id) + 1.0; // range from 1-64 - - int samp = m_tileID->sample(id); - - bool single_PMT_scin = (samp == TileID::SAMP_E); - bool single_PMT_C10 = (m_tileID->section(id) == TileID::GAPDET - && samp == TileID::SAMP_C - && (! m_cabling->C10_connected(m_tileID->module(id))) ); - - // distinguish cells with one or two PMTs - bool single_PMT = single_PMT_C10 || single_PMT_scin; - - // distinguish normal cells and fantoms (e.g. non-existing D4 in EBA15, EBC18 - // or non-existing E3/E4 - they might appear in CaloCellContainer) - bool real_cell = single_PMT_C10 || m_cabling->TileGap_connected(id); - - // int gn1 = tile_cell->gain1(); // gain of first PMT - // int gn2 = tile_cell->gain2(); // gain of second PMT - - - - - // get the cell energy, time and position info - double energy = cell->energy(); - double time = cell->time(); - // double quality = cell->quality(); - // double eta = cell->eta(); - // double phi = cell->phi(); - double ene1 = tile_cell->ene1(); - double ene2 = tile_cell->ene2(); - double ediff = (single_PMT) ? 0.0 : tile_cell->eneDiff(); - // double eratio = (energy!=0.0) ? ediff/energy : 0.0; - double t1 = tile_cell->time1(); - double t2 = tile_cell->time2(); - double tdiff = (single_PMT) ? 0.0 : 2.*tile_cell->timeDiff(); // attention! factor of 2 is needed here - - - - - - - energy=energy/1000.;//units of pC - ediff=ediff/1000.; - ene1=ene1/1000.; - ene2=ene2/1000.; - - - - if (real_cell) { - - if (m_fillTimeHistograms) { - if (ros1 == 1) { - /*if (ch1==0) { - std::cout<<"ch1="<<ch1<<"ch2="<<ch2<<"ros1="<<ros1<<"ros2="<<ros2<<std::endl; - }*/ - if (ch1 > 0 && ene1 > m_energyThresholdForTime) m_tileChannelTimeLBA[drw][ch1]->Fill(t1, 1.0); - if (ch2 > 0 && ene2 > m_energyThresholdForTime) m_tileChannelTimeLBA[drw][ch2]->Fill(t2, 1.0); - if (ch1>0) { - m_tileChannelEnergyLBA[drw][ch1]->Fill(ene1, 1.0); - //m_tileChannelEnergyVsTimeEBC02[ch1]->Fill(t1,ene1); - } - if (ch2>0) { - m_tileChannelEnergyLBA[drw][ch2]->Fill(ene2, 1.0); - //m_tileChannelEnergyVsTimeEBC02[ch2]->Fill(t2,ene2); - } - //handle cell D0 - if (ch1==0&&ch2==0) { - if (ene1 > m_energyThresholdForTime) m_tileChannelTimeLBA[drw][ch1]->Fill(t1, 1.0); - if (ene2 > m_energyThresholdForTime) m_tileChannelTimeLBC[drw][ch2]->Fill(t2, 1.0); - m_tileChannelEnergyLBA[drw][ch1]->Fill(ene1, 1.0); - m_tileChannelEnergyLBC[drw][ch2]->Fill(ene2, 1.0); - //std::cout<<"ene1="<<ene1<<"ene2="<<ene2<<"ros1="<<ros1<<"ros2="<<ros2<<std::endl; - - } - } - /*if ((ch1==0||ch2==0)&&(ros1==1||ros1==2||ros2==1||ros2==2)) { - std::cout<<"energy="<<energy<<"ene1="<<ene1<<"ene2="<<ene2<<"ros1="<<ros1<<"ros2="<<ros2<<"ch1="<<ch1<<"ch2="<<ch2<<std::endl; - }*/ - //if (ros2 == 2 && ch2 == 0 && ene2 > m_energyThresholdForTime) { - //m_tileChannelTimeLBC[drw][ch2]->Fill(t2, 1.0); - //} else if (ros1 == 2) { - if (ros1 == 2) { - /*if (ch1==0) { - std::cout<<"ch1="<<ch1<<"ch2="<<ch2<<"ros1="<<ros1<<"ros2="<<ros2<<std::endl; - }*/ - if (ch1 > 0 && ene1 > m_energyThresholdForTime) m_tileChannelTimeLBC[drw][ch1]->Fill(t1, 1.0); - if (ch2 > 0 && ene2 > m_energyThresholdForTime) m_tileChannelTimeLBC[drw][ch2]->Fill(t2, 1.0); - if (ch1>0) { - m_tileChannelEnergyLBC[drw][ch1]->Fill(ene1, 1.0); - //m_tileChannelEnergyVsTimeLBC01[ch1]->Fill(t1,ene1); - } - if (ch2>0) { - m_tileChannelEnergyLBC[drw][ch2]->Fill(ene2, 1.0); - //m_tileChannelEnergyVsTimeLBC01[ch2]->Fill(t2,ene2); - } - } - if (ros1 == 3) { - if (ch1 > 0 && ene1 > m_energyThresholdForTime) m_tileChannelTimeEBA[drw][ch1]->Fill(t1, 1.0); - if (ch2 > 0 && ene2 > m_energyThresholdForTime) m_tileChannelTimeEBA[drw][ch2]->Fill(t2, 1.0); - if (ch1>0) { - m_tileChannelEnergyEBA[drw][ch1]->Fill(ene1, 1.0); - //m_tileChannelEnergyVsTimeEBC02[ch1]->Fill(t1,ene1); - } - if (ch2>0) { - m_tileChannelEnergyEBA[drw][ch2]->Fill(ene2, 1.0); - //m_tileChannelEnergyVsTimeEBC02[ch2]->Fill(t2,ene2); - } - } - if (ros1 == 4) { - if (ch1 > 0 && ene1 > m_energyThresholdForTime) m_tileChannelTimeEBC[drw][ch1]->Fill(t1, 1.0); - if (ch2 > 0 && ene2 > m_energyThresholdForTime) m_tileChannelTimeEBC[drw][ch2]->Fill(t2, 1.0); - if (ch1>0) { - m_tileChannelEnergyEBC[drw][ch1]->Fill(ene1, 1.0); - //m_tileChannelEnergyVsTimeEBC02[ch1]->Fill(t1,ene1); - } - if (ch2>0) { - m_tileChannelEnergyEBC[drw][ch2]->Fill(ene2, 1.0); - //m_tileChannelEnergyVsTimeEBC02[ch2]->Fill(t2,ene2); - } - } - } - - - - - // masking on the fly: check if channel is bad in event, while it is good in DB - - // when only one channel is bad, it might be that gain of masked channel is not correct - // if two qualities are not identical, then gains are not the same (new feature introduced in rel 17.2) - //int qual1 = (int)tile_cell->qual1(); - //int qual2 = (int)tile_cell->qual2(); - - - //ATH_MSG_INFO( "ch1="<<ch1 ); - // check that both PMTs are good and that it is cell with 2 PMTs and it is an end barrel - - if (ros2==2&&ch2==0) { - - } - if (ros1==1){ - totalEnergyLBA[drw]+=energy; - fillHitMap(m_TileTBHitMapLBA[drw],m_cellHitMapLB[ch1],energy); - //If it is cell D0; - if (ch1==0) { - totalEnergyLBASampleD[drw]+=energy; - m_TileTBCellEneSumLBAD0[drw]->Fill(energy); - if (energy>m_energyThresholdForTime) { - m_TileTBCellTimeSumLBAD0[drw]->Fill(time); - } - - - } - - //check if it is a B Cell with a correspond C cell; - if (m_cellHitMapLB[ch1][5]!=-1) { - fillHitMap(m_TileTBHitMapLBA[drw],m_cellHitMapLB_C[m_cellHitMapLB[ch1][5]],energy); - } - - } - if (!single_PMT&&ch1>-1&&ch2>-1&&ros1==1) { - //fillHitMap(m_TileTBHitMapEBC,m_cellHitMapEB[ch1],energy); - if (m_cellHitMapLB[ch1][4]!=-1) { - m_TileTBCellEneSumLBA[drw][m_cellHitMapLB[ch1][4]]->Fill(energy); - m_TileTBCellEneDiffLBA[drw][m_cellHitMapLB[ch1][4]]->Fill(ediff); - m_TileTBCellEneLeftVsRightPMTLBA[drw][m_cellHitMapLB[ch1][4]]->Fill(ene1,ene2); - - if (energy>m_energyThresholdForTime) { - m_TileTBCellTimeSumLBA[drw][m_cellHitMapLB[ch1][4]]->Fill(time); - m_TileTBCellTimeDiffLBA[drw][m_cellHitMapLB[ch1][4]]->Fill(tdiff); - m_TileTBCellTimeLeftVsRightPMTLBA[drw][m_cellHitMapLB[ch1][4]]->Fill(t1,t2); - } - if (m_cellHitMapNameLB[m_cellHitMapLB[ch1][4]].find(letterA) != std::string::npos ) { - totalEnergyLBASampleA[drw]+=energy; - } else if (m_cellHitMapNameLB[m_cellHitMapLB[ch1][4]].find(letterB) != std::string::npos ) { - totalEnergyLBASampleBC[drw]+=energy; - } else if (m_cellHitMapNameLB[m_cellHitMapLB[ch1][4]].find(letterD) != std::string::npos ) { - totalEnergyLBASampleD[drw]+=energy; - } - } - //If it is cell D0; - /*if (ch1==0) { - m_TileTBCellEneSumLBAD0->Fill(energy); - if (energy>m_energyThresholdForTime) { - m_TileTBCellTimeSumLBAD0->Fill(time); - } - }*/ - } - if (ros1==2){ - totalEnergyLBC[drw]+=energy; - fillHitMap(m_TileTBHitMapLBC[drw],m_cellHitMapLB[ch1],energy); - - //count channel D0 as energy in LBA - if (ch1==0) { - totalEnergyLBA[drw]+=energy; - fillHitMap(m_TileTBHitMapLBA[drw],m_cellHitMapLB[ch1],energy); - } - /* - //If it is cell D0; - if (ch1==0) { - //totalEnergyLBASampleD[drw]+=energy; - //m_TileTBCellEneSumLBCD0[drw]->Fill(energy); - if (energy>m_energyThresholdForTime) { - //m_TileTBCellTimeSumLBCD0[drw]->Fill(time); - } - }*/ - //ATH_MSG_INFO( "m_cellHitMapLB["<<ch1<<"]="<<m_cellHitMapLB[ch1] ); - - //check if it is a B Cell with a correspond C cell; - if (m_cellHitMapLB[ch1][5]!=-1) { - //ATH_MSG_INFO( "m_cellHitMapLB["<<ch1<<"][5]="<<m_cellHitMapLB[ch1][5]<<" "<<m_cellHitMapLB_C[m_cellHitMapLB[ch1][5]] ); - fillHitMap(m_TileTBHitMapLBC[drw],m_cellHitMapLB_C[m_cellHitMapLB[ch1][5]],energy); - } - } - if (!single_PMT&&ch1>-1&&ch2>-1&&ros1==2) { - //fillHitMap(m_TileTBHitMapEBC,m_cellHitMapEB[ch1],energy); - if (m_cellHitMapLB[ch1][4]!=-1) { - m_TileTBCellEneSumLBC[drw][m_cellHitMapLB[ch1][4]]->Fill(energy); - m_TileTBCellEneDiffLBC[drw][m_cellHitMapLB[ch1][4]]->Fill(ediff); - m_TileTBCellEneLeftVsRightPMTLBC[drw][m_cellHitMapLB[ch1][4]]->Fill(ene1,ene2); - if (energy>m_energyThresholdForTime) { - m_TileTBCellTimeSumLBC[drw][m_cellHitMapLB[ch1][4]]->Fill(time); - m_TileTBCellTimeDiffLBC[drw][m_cellHitMapLB[ch1][4]]->Fill(tdiff); - m_TileTBCellTimeLeftVsRightPMTLBC[drw][m_cellHitMapLB[ch1][4]]->Fill(t1,t2); - } - if (m_cellHitMapNameLB[m_cellHitMapLB[ch1][4]].find(letterA) != std::string::npos ) { - totalEnergyLBCSampleA[drw]+=energy; - } else if (m_cellHitMapNameLB[m_cellHitMapLB[ch1][4]].find(letterB) != std::string::npos ) { - totalEnergyLBCSampleBC[drw]+=energy; - } else if (m_cellHitMapNameLB[m_cellHitMapLB[ch1][4]].find(letterD) != std::string::npos ) { - totalEnergyLBCSampleD[drw]+=energy; - } - } - //If it is cell D0; - /*if (ch2==0) { - m_TileTBCellEneSumLBCD0->Fill(energy); - if (energy>m_energyThresholdForTime) { - m_TileTBCellTimeSumLBCD0->Fill(time); - } - }*/ - } - if (ros1==3){ - totalEnergyEBA[drw]+=energy; - } - if (!single_PMT&&ch1>-1&&ch2>-1&&ros1==3) { - if (m_cellHitMapEB[ch1][4]!=-1) { - fillHitMap(m_TileTBHitMapEBA[drw],m_cellHitMapEB[ch1],energy); - m_TileTBCellEneSumEBA[drw][m_cellHitMapEB[ch1][4]]->Fill(energy); - m_TileTBCellEneDiffEBA[drw][m_cellHitMapEB[ch1][4]]->Fill(ediff); - m_TileTBCellEneLeftVsRightPMTEBA[drw][m_cellHitMapEB[ch1][4]]->Fill(ene1,ene2); - - if (energy>m_energyThresholdForTime) { - m_TileTBCellTimeSumEBA[drw][m_cellHitMapEB[ch1][4]]->Fill(time); - m_TileTBCellTimeDiffEBA[drw][m_cellHitMapEB[ch1][4]]->Fill(tdiff); - m_TileTBCellTimeLeftVsRightPMTEBA[drw][m_cellHitMapEB[ch1][4]]->Fill(t1,t2); - } - if (m_cellHitMapNameEB[m_cellHitMapEB[ch1][4]].find(letterA) != std::string::npos ) { - totalEnergyEBASampleA[drw]+=energy; - } else if (m_cellHitMapNameEB[m_cellHitMapEB[ch1][4]].find(letterB) != std::string::npos ) { - totalEnergyEBASampleBC[drw]+=energy; - } else if (m_cellHitMapNameEB[m_cellHitMapEB[ch1][4]].find(letterD) != std::string::npos ) { - totalEnergyEBASampleD[drw]+=energy; - } - } - } - if (ros1==4){ - totalEnergyEBC[drw]+=energy; - } - if (!single_PMT&&ch1>-1&&ch2>-1&&ros1==4) { - if (m_cellHitMapEB[ch1][4]!=-1) { - fillHitMap(m_TileTBHitMapEBC[drw],m_cellHitMapEB[ch1],energy); - m_TileTBCellEneSumEBC[drw][m_cellHitMapEB[ch1][4]]->Fill(energy); - m_TileTBCellEneDiffEBC[drw][m_cellHitMapEB[ch1][4]]->Fill(ediff); - m_TileTBCellEneLeftVsRightPMTEBC[drw][m_cellHitMapEB[ch1][4]]->Fill(ene1,ene2); - - if (energy>m_energyThresholdForTime) { - m_TileTBCellTimeSumEBC[drw][m_cellHitMapEB[ch1][4]]->Fill(time); - m_TileTBCellTimeDiffEBC[drw][m_cellHitMapEB[ch1][4]]->Fill(tdiff); - m_TileTBCellTimeLeftVsRightPMTEBC[drw][m_cellHitMapEB[ch1][4]]->Fill(t1,t2); - } - if (m_cellHitMapNameEB[m_cellHitMapEB[ch1][4]].find(letterA) != std::string::npos ) { - totalEnergyEBCSampleA[drw]+=energy; - } else if (m_cellHitMapNameEB[m_cellHitMapEB[ch1][4]].find(letterB) != std::string::npos ) { - totalEnergyEBCSampleBC[drw]+=energy; - } else if (m_cellHitMapNameEB[m_cellHitMapEB[ch1][4]].find(letterD) != std::string::npos ) { - totalEnergyEBCSampleD[drw]+=energy; - } - } - } - - - - - - } //end if real cell - - } // end if tile_cell - } // end of loop over the Cells - for (int mod=0;mod<MAX_MODULE;++mod) { - m_TileTBTotalEnergyEBA[mod]->Fill(totalEnergyEBA[mod]); - m_TileTBTotalEnergyEBC[mod]->Fill(totalEnergyEBC[mod]); - m_TileTBTotalEnergyLBA[mod]->Fill(totalEnergyLBA[mod]); - m_TileTBTotalEnergyLBC[mod]->Fill(totalEnergyLBC[mod]); - - m_TileTBSampleBCvsAEneEBA[mod]->Fill(totalEnergyEBASampleA[mod],totalEnergyEBASampleBC[mod]); - m_TileTBSampleBCvsAEneEBC[mod]->Fill(totalEnergyEBCSampleA[mod],totalEnergyEBCSampleBC[mod]); - m_TileTBSampleBCvsAEneLBA[mod]->Fill(totalEnergyLBASampleA[mod],totalEnergyLBASampleBC[mod]); - m_TileTBSampleBCvsAEneLBC[mod]->Fill(totalEnergyLBCSampleA[mod],totalEnergyLBCSampleBC[mod]); - - m_TileTBSampleDEneEBA[mod]->Fill(totalEnergyEBASampleD[mod]); - m_TileTBSampleDEneEBC[mod]->Fill(totalEnergyEBCSampleD[mod]); - m_TileTBSampleDEneLBA[mod]->Fill(totalEnergyLBASampleD[mod]); - m_TileTBSampleDEneLBC[mod]->Fill(totalEnergyLBCSampleD[mod]); - } - - - - - - - return StatusCode::SUCCESS; -} - -void TileTBCellMonTool::fillHitMap(TH2F *hHitMap,int cellHitMap2[],double energy) { - for (int x=cellHitMap2[0];x<=cellHitMap2[2];x++) { - for (int y=cellHitMap2[1];y<=cellHitMap2[3];y++) { - //ATH_MSG_INFO( "x="<<x<<" y="<<y ); - hHitMap->Fill(x,y,energy); - } - } -} - - -/*---------------------------------------------------------*/ -StatusCode TileTBCellMonTool::procHistograms() { -/*---------------------------------------------------------*/ - - - if (endOfRunFlag()) { - ATH_MSG_INFO( "in procHistograms()" ); - ATH_MSG_INFO( "Doing fits" ); - /* - Double_t fr[2]; - Double_t sv[4], pllo[4], plhi[4], fp[4], fpe[4]; - fr[0]=.5; - fr[1]=800; - - int module=0; - pllo[0]=0.5; pllo[1]=40; pllo[2]=1.0; pllo[3]=0.4; - plhi[0]=100; plhi[1]=120.0; plhi[2]=1000000000.0; plhi[3]=100; - sv[0]=1.8; sv[1]=80.0; sv[2]=m_TileTBTotalEnergyLBC[module]->GetEntries(); sv[3]=3.0; - - Double_t chisqr; - Int_t ndf; - langaufit(m_TileTBTotalEnergyLBC[module],fr,sv,pllo,plhi,fp,fpe,&chisqr,&ndf); - - pllo[0]=0.5; pllo[1]=40; pllo[2]=1.0; pllo[3]=0.4; - plhi[0]=100; plhi[1]=120.0; plhi[2]=1000000000.0; plhi[3]=100; - sv[0]=1.8; sv[1]=80.0; sv[2]=m_TileTBTotalEnergyLBA[module]->GetEntries(); sv[3]=3.0; - - langaufit(m_TileTBTotalEnergyLBA[module],fr,sv,pllo,plhi,fp,fpe,&chisqr,&ndf); - - pllo[0]=0.5; pllo[1]=40; pllo[2]=1.0; pllo[3]=0.4; - plhi[0]=100; plhi[1]=120.0; plhi[2]=1000000000.0; plhi[3]=100; - sv[0]=1.8; sv[1]=80.0; sv[2]=m_TileTBTotalEnergyEBA[module]->GetEntries(); sv[3]=3.0; - - langaufit(m_TileTBTotalEnergyEBA[module],fr,sv,pllo,plhi,fp,fpe,&chisqr,&ndf); - - pllo[0]=0.5; pllo[1]=40; pllo[2]=1.0; pllo[3]=0.4; - plhi[0]=100; plhi[1]=120.0; plhi[2]=1000000000.0; plhi[3]=100; - sv[0]=1.8; sv[1]=80.0; sv[2]=m_TileTBTotalEnergyEBC[module]->GetEntries(); sv[3]=3.0; - - langaufit(m_TileTBTotalEnergyEBC[module],fr,sv,pllo,plhi,fp,fpe,&chisqr,&ndf);*/ - } - - - return StatusCode::SUCCESS; -} - -/*---------------------------------------------------------*/ -StatusCode TileTBCellMonTool::checkHists(bool /* fromFinalize */) { -/*---------------------------------------------------------*/ - - - ATH_MSG_INFO( "in checkHists()" ); - - return StatusCode::SUCCESS; -} - - - - -// Operations to be done only once at the first event -/*---------------------------------------------------------*/ -void TileTBCellMonTool::FirstEvInit() { -/*---------------------------------------------------------*/ - - - - -} - -Double_t langaufun(Double_t *x, Double_t *par) { - - //Fit parameters: - //par[0]=Width (scale) parameter of Landau density - //par[1]=Most Probable (MP, location) parameter of Landau density - //par[2]=Total area (integral -inf to inf, normalization constant) - //par[3]=Width (sigma) of convoluted Gaussian function - // - //In the Landau distribution (represented by the CERNLIB approximation), - //the maximum is located at x=-0.22278298 with the location parameter=0. - //This shift is corrected within this function, so that the actual - //maximum is identical to the MP parameter. - - // Numeric constants - Double_t invsq2pi = 0.3989422804014; // (2 pi)^(-1/2) - Double_t mpshift = -0.22278298; // Landau maximum location - - // Control constants - Double_t np = 100.0; // number of convolution steps - Double_t sc = 5.0; // convolution extends to +-sc Gaussian sigmas - - // Variables - Double_t xx; - Double_t mpc; - Double_t fland; - Double_t sum = 0.0; - Double_t xlow,xupp; - Double_t step; - Double_t i; - - - // MP shift correction - mpc = par[1] - mpshift * par[0]; - - // Range of convolution integral - xlow = x[0] - sc * par[3]; - xupp = x[0] + sc * par[3]; - - step = (xupp-xlow) / np; - - // Convolution integral of Landau and Gaussian by sum - for(i=1.0; i<=np/2; i++) { - xx = xlow + (i-.5) * step; - fland = TMath::Landau(xx,mpc,par[0]) / par[0]; - sum += fland * TMath::Gaus(x[0],xx,par[3]); - - xx = xupp - (i-.5) * step; - fland = TMath::Landau(xx,mpc,par[0]) / par[0]; - sum += fland * TMath::Gaus(x[0],xx,par[3]); - } - - return (par[2] * step * sum * invsq2pi / par[3]); -} - - - -TF1 *TileTBCellMonTool::langaufit(TH1F *his, Double_t *fitrange, Double_t *startvalues, Double_t *parlimitslo, Double_t *parlimitshi, Double_t *fitparams, Double_t *fiterrors, Double_t *ChiSqr, Int_t *NDF) -{ - // Once again, here are the Landau * Gaussian parameters: - // par[0]=Width (scale) parameter of Landau density - // par[1]=Most Probable (MP, location) parameter of Landau density - // par[2]=Total area (integral -inf to inf, normalization constant) - // par[3]=Width (sigma) of convoluted Gaussian function - // - // Variables for langaufit call: - // his histogram to fit - // fitrange[2] lo and hi boundaries of fit range - // startvalues[4] reasonable start values for the fit - // parlimitslo[4] lower parameter limits - // parlimitshi[4] upper parameter limits - // fitparams[4] returns the final fit parameters - // fiterrors[4] returns the final fit errors - // ChiSqr returns the chi square - // NDF returns ndf - - Int_t i; - Char_t FunName[100]; - - sprintf(FunName,"Fitfcn_%s",his->GetName()); - - - TF1 *ffit = new TF1(FunName,langaufun,fitrange[0],fitrange[1],4); - ffit->SetParameters(startvalues); - ffit->SetParNames("Width","MP","Area","GSigma"); - - for (i=0; i<4; i++) { - ffit->SetParLimits(i, parlimitslo[i], parlimitshi[i]); - } - - his->Fit(FunName,"RB"); // fit within specified range, use ParLimits, do not plot - - ffit->GetParameters(fitparams); // obtain fit parameters - for (i=0; i<4; i++) { - fiterrors[i] = ffit->GetParError(i); // obtain fit parameter errors - } - ChiSqr[0] = ffit->GetChisquare(); // obtain chi^2 - NDF[0] = ffit->GetNDF(); // obtain ndf - - return (ffit); // return fit function - -} - -Int_t TileTBCellMonTool::langaupro(Double_t *params, Double_t &maxx, Double_t &FWHM) { - - // Seaches for the location (x value) at the maximum of the - // Landau-Gaussian convolute and its full width at half-maximum. - // - // The search is probably not very efficient, but it's a first try. - - Double_t p,x,fy,fxr,fxl; - Double_t step; - Double_t l,lold; - Int_t i = 0; - Int_t MAXCALLS = 10000; - - - // Search for maximum - - p = params[1] - 0.1 * params[0]; - step = 0.05 * params[0]; - lold = -2.0; - l = -1.0; - - - while ( (l != lold) && (i < MAXCALLS) ) { - i++; - - lold = l; - x = p + step; - l = langaufun(&x,params); - - if (l < lold) - step = -step/10; - - p += step; - } - - if (i == MAXCALLS) - return (-1); - - maxx = x; - - fy = l/2; - - - // Search for right x location of fy - - p = maxx + params[0]; - step = params[0]; - lold = -2.0; - l = -1e300; - i = 0; - - - while ( (l != lold) && (i < MAXCALLS) ) { - i++; - - lold = l; - x = p + step; - l = TMath::Abs(langaufun(&x,params) - fy); - - if (l > lold) - step = -step/10; - - p += step; - } - - if (i == MAXCALLS) - return (-2); - - fxr = x; - - - // Search for left x location of fy - - p = maxx - 0.5 * params[0]; - step = -params[0]; - lold = -2.0; - l = -1e300; - i = 0; - - while ( (l != lold) && (i < MAXCALLS) ) { - i++; - - lold = l; - x = p + step; - l = TMath::Abs(langaufun(&x,params) - fy); - - if (l > lold) - step = -step/10; - - p += step; - } - - if (i == MAXCALLS) - return (-3); - - - fxl = x; - - FWHM = fxr - fxl; - return (0); -} diff --git a/TileCalorimeter/TileMonitoring/src/TileTBCellMonTool.h b/TileCalorimeter/TileMonitoring/src/TileTBCellMonTool.h deleted file mode 100644 index d1991ad686bf60f3630badefceec11e21760d255..0000000000000000000000000000000000000000 --- a/TileCalorimeter/TileMonitoring/src/TileTBCellMonTool.h +++ /dev/null @@ -1,170 +0,0 @@ -/* - Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration -*/ - -// ******************************************************************** -// -// NAME: TileTBCellMonTool.h -// PACKAGE: TileMonitoring -// -// AUTHORS: Alexander Solodkov -// Luca Fiorini (Luca.Fiorini@cern.ch) -// -// ******************************************************************** -#ifndef TILETBMONTOOL_H -#define TILETBMONTOOL_H - -#include "TileFatherMonTool.h" -#include <cstdint> -#include <vector> - -class TH1F; -class TH2F; - -class ITileBadChanTool; -class TileCell; - -/** @class TileTBCellMonTool - * @brief Class for TileCal monitoring at cell level - */ - -class ATLAS_NOT_THREAD_SAFE TileTBCellMonTool: public TileFatherMonTool { // deprecated: ATLASRECTS-7259 - - public: - - TileTBCellMonTool(const std::string & type, const std::string & name, const IInterface* parent); - - virtual ~TileTBCellMonTool(); - - virtual StatusCode initialize() final; - - //pure virtual methods - StatusCode bookHistograms(); - StatusCode fillHistograms(); - StatusCode procHistograms(); - StatusCode checkHists(bool fromFinalize); - - StatusCode bookHistTrig(int trig); - StatusCode bookHistTrigPart(int trig, int part); - - void cleanHistVec(); - bool m_isFirstEv; - private: - - void calculateSynch(); - short isCellBad(const TileCell* tile_cell); - short isAdcBad(int partition, int module, int channel, int gain); - short nAdcBad(int partition); - void FirstEvInit(); - void ShiftLumiHist(TProfile2D*, int32_t); - void fillHitMap(TH2F *hHitMap,int cellHitMap[],double energy); - //Double_t langaufun(Double_t *x, Double_t *par); - TF1 *langaufit(TH1F *his, Double_t *fitrange, Double_t *startvalues, Double_t *parlimitslo, Double_t *parlimitshi, Double_t *fitparams, Double_t *fiterrors, Double_t *ChiSqr, Int_t *NDF); - //Double_t langaufun(Double_t *x, Double_t *par); - Int_t langaupro(Double_t *params, Double_t &maxx, Double_t &FWHM); - - - ToolHandle<ITileBadChanTool> m_tileBadChanTool; //!< Tile Bad Channel tool - - static const int MAX_MODULE = 3; - - bool m_doOnline{}; - double m_Threshold{}; - double m_NegThreshold{}; - double m_energyThresholdForTime{}; - double m_EneBalThreshold{}; - double m_TimBalThreshold{}; - int32_t m_TileCellTrig{}; - int32_t m_old_lumiblock{}; - int32_t m_delta_lumiblock{}; - int32_t m_OldLumiArray1[4][MAX_MODULE][4]={{{0}}}; - int32_t m_OldLumiArray2[4][MAX_MODULE][4]={{{0}}}; - int m_nEventsProcessed[9]={0}; // number of processed events per trigger - std::string m_cellsContName; - - double m_maxEnergy{}; - double m_maxTotalEnergy{}; - std::vector<float> m_timeRange; - - TH1F* m_tileChannelTimeLBA[MAX_MODULE][48]={}; - TH1F* m_tileChannelTimeLBC[MAX_MODULE][48]={}; - TH1F* m_tileChannelTimeEBA[MAX_MODULE][48]={}; - TH1F* m_tileChannelTimeEBC[MAX_MODULE][48]={}; - TH1F* m_tileChannelEnergyLBA[MAX_MODULE][48]={}; - TH1F* m_tileChannelEnergyLBC[MAX_MODULE][48]={}; - TH1F* m_tileChannelEnergyEBA[MAX_MODULE][48]={}; - TH1F* m_tileChannelEnergyEBC[MAX_MODULE][48]={}; - - int m_cellsInPartition[5] = {1151, 1472, 1408, 1151, 5182}; // EBA, LBA, LBC, EBC, ALL - bool m_fillTimeHistograms{}; - - TH1F* m_TileTBTotalEnergyEBA[MAX_MODULE]={}; - TH2F* m_TileTBHitMapEBA[MAX_MODULE]={}; - TH1F* m_TileTBCellEneSumEBA[MAX_MODULE][14]={}; - TH1F* m_TileTBCellEneDiffEBA[MAX_MODULE][14]={}; - TH1F* m_TileTBCellTimeSumEBA[MAX_MODULE][14]={}; - TH1F* m_TileTBCellTimeDiffEBA[MAX_MODULE][14]={}; - - TH2F* m_TileTBCellEneLeftVsRightPMTEBA[MAX_MODULE][14]={}; - TH2F* m_TileTBCellTimeLeftVsRightPMTEBA[MAX_MODULE][14]={}; - TH2F* m_TileTBSampleBCvsAEneEBA[MAX_MODULE]={}; - TH1F* m_TileTBSampleDEneEBA[MAX_MODULE]={}; - - TH1F* m_TileTBTotalEnergyEBC[MAX_MODULE]={}; - TH2F* m_TileTBHitMapEBC[MAX_MODULE]={}; - TH1F* m_TileTBCellEneSumEBC[MAX_MODULE][14]={}; - TH1F* m_TileTBCellEneDiffEBC[MAX_MODULE][14]={}; - TH1F* m_TileTBCellTimeSumEBC[MAX_MODULE][14]={}; - TH1F* m_TileTBCellTimeDiffEBC[MAX_MODULE][14]={}; - - TH2F* m_TileTBCellEneLeftVsRightPMTEBC[MAX_MODULE][14]={}; - TH2F* m_TileTBCellTimeLeftVsRightPMTEBC[MAX_MODULE][14]={}; - TH2F* m_TileTBSampleBCvsAEneEBC[MAX_MODULE]={}; - TH1F* m_TileTBSampleDEneEBC[MAX_MODULE]={}; - - TH1F* m_TileTBTotalEnergyLBA[MAX_MODULE]={}; - TH2F* m_TileTBHitMapLBA[MAX_MODULE]={}; - TH1F* m_TileTBCellEneSumLBAD0[MAX_MODULE]={}; - TH1F* m_TileTBCellEneSumLBA[MAX_MODULE][23]={}; - TH1F* m_TileTBCellEneDiffLBA[MAX_MODULE][23]={}; - TH1F* m_TileTBCellTimeSumLBAD0[MAX_MODULE]={}; - TH1F* m_TileTBCellTimeSumLBA[MAX_MODULE][23]={}; - TH1F* m_TileTBCellTimeDiffLBA[MAX_MODULE][23]={}; - - TH2F* m_TileTBCellEneLeftVsRightPMTLBA[MAX_MODULE][23]={}; - TH2F* m_TileTBCellTimeLeftVsRightPMTLBA[MAX_MODULE][23]={}; - TH2F* m_TileTBSampleBCvsAEneLBA[MAX_MODULE]={}; - TH1F* m_TileTBSampleDEneLBA[MAX_MODULE]={}; - - TH1F* m_TileTBTotalEnergyLBC[MAX_MODULE]={}; - TH2F* m_TileTBHitMapLBC[MAX_MODULE]={}; - TH1F* m_TileTBCellEneSumLBCD0[MAX_MODULE]={}; - TH1F* m_TileTBCellEneSumLBC[MAX_MODULE][23]={}; - TH1F* m_TileTBCellEneDiffLBC[MAX_MODULE][23]={}; - TH1F* m_TileTBCellTimeSumLBCD0[MAX_MODULE]={}; - TH1F* m_TileTBCellTimeSumLBC[MAX_MODULE][23]={}; - TH1F* m_TileTBCellTimeDiffLBC[MAX_MODULE][23]={}; - - TH2F* m_TileTBCellEneLeftVsRightPMTLBC[MAX_MODULE][23]={}; - TH2F* m_TileTBCellTimeLeftVsRightPMTLBC[MAX_MODULE][23]={}; - TH2F* m_TileTBSampleBCvsAEneLBC[MAX_MODULE]={}; - TH1F* m_TileTBSampleDEneLBC[MAX_MODULE]={}; - - /*cellHitMap[channel][bins] - * bins=0 is the lower x bin - * bins=1 is the lower y bin - * bins=2 is the upper x bin - * bins=3 is the upper y bin - * bins=4 corresponding name in cellHitMap - * bins=5 whether or not there is C cell for long barrel - */ - int m_cellHitMapEB[48][5]={{0}}; - int m_cellHitMapLB[48][6]={{0}}; - int m_cellHitMapLB_C[8][4]={{0}}; - std::string m_cellHitMapNameEB[14]; - std::string m_cellHitMapNameLB[23]; - - -}; - -#endif diff --git a/TileCalorimeter/TileMonitoring/src/components/TileMonitoring_entries.cxx b/TileCalorimeter/TileMonitoring/src/components/TileMonitoring_entries.cxx index cd26eac4ffb6805a55687fb739dd9760b934428d..ca51c1e2ebc9abc35f8f929e1000b803efa8f115 100644 --- a/TileCalorimeter/TileMonitoring/src/components/TileMonitoring_entries.cxx +++ b/TileCalorimeter/TileMonitoring/src/components/TileMonitoring_entries.cxx @@ -7,7 +7,6 @@ #include "../TileDigitsMonTool.h" #include "../TileRawChannelMonTool.h" #include "../TileCellNoiseMonTool.h" -#include "../TileTBCellMonTool.h" #include "../TileJetMonitorAlgorithm.h" #include "../TileDigitsFlxMonitorAlgorithm.h" #include "../TileDQFragMonitorAlgorithm.h" @@ -37,7 +36,6 @@ DECLARE_COMPONENT( TilePaterMonTool ) DECLARE_COMPONENT( TileDigitsMonTool ) DECLARE_COMPONENT( TileRawChannelMonTool ) DECLARE_COMPONENT( TileCellNoiseMonTool ) -DECLARE_COMPONENT( TileTBCellMonTool ) DECLARE_COMPONENT( TileJetMonitorAlgorithm ) DECLARE_COMPONENT( TileDigitsFlxMonitorAlgorithm ) DECLARE_COMPONENT( TileDQFragMonitorAlgorithm ) diff --git a/Trigger/TrigMonitoring/TrigTauMonitoring/src/TrigTauMonitorBaseAlgorithm.cxx b/Trigger/TrigMonitoring/TrigTauMonitoring/src/TrigTauMonitorBaseAlgorithm.cxx index 8eafea1d54e7991dd5d950b08dac95858cc30339..714f54b2b8a9cc4409e5b984b5fde8c2811a931a 100644 --- a/Trigger/TrigMonitoring/TrigTauMonitoring/src/TrigTauMonitorBaseAlgorithm.cxx +++ b/Trigger/TrigMonitoring/TrigTauMonitoring/src/TrigTauMonitorBaseAlgorithm.cxx @@ -300,7 +300,7 @@ std::vector<const xAOD::TauJet*> TrigTauMonitorBaseAlgorithm::classifyTausAll(co std::vector<const xAOD::TauJet*> tau_vec; for(const xAOD::TauJet* tau : taus) { - if(tau->pt() < threshold) continue; + if(tau->pt() < threshold*Gaudi::Units::GeV) continue; tau_vec.push_back(tau); } @@ -313,7 +313,7 @@ std::tuple<std::vector<const xAOD::TauJet*>, std::vector<const xAOD::TauJet*>, s std::vector<const xAOD::TauJet*> tau_vec_0p, tau_vec_1p, tau_vec_mp; for(const xAOD::TauJet* tau : taus) { - if(tau->pt() < threshold) continue; + if(tau->pt() < threshold*Gaudi::Units::GeV) continue; int nTracks = -1; tau->detail(xAOD::TauJetParameters::nChargedTracks, nTracks); @@ -332,7 +332,7 @@ std::pair<std::vector<const xAOD::TauJet*>, std::vector<const xAOD::TauJet*>> Tr std::vector<const xAOD::TauJet*> tau_vec_1p, tau_vec_3p; for(const xAOD::TauJet* const tau : taus) { - if(tau->pt()/Gaudi::Units::GeV < threshold) continue; + if(tau->pt() < threshold*Gaudi::Units::GeV) continue; int nTracks = -1; tau->detail(xAOD::TauJetParameters::nChargedTracks, nTracks); diff --git a/Trigger/TrigT1/TrigT1CaloMonitoring/python/EfexSimMonitorAlgorithm.py b/Trigger/TrigT1/TrigT1CaloMonitoring/python/EfexSimMonitorAlgorithm.py index 9423fd34348f15088efdb07e84a9f07a511c9b97..7760de1ab7492c8a3dca19aee92bee00b97caacb 100644 --- a/Trigger/TrigT1/TrigT1CaloMonitoring/python/EfexSimMonitorAlgorithm.py +++ b/Trigger/TrigT1/TrigT1CaloMonitoring/python/EfexSimMonitorAlgorithm.py @@ -32,20 +32,27 @@ def EfexSimMonitoringConfig(flags): xlabels=["DataTowers","EmulatedTowers"], ymin=0,ymax=len(L1CaloMonitorCfgHelper.SIGNATURES),ylabels=L1CaloMonitorCfgHelper.SIGNATURES, opt=['kCanRebin','kAlwaysCreate'],merge="merge") - helper.defineHistogram('LBNString,Signature;h_mismatched_DataTowerEvts', + helper.defineHistogram('LBNString,Signature;h_mismatched_SimReady', fillGroup="mismatches", paths=['Shifter/Sim','Expert/Sim'], hanConfig={"algorithm":"Histogram_Empty"}, type='TH2I', cutmask='SimulationReady', + title='Mismatched Simulation-Ready Events;LB:FirstEvtNum;Signature;Events', + xbins=1,xmin=0,xmax=1, + ylabels=["gJ","gLJ","jJ","jTAU","jXE","jTE","eTAU","eEM"], + opt=['kCanRebin','kAlwaysCreate'],merge='merge') + helper.defineHistogram('LBNString,Signature;h_mismatched_DataTowerEvts', + fillGroup="mismatches", + type='TH2I', cutmask='IsDataTowers', title='Mismatched DataTower Events;LB:FirstEvtNum;Signature;Events', - xlabels=[""], + xbins=1,xmin=0,xmax=1, ybins=1,ymin=0,ymax=1, opt=['kCanRebin','kAlwaysCreate'],merge='merge') helper.defineHistogram('LBNString,Signature;h_mismatched_EmulatedTowerEvts', fillGroup="mismatches", type='TH2I', cutmask='IsEmulatedTowers', title='Mismatched EmulatedTower Events;LB:FirstEvtNum;Signature;Events', - xlabels=[""], + xbins=1,xmin=0,xmax=1, ybins=1,ymin=0,ymax=1, opt=['kCanRebin','kAlwaysCreate'],merge='merge') helper.defineTree('LBNString,Signature,LBN,EventNumber,EventType,timeSince,timeUntil,dataEtas,dataPhis,dataWord0s,simEtas,simPhis,simWord0s;mismatched', diff --git a/Trigger/TrigT1/TrigT1CaloMonitoring/python/GfexSimMonitorAlgorithm.py b/Trigger/TrigT1/TrigT1CaloMonitoring/python/GfexSimMonitorAlgorithm.py index 7c04d5914fe29e9ce1be5b2198648a391c8c79cc..a9522f37b2227fa4bb7c713d64eda6aa3d229514 100644 --- a/Trigger/TrigT1/TrigT1CaloMonitoring/python/GfexSimMonitorAlgorithm.py +++ b/Trigger/TrigT1/TrigT1CaloMonitoring/python/GfexSimMonitorAlgorithm.py @@ -10,14 +10,14 @@ def GfexSimMonitoringConfig(flags, UseOfflineCopy = True): helper = L1CaloMonitorCfgHelper(flags,CompFactory.GfexSimMonitorAlgorithm,'GfexSimMonAlg') - helper.defineHistogram('LBNString,Signature;h_mismatched_DataTowerEvts', + helper.defineHistogram('LBNString,Signature;h_mismatched_SimReady', fillGroup="mismatches", paths=['Shifter/Sim','Expert/Sim'], hanConfig={"algorithm":"Histogram_Empty"}, - type='TH2I', cutmask='SimulationReady', # not all of gfex simulation is considered ready at this time - title='Mismatched DataTower Events;LB:FirstEvtNum;Signature;Events', - xlabels=[""], - ybins=1,ymin=0,ymax=1, + type='TH2I', cutmask='SimulationReady', + title='Mismatched Simulation-Ready Events;LB:FirstEvtNum;Signature;Events', + xbins=1,xmin=0,xmax=1, + ylabels=["gJ","gLJ","jJ","jTAU","jXE","jTE","eTAU","eEM"], opt=['kCanRebin','kAlwaysCreate'],merge='merge') helper.defineHistogram('EventType,Signature,tobMismatched;h_simSummary',title='Sim-HW Mismatches (percentage);Event Type;Signature', fillGroup="mismatches", diff --git a/Trigger/TrigT1/TrigT1CaloMonitoring/python/JfexSimMonitorAlgorithm.py b/Trigger/TrigT1/TrigT1CaloMonitoring/python/JfexSimMonitorAlgorithm.py index 1678ae0fa81ff578ded80fc9cfa37dca8364ca70..15bde80df7052d0acce16356c327920408f1954d 100644 --- a/Trigger/TrigT1/TrigT1CaloMonitoring/python/JfexSimMonitorAlgorithm.py +++ b/Trigger/TrigT1/TrigT1CaloMonitoring/python/JfexSimMonitorAlgorithm.py @@ -35,6 +35,29 @@ def JfexSimMonitoringConfig(flags): xlabels=["DataTowers","EmulatedTowers"], ymin=0,ymax=len(L1CaloMonitorCfgHelper.SIGNATURES),ylabels=L1CaloMonitorCfgHelper.SIGNATURES, opt=['kCanRebin','kAlwaysCreate'],merge="merge") + helper.defineHistogram('LBNString,Signature;h_mismatched_SimReady', + fillGroup="mismatches", + paths=['Shifter/Sim','Expert/Sim'], + hanConfig={"algorithm":"Histogram_Empty"}, + type='TH2I', cutmask='SimulationReady', + title='Mismatched Simulation-Ready Events;LB:FirstEvtNum;Signature;Events', + xbins=1,xmin=0,xmax=1, + ylabels=["gJ","gLJ","jJ","jTAU","jXE","jTE","eTAU","eEM"], + opt=['kCanRebin','kAlwaysCreate'],merge='merge') + helper.defineHistogram('LBNString,Signature;h_mismatched_DataTowerEvts', + fillGroup="mismatches", + type='TH2I', cutmask='IsDataTowers', + title='Mismatched DataTower Events;LB:FirstEvtNum;Signature;Events', + xbins=1,xmin=0,xmax=1, + ybins=1,ymin=0,ymax=1, + opt=['kCanRebin','kAlwaysCreate'],merge='merge') + helper.defineHistogram('LBNString,Signature;h_mismatched_EmulatedTowerEvts', + fillGroup="mismatches", + type='TH2I', cutmask='IsEmulatedTowers', + title='Mismatched EmulatedTower Events;LB:FirstEvtNum;Signature;Events', + xbins=1,xmin=0,xmax=1, + ybins=1,ymin=0,ymax=1, + opt=['kCanRebin','kAlwaysCreate'],merge='merge') helper.defineTree('LBNString,Signature,LBN,EventNumber,EventType,dataEtas,dataPhis,dataWord0s,simEtas,simPhis,simWord0s;mismatched', "lbnString/string:Signature/string:lbn/l:eventNumber/l:EventType/string:dataEtas/vector<float>:dataPhis/vector<float>:dataWord0s/vector<unsigned int>:simEtas/vector<float>:simPhis/vector<float>:simWord0s/vector<unsigned int>", title="mismatched;LBN;Signature",fillGroup="mismatches") diff --git a/Trigger/TrigT1/TrigT1CaloMonitoring/share/L1CaloPhase1Monitoring.py b/Trigger/TrigT1/TrigT1CaloMonitoring/share/L1CaloPhase1Monitoring.py index f008df33fa522ee982191abd1cb6201d4cadf1ec..ead8a66da822e3204869b8c857cd9435580c3010 100644 --- a/Trigger/TrigT1/TrigT1CaloMonitoring/share/L1CaloPhase1Monitoring.py +++ b/Trigger/TrigT1/TrigT1CaloMonitoring/share/L1CaloPhase1Monitoring.py @@ -60,7 +60,7 @@ parser = flags.getArgumentParser() parser.add_argument('--runNumber',default=None,help="specify to select a run number") parser.add_argument('--lumiBlock',default=None,help="specify to select a lumiBlock") parser.add_argument('--evtNumber',default=None,nargs="+",type=int,help="specify to select an evtNumber") -parser.add_argument('--stream',default="physics_L1Calo",help="stream to lookup files in") +parser.add_argument('--stream',default="*",help="stream to lookup files in") parser.add_argument('--fexReadoutFilter',action='store_true',help="If specified, will skip events without fexReadout") parser.add_argument('--dbOverrides',default=None,nargs="+",type=str,help="specify overrides of COOL database folders in form <folder>=<dbPath>, example: /TRIGGER/L1Calo/V1/Calibration/EfexEnergyCalib=mytest.db ") parser.add_argument('--postConfig',default=[],nargs="+",type=str,help="specify component properties to apply at the end of the config") @@ -347,10 +347,11 @@ for conf in args.postConfig: compName,propNameAndVal=conf.split(".",1) propName,propVal=propNameAndVal.split("=",1) applied = False - for comp in cfg._allComponents(): + for comp in cfg._allComponents()+cfg.getServices(): if comp.name==compName: applied = True exec(f"comp.{propNameAndVal}") + break if not applied: raise ValueError(f"postConfig {conf} had no effect ... typo?") diff --git a/Trigger/TrigT1/TrigT1CaloMonitoring/src/GfexSimMonitorAlgorithm.cxx b/Trigger/TrigT1/TrigT1CaloMonitoring/src/GfexSimMonitorAlgorithm.cxx index cd549f1185f6fc846e8d0ae8a251e996bd1f31f5..39c7bf4a6bd5b25ea04aaa11665a07c2ef61b057 100644 --- a/Trigger/TrigT1/TrigT1CaloMonitoring/src/GfexSimMonitorAlgorithm.cxx +++ b/Trigger/TrigT1/TrigT1CaloMonitoring/src/GfexSimMonitorAlgorithm.cxx @@ -150,7 +150,7 @@ bool GfexSimMonitorAlgorithm::compareJetRoI(const std::string& label, mismatches = true; } tobMismatched = (isMatched) ? 0 : 100; - fill("mismatches",eventType,Signature,tobMismatched,simReady); + fill("mismatches",eventType,Signature,tobMismatched); } @@ -188,7 +188,7 @@ bool GfexSimMonitorAlgorithm::compareJetRoI(const std::string& label, for (const auto w: sword0s) std::cout << w << " "; std::cout << std::endl << std::dec; } - fill("mismatches",lbn,lbnString,evtNumber,dtobEtas,dtobPhis,dtobWord0s,stobEtas,stobPhis,stobWord0s,Signature); + fill("mismatches",lbn,lbnString,evtNumber,dtobEtas,dtobPhis,dtobWord0s,stobEtas,stobPhis,stobWord0s,Signature,simReady); } return !mismatches; @@ -244,6 +244,46 @@ bool GfexSimMonitorAlgorithm::compareGlobalRoI(const std::string& label, fill("mismatches",eventType,Signature,tobMismatched); } + if(mismatches) { + // fill the debugging tree with all the words for this signature + auto lbnString = Monitored::Scalar<std::string>("LBNString",std::to_string(GetEventInfo(ctx)->lumiBlock())); + auto lbn = Monitored::Scalar<ULong64_t>("LBN",GetEventInfo(ctx)->lumiBlock()); + auto evtNumber = Monitored::Scalar<ULong64_t>("EventNumber",GetEventInfo(ctx)->eventNumber()); + { + std::scoped_lock lock(m_firstEventsMutex); + auto itr = m_firstEvents.find(lbn); + if(itr==m_firstEvents.end()) { + m_firstEvents[lbn] = std::to_string(lbn)+":"+std::to_string(evtNumber); + itr = m_firstEvents.find(lbn); + } + lbnString = itr->second; + } + std::vector<float> detas{};std::vector<float> setas{}; // will be empty, b.c. meaningless for global TOBs + std::vector<float> dphis{};std::vector<float> sphis{}; + std::vector<unsigned int> dword0s{};std::vector<unsigned int> sword0s{}; + for(const auto tob1 : *tobs1Cont) { + dword0s.push_back(tob1->word()); + } + for(const auto tob2 : *tobs2Cont) { + sword0s.push_back(tob2->word()); + } + auto dtobEtas = Monitored::Collection("dataEtas", detas); + auto dtobPhis = Monitored::Collection("dataPhis", dphis); + auto dtobWord0s = Monitored::Collection("dataWord0s", dword0s); + auto stobEtas = Monitored::Collection("simEtas", setas); + auto stobPhis = Monitored::Collection("simPhis", sphis); + auto stobWord0s = Monitored::Collection("simWord0s", sword0s); + if(msgLvl(MSG::DEBUG)) { + std::cout << "LBN: " << std::string(lbnString) << " EventNumber: " << ULong64_t(evtNumber) << " signature: " << label << std::endl; + std::cout << " data : " << std::hex; + for (const auto w: dword0s) std::cout << w << " "; + std::cout << std::endl << " sim : "; + for (const auto w: sword0s) std::cout << w << " "; + std::cout << std::endl << std::dec; + } + fill("mismatches",lbn,lbnString,evtNumber,dtobEtas,dtobPhis,dtobWord0s,stobEtas,stobPhis,stobWord0s,Signature); + } + return !mismatches; diff --git a/Trigger/TrigT1/TrigT1CaloMonitoring/src/JfexSimMonitorAlgorithm.cxx b/Trigger/TrigT1/TrigT1CaloMonitoring/src/JfexSimMonitorAlgorithm.cxx index 0fef2da6007a5a8e53d8a08742a3c4868934477c..0be93b38ecd84db4a1e2d0aa28c102aabaf5c0a4 100644 --- a/Trigger/TrigT1/TrigT1CaloMonitoring/src/JfexSimMonitorAlgorithm.cxx +++ b/Trigger/TrigT1/TrigT1CaloMonitoring/src/JfexSimMonitorAlgorithm.cxx @@ -87,12 +87,12 @@ StatusCode JfexSimMonitorAlgorithm::fillHistograms( const EventContext& ctx ) co auto evtNumber = Monitored::Scalar<ULong64_t>("EventNumber",GetEventInfo(ctx)->eventNumber()); - compareRoI("jJ",EventType,m_data_key_jJ, m_simu_key_jJ,ctx,false); - compareRoI("jLJ",EventType,m_data_key_jLJ, m_simu_key_jLJ,ctx,false); - compareRoI("jTAU",EventType,m_data_key_jTau, m_simu_key_jTau,ctx,false); + compareRoI("jJ",EventType,m_data_key_jJ, m_simu_key_jJ,ctx,!jFexTowerContainer->empty()); + //compareRoI("jLJ",EventType,m_data_key_jLJ, m_simu_key_jLJ,ctx,false); - commented out b.c. jFEX doesn't produce Large jets now + compareRoI("jTAU",EventType,m_data_key_jTau, m_simu_key_jTau,ctx,!jFexTowerContainer->empty()); compareRoI("jEM",EventType,m_data_key_jEM, m_simu_key_jEM,ctx,false); - compareRoI("jXE",EventType,m_data_key_jXE, m_simu_key_jXE,ctx,false); - compareRoI("jTE",EventType,m_data_key_jTE, m_simu_key_jTE,ctx,false); + compareRoI("jXE",EventType,m_data_key_jXE, m_simu_key_jXE,ctx,!jFexTowerContainer->empty()); + compareRoI("jTE",EventType,m_data_key_jTE, m_simu_key_jTE,ctx,!jFexTowerContainer->empty()); return StatusCode::SUCCESS; @@ -107,7 +107,7 @@ template <typename T> bool JfexSimMonitorAlgorithm::compareRoI(const std::string return false; } SG::ReadHandle<T> tobs2Cont{tobs2Key, ctx}; - if(!tobs1Cont.isValid()) { + if(!tobs2Cont.isValid()) { return false; } @@ -117,6 +117,8 @@ template <typename T> bool JfexSimMonitorAlgorithm::compareRoI(const std::string auto Signature = Monitored::Scalar<std::string>("Signature",label); auto tobMismatched = Monitored::Scalar<double>("tobMismatched",0); auto simReady = Monitored::Scalar<bool>("SimulationReady",simReadyFlag); + auto IsDataTowers = Monitored::Scalar<bool>("IsDataTowers",evenType=="DataTowers"); + auto IsEmulatedTowers = Monitored::Scalar<bool>("IsEmulatedTowers",!IsDataTowers); for(const auto tob1 : *tobs1Cont) { bool isMatched = false; @@ -134,7 +136,14 @@ template <typename T> bool JfexSimMonitorAlgorithm::compareRoI(const std::string mismatches = true; } tobMismatched = (isMatched) ? 0 : 100; - fill("mismatches",eventType,Signature,tobMismatched,simReady); + fill("mismatches",eventType,Signature,tobMismatched); + } + if(tobs2Cont.isValid() && tobs1Cont->size() < tobs2Cont->size()) { + tobMismatched=100; + mismatches=true; + for(unsigned int i=0;i<(tobs2Cont->size()-tobs1Cont->size());i++) { + fill("mismatches",eventType,Signature,tobMismatched); + } } if(mismatches) { @@ -170,7 +179,7 @@ template <typename T> bool JfexSimMonitorAlgorithm::compareRoI(const std::string for (const auto w: sword0s) std::cout << w << " "; std::cout << std::endl << std::dec; } - fill("mismatches",lbn,lbnString,evtNumber,dtobEtas,dtobPhis,dtobWord0s,stobEtas,stobPhis,stobWord0s,Signature,eventType); + fill("mismatches",lbn,lbnString,evtNumber,dtobEtas,dtobPhis,dtobWord0s,stobEtas,stobPhis,stobWord0s,Signature,eventType,IsDataTowers,IsEmulatedTowers,simReady); } return !mismatches; diff --git a/Trigger/TrigValidation/TrigAnalysisTest/share/ref_RDOtoRDOTrig_v1Dev_build.ref b/Trigger/TrigValidation/TrigAnalysisTest/share/ref_RDOtoRDOTrig_v1Dev_build.ref index 6402d64dbe24c3818cd68049d9ee72794dfbaea8..714022ce122d05153a2a3c8ccaa4b2d097a94ccc 100644 --- a/Trigger/TrigValidation/TrigAnalysisTest/share/ref_RDOtoRDOTrig_v1Dev_build.ref +++ b/Trigger/TrigValidation/TrigAnalysisTest/share/ref_RDOtoRDOTrig_v1Dev_build.ref @@ -16075,7 +16075,7 @@ HLT_j20_calratiovar_j70_j50a_j0_DJMASS900j50dphi260x200deta_roiftf_preselj20emf7 stepFeatures: 0: 4 1: 48 -HLT_j20_calratiovar_roiftf_preselj20emf24_L1LLPDPHI-jXE27-jJ27: +HLT_j20_calratiovar_roiftf_preselj20emf24_L1LLPDPHI-jXE40-jJ40: eventCount: 0 stepCounts: 0: 3 @@ -28347,8 +28347,8 @@ HLT_noalg_L1J75: eventCount: 9 HLT_noalg_L1J85: eventCount: 5 -HLT_noalg_L1LLPDPHI-jXE27-jJ27: - eventCount: 11 +HLT_noalg_L1LLPDPHI-jXE40-jJ40: + eventCount: 8 HLT_noalg_L1MU10BO: eventCount: 7 HLT_noalg_L1MU10BOM: diff --git a/Trigger/TrigValidation/TrigP1Test/share/ref_v1Dev_decodeBS_build.ref b/Trigger/TrigValidation/TrigP1Test/share/ref_v1Dev_decodeBS_build.ref index de412ccbe41f94cccba33d1d985868e88d840a99..ce924b94ac8476c767cccb011449064728ecf80a 100644 --- a/Trigger/TrigValidation/TrigP1Test/share/ref_v1Dev_decodeBS_build.ref +++ b/Trigger/TrigValidation/TrigP1Test/share/ref_v1Dev_decodeBS_build.ref @@ -6323,7 +6323,7 @@ HLT_j20_calratiovar_j70_j50a_j0_DJMASS900j50dphi260x200deta_roiftf_preselj20emf4 eventCount: 0 HLT_j20_calratiovar_j70_j50a_j0_DJMASS900j50dphi260x200deta_roiftf_preselj20emf72_L1MJJ-500-NFF: eventCount: 0 -HLT_j20_calratiovar_roiftf_preselj20emf24_L1LLPDPHI-jXE27-jJ27: +HLT_j20_calratiovar_roiftf_preselj20emf24_L1LLPDPHI-jXE40-jJ40: eventCount: 0 HLT_j20_pf_ftf_presel4j85_PhysicsTLA_L13J50: eventCount: 0 @@ -10129,8 +10129,8 @@ HLT_noalg_L1J75: eventCount: 0 HLT_noalg_L1J85: eventCount: 0 -HLT_noalg_L1LLPDPHI-jXE27-jJ27: - eventCount: 1 +HLT_noalg_L1LLPDPHI-jXE40-jJ40: + eventCount: 0 HLT_noalg_L1MU10BO: eventCount: 0 HLT_noalg_L1MU10BOM: diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/CFtest/generateCFChains.py b/Trigger/TriggerCommon/TriggerMenuMT/python/CFtest/generateCFChains.py index 6b443923453d964f10f7563b45bf38cdef2e11da..04ac7acf5e8895054b15e60b820340f1e710c4e6 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/CFtest/generateCFChains.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/CFtest/generateCFChains.py @@ -19,13 +19,13 @@ def generateCFChains(flags): # egamma chains ################################################################## if 'Egamma' in flags.Trigger.enabledSignatures: - from TriggerMenuMT.HLT.CommonSequences.CaloSequences import fastCaloMenuSequenceCfg - from TriggerMenuMT.HLT.Electron.FastElectronMenuSequences import fastElectronSequenceCfg - from TriggerMenuMT.HLT.Electron.PrecisionCaloMenuSequences import precisionCaloSequenceCfg + from TriggerMenuMT.HLT.CommonSequences.CaloSequences import fastCaloSequenceGenCfg + from TriggerMenuMT.HLT.Electron.FastElectronMenuSequences import fastElectronSequenceGenCfg + from TriggerMenuMT.HLT.Electron.PrecisionCaloMenuSequences import precisionCaloSequenceGenCfg - fastCaloSeq = functools.partial(fastCaloMenuSequenceCfg, flags, name='Electron' ) - electronSeq = functools.partial(fastElectronSequenceCfg, flags ) - precisionCaloSeq = functools.partial(precisionCaloSequenceCfg, flags ) + fastCaloSeq = functools.partial(fastCaloSequenceGenCfg, flags, name='Electron' ) + electronSeq = functools.partial(fastElectronSequenceGenCfg, flags ) + precisionCaloSeq = functools.partial(precisionCaloSequenceGenCfg, flags ) FastCaloStep = makeChainStep("ElectronFastCaloStep", [fastCaloSeq]) FastElectronStep = makeChainStep("ElectronFastTrackStep", [electronSeq]) @@ -39,12 +39,12 @@ def generateCFChains(flags): ] menu.chainsInMenu['Egamma'] += electronChains - from TriggerMenuMT.HLT.Photon.FastPhotonMenuSequences import fastPhotonSequenceCfg - from TriggerMenuMT.HLT.Photon.PrecisionCaloMenuSequences import precisionCaloSequenceCfg + from TriggerMenuMT.HLT.Photon.FastPhotonMenuSequences import fastPhotonSequenceGenCfg + from TriggerMenuMT.HLT.Photon.PrecisionCaloMenuSequences import precisionCaloSequenceGenCfg - fastCaloSeq = functools.partial(fastCaloMenuSequenceCfg, flags, name='Photon' ) - fastPhotonSeq = functools.partial(fastPhotonSequenceCfg, flags ) - precisionCaloPhotonSeq = functools.partial(precisionCaloSequenceCfg, flags ) + fastCaloSeq = functools.partial(fastCaloSequenceGenCfg, flags, name='Photon' ) + fastPhotonSeq = functools.partial(fastPhotonSequenceGenCfg, flags ) + precisionCaloPhotonSeq = functools.partial(precisionCaloSequenceGenCfg, flags ) FastCaloStep = makeChainStep("PhotonFastCaloStep", [fastCaloSeq]) fastPhotonStep = makeChainStep("PhotonStep2", [fastPhotonSeq]) @@ -59,21 +59,24 @@ def generateCFChains(flags): # muon chains ################################################################## if 'Muon' in flags.Trigger.enabledSignatures: - from TriggerMenuMT.HLT.Muon.MuonMenuSequences import muFastSequence, muCombSequence, muEFSASequence, muEFCBSequence, muEFSAFSSequence, muEFCBFSSequence + from TriggerMenuMT.HLT.Muon.MuonMenuSequences import ( + muFastSequenceGenCfg, muCombSequenceGenCfg, + muEFSASequenceGenCfg, muEFCBSequenceGenCfg, muEFSAFSSequenceGenCfg, muEFCBFSSequenceGenCfg + ) MuonChains = [] # step1 - mufastS= functools.partial(muFastSequence,flags) + mufastS= functools.partial(muFastSequenceGenCfg,flags) step1mufast=makeChainStep("Step1_muFast", [ mufastS ]) # step2 - mucombS = functools.partial(muCombSequence,flags) + mucombS = functools.partial(muCombSequenceGenCfg,flags) step2muComb=makeChainStep("Step2_muComb", [ mucombS ]) # step3 - muEFSAS = functools.partial(muEFSASequence,flags) + muEFSAS = functools.partial(muEFSASequenceGenCfg,flags) step3muEFSA=makeChainStep("Step3_muEFSA", [ muEFSAS ]) #/step3muIso =makeChainStep("Step3_muIso", [ muIsoSequence() ]) # step4 - muEFCBS = functools.partial(muEFCBSequence,flags) + muEFCBS = functools.partial(muEFCBSequenceGenCfg,flags) step4muEFCB = makeChainStep("Step4_muEFCB", [ muEFCBS ]) emptyStep = makeChainStep("Step2_empty", multiplicity=[]) @@ -101,8 +104,8 @@ def generateCFChains(flags): #FS Muon trigger # Full scan MS tracking step - muEFSAFSS = functools.partial(muEFSAFSSequence,flags) - muEFCBFSS = functools.partial(muEFCBFSSequence,flags) + muEFSAFSS = functools.partial(muEFSAFSSequenceGenCfg,flags) + muEFCBFSS = functools.partial(muEFCBFSSequenceGenCfg,flags) stepFSmuEFSA=makeChainStep("Step_FSmuEFSA", [muEFSAFSS]) stepFSmuEFCB=makeChainStep("Step_FSmuEFCB", [muEFCBFSS]) MuonChains += [ makeChain(flags, name='HLT_mu6noL1_L1MU5VF', L1Thresholds=["FSNOSEED"], ChainSteps=[stepFSmuEFSA, stepFSmuEFCB])] @@ -117,18 +120,18 @@ def generateCFChains(flags): from TriggerMenuMT.HLT.Jet.JetRecoCommon import jetRecoDictFromString def jetCaloHypoMenuSequenceFromString(jet_def_str): jetRecoDict = jetRecoDictFromString(jet_def_str) - from TriggerMenuMT.HLT.Jet.JetMenuSequencesConfig import jetCaloHypoMenuSequence - return jetCaloHypoMenuSequence(flags, isPerf=False, **jetRecoDict) + from TriggerMenuMT.HLT.Jet.JetMenuSequencesConfig import jetCaloHypoMenuSequenceGenCfg + return jetCaloHypoMenuSequenceGenCfg(flags, isPerf=False, **jetRecoDict) def jetCaloPreselMenuSequenceFromString(jet_def_str): jetRecoDict = jetRecoDictFromString(jet_def_str) - from TriggerMenuMT.HLT.Jet.JetMenuSequencesConfig import jetCaloPreselMenuSequence - return jetCaloPreselMenuSequence(flags, **jetRecoDict) + from TriggerMenuMT.HLT.Jet.JetMenuSequencesConfig import jetCaloPreselMenuSequenceGenCfg + return jetCaloPreselMenuSequenceGenCfg(flags, **jetRecoDict) def jetTrackingHypoMenuSequenceFromString(jet_def_str,clustersKey): jetRecoDict = jetRecoDictFromString(jet_def_str) - from TriggerMenuMT.HLT.Jet.JetMenuSequencesConfig import jetFSTrackingHypoMenuSequence - return jetFSTrackingHypoMenuSequence(flags, clustersKey=clustersKey, isPerf=False, **jetRecoDict) + from TriggerMenuMT.HLT.Jet.JetMenuSequencesConfig import jetFSTrackingHypoMenuSequenceGenCfg + return jetFSTrackingHypoMenuSequenceGenCfg(flags, clustersKey=clustersKey, isPerf=False, **jetRecoDict) if 'Jet' in flags.Trigger.enabledSignatures: @@ -170,13 +173,13 @@ def generateCFChains(flags): # bjet chains ################################################################## if 'Bjet' in flags.Trigger.enabledSignatures: - from TriggerMenuMT.HLT.Bjet.BjetMenuSequences import getBJetSequenceCfg + from TriggerMenuMT.HLT.Bjet.BjetMenuSequences import getBJetSequenceGenCfg jetSeq_a4_tc_em_presel, jetDef, emclusters = jetCaloPreselMenuSequenceFromString("a4_tc_em_subjesIS") jetSeq_a4_tc_em_gsc_ftf, jetDef = jetTrackingHypoMenuSequenceFromString("a4_tc_em_subjesgscIS_ftf",emclusters) jc_name = "HLT_AntiKt4EMPFlowJets_subresjesgscIS_ftf" - bjet_sec= functools.partial(getBJetSequenceCfg, flags, jc_name) + bjet_sec= functools.partial(getBJetSequenceGenCfg, flags, jc_name) step1 = makeChainStep("Step_jet_a4_tc_em_presel", [jetSeq_a4_tc_em_presel]) step2 = makeChainStep("Step_jet_a4_tc_em_gsc_ftf", [jetSeq_a4_tc_em_gsc_ftf]) @@ -213,15 +216,15 @@ def generateCFChains(flags): # B-physics and light states chains ################################################################## if 'Bphysics' in flags.Trigger.enabledSignatures: - from TriggerMenuMT.HLT.Muon.MuonMenuSequences import muFastSequence, muCombSequence, muEFSASequence, muEFCBSequence + from TriggerMenuMT.HLT.Muon.MuonMenuSequences import muFastSequenceGenCfg, muCombSequenceGenCfg, muEFSASequenceGenCfg, muEFCBSequenceGenCfg from TrigBphysHypo.TrigMultiTrkComboHypoConfig import StreamerDimuL2ComboHypoCfg, DimuEFComboHypoCfg - muFast = functools.partial(muFastSequence, flags) + muFast = functools.partial(muFastSequenceGenCfg, flags) step1_dimufast=makeChainStep("Step1_dimuFast", [muFast], multiplicity=[2]) - mucombS = functools.partial(muCombSequence, flags) + mucombS = functools.partial(muCombSequenceGenCfg, flags) step2_dimuComb=makeChainStep("Step2_dimuComb", [mucombS], multiplicity=[2], comboHypoCfg=functools.partial(StreamerDimuL2ComboHypoCfg,flags)) - muEFSAS = functools.partial(muEFSASequence, flags) - muEFCBS = functools.partial(muEFCBSequence, flags) + muEFSAS = functools.partial(muEFSASequenceGenCfg, flags) + muEFCBS = functools.partial(muEFCBSequenceGenCfg, flags) step3_dimuEFSA=makeChainStep("Step3_dimuEFSA", [muEFSAS], multiplicity=[2]) step4_dimuEFCB=makeChainStep("Step4_dimuEFCB", [muEFCBS], multiplicity=[2], comboHypoCfg=functools.partial(DimuEFComboHypoCfg,flags)) @@ -240,11 +243,11 @@ def generateCFChains(flags): ################################################################## doCombinedSlice = True if doCombinedSlice: - from TriggerMenuMT.HLT.CommonSequences.CaloSequences import fastCaloMenuSequenceCfg - fastCaloSeq = functools.partial(fastCaloMenuSequenceCfg,flags, name='Electron') + from TriggerMenuMT.HLT.CommonSequences.CaloSequences import fastCaloSequenceGenCfg + fastCaloSeq = functools.partial(fastCaloSequenceGenCfg,flags, name='Electron') - from TriggerMenuMT.HLT.Muon.MuonMenuSequences import muFastSequence - muFast = functools.partial(muFastSequence,flags) + from TriggerMenuMT.HLT.Muon.MuonMenuSequences import muFastSequenceGenCfg + muFast = functools.partial(muFastSequenceGenCfg,flags) comboStep_et_mufast = makeChainStep("Step1_et_mufast", [fastCaloSeq, muFast], multiplicity=[1,1]) diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Bjet/BjetChainConfiguration.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Bjet/BjetChainConfiguration.py index 8c525a8941ac18c36fbf5fa1c36759bf15f52b88..0390858242c26473956a65a4ca30b114c70e7de2 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Bjet/BjetChainConfiguration.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Bjet/BjetChainConfiguration.py @@ -5,7 +5,7 @@ logging.getLogger().info("Importing %s",__name__) log = logging.getLogger(__name__) from ..Config.ChainConfigurationBase import ChainConfigurationBase -from .BjetMenuSequences import getBJetSequenceCfg +from .BjetMenuSequences import getBJetSequenceGenCfg #---------------------------------------------------------------- @@ -25,7 +25,7 @@ class BjetChainConfiguration(ChainConfigurationBase): log.debug("Assembling chain for %s", self.chainName) stepName = f"Step2_{self.jc_name}_bjet" - chainSteps = [self.getStep(flags,2, stepName, [getBJetSequenceCfg], jc_name=self.jc_name)] + chainSteps = [self.getStep(flags,2, stepName, [getBJetSequenceGenCfg], jc_name=self.jc_name)] myChain = self.buildChain(chainSteps) return myChain diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Bjet/BjetMenuSequences.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Bjet/BjetMenuSequences.py index e95bfb5817ab05117992dc5ce6c109ed7b6062c2..78ad3320b02542b63b4c8ced8e86429a12466ae8 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Bjet/BjetMenuSequences.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Bjet/BjetMenuSequences.py @@ -8,7 +8,7 @@ from AthenaConfiguration.ComponentFactory import CompFactory @AccumulatorCache -def getBJetSequenceCfg(flags, jc_name=None): +def getBJetSequenceGenCfg(flags, jc_name=None): if not jc_name: raise ValueError("jet collection name is empty - pass the full HLT jet collection name to getBJetSequenceCfg().") diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Bphysics/BphysicsChainConfiguration.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Bphysics/BphysicsChainConfiguration.py index dfc623e29c1b3610fb86eaf829dd0ac0515a6573..4e0904052f8de9e2528ba29d218a943e015170f4 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Bphysics/BphysicsChainConfiguration.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Bphysics/BphysicsChainConfiguration.py @@ -11,9 +11,9 @@ log = logging.getLogger(__name__) from ..Config.ChainConfigurationBase import ChainConfigurationBase from ..Muon.MuonChainConfiguration import MuonChainConfiguration -from ..Muon.MuonMenuSequences import mul2IOOvlpRmSequence, mul2mtCBOvlpRmSequence, muEFCBSequence +from ..Muon.MuonMenuSequences import mul2IOOvlpRmSequenceGenCfg, mul2mtCBOvlpRmSequenceGenCfg, muEFCBSequenceGenCfg -from .BphysicsMenuSequences import dimuL2Sequence, dimuEFSequence, bmumuxSequence +from .BphysicsMenuSequences import dimuL2SequenceGenCfg, dimuEFSequenceGenCfg, bmumuxSequenceGenCfg from TrigBphysHypo.TrigMultiTrkComboHypoConfig import StreamerDimuL2ComboHypoCfg, StreamerDimuL2IOComboHypoCfg, StreamerDimuL2MTComboHypoCfg, DimuEFComboHypoCfg, BmutrkComboHypoCfg, StreamerDimuEFComboHypoCfg, TrigMultiTrkComboHypoToolFromDict from TrigBphysHypo.TrigBmumuxComboHypoConfig import BmumuxComboHypoCfg, TrigBmumuxComboHypoToolFromDict from TrigBphysHypo.TrigBmuxComboHypoConfig import BmuxComboHypoCfg @@ -87,23 +87,23 @@ class BphysicsChainConfiguration(MuonChainConfiguration): def getDimuL2(self, flags): if 'noL2Comb' in self.chainPart['extra']: - return self.getStep(flags, 2, 'dimuL2', [dimuL2Sequence], comboHypoCfg=StreamerDimuL2ComboHypoCfg) + return self.getStep(flags, 2, 'dimuL2', [dimuL2SequenceGenCfg], comboHypoCfg=StreamerDimuL2ComboHypoCfg) elif 'l2mt' in self.chainPart['l2AlgInfo']: - return self.getStep(flags, 2, 'dimuL2MT', [mul2mtCBOvlpRmSequence], comboHypoCfg=StreamerDimuL2MTComboHypoCfg) + return self.getStep(flags, 2, 'dimuL2MT', [mul2mtCBOvlpRmSequenceGenCfg], comboHypoCfg=StreamerDimuL2MTComboHypoCfg) else: - return self.getStep(flags, 2, 'dimuL2IO', [mul2IOOvlpRmSequence], comboHypoCfg=StreamerDimuL2IOComboHypoCfg) + return self.getStep(flags, 2, 'dimuL2IO', [mul2IOOvlpRmSequenceGenCfg], comboHypoCfg=StreamerDimuL2IOComboHypoCfg) def getDimuEF(self, flags): - return self.getStep(flags, 5, 'dimuEF', [dimuEFSequence], comboHypoCfg=DimuEFComboHypoCfg, comboTools=[TrigMultiTrkComboHypoToolFromDict]) + return self.getStep(flags, 5, 'dimuEF', [dimuEFSequenceGenCfg], comboHypoCfg=DimuEFComboHypoCfg, comboTools=[TrigMultiTrkComboHypoToolFromDict]) def getDimuEFCB(self, flags): - return self.getStep(flags, 4, 'dimuEFCB', [muEFCBSequence], comboHypoCfg=StreamerDimuEFComboHypoCfg) + return self.getStep(flags, 4, 'dimuEFCB', [muEFCBSequenceGenCfg], comboHypoCfg=StreamerDimuEFComboHypoCfg) def getBmux(self, flags): - return self.getStep(flags, 5, 'bmux', [bmumuxSequence], comboHypoCfg=BmuxComboHypoCfg, comboTools=[TrigBmumuxComboHypoToolFromDict]) + return self.getStep(flags, 5, 'bmux', [bmumuxSequenceGenCfg], comboHypoCfg=BmuxComboHypoCfg, comboTools=[TrigBmumuxComboHypoToolFromDict]) def getBmumux(self, flags): - return self.getStep(flags, 5, 'bmumux', [bmumuxSequence], comboHypoCfg=BmumuxComboHypoCfg, comboTools=[TrigBmumuxComboHypoToolFromDict]) + return self.getStep(flags, 5, 'bmumux', [bmumuxSequenceGenCfg], comboHypoCfg=BmumuxComboHypoCfg, comboTools=[TrigBmumuxComboHypoToolFromDict]) def getBmutrk(self, flags): - return self.getStep(flags, 5, 'bmutrk', [bmumuxSequence], comboHypoCfg=BmutrkComboHypoCfg, comboTools=[TrigMultiTrkComboHypoToolFromDict]) + return self.getStep(flags, 5, 'bmutrk', [bmumuxSequenceGenCfg], comboHypoCfg=BmutrkComboHypoCfg, comboTools=[TrigMultiTrkComboHypoToolFromDict]) diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Bphysics/BphysicsMenuSequences.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Bphysics/BphysicsMenuSequences.py index 1a464b712a86be26ba2099e542b16861a1042eff..80cb9e49a84b821d3b643f50b04d50494c788576 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Bphysics/BphysicsMenuSequences.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Bphysics/BphysicsMenuSequences.py @@ -10,7 +10,7 @@ from TrigEDMConfig.TriggerEDM import recordable @AccumulatorCache -def bmumuxSequence(flags): +def bmumuxSequenceGenCfg(flags): RoIToolCreator = CompFactory.ViewCreatorMuonSuperROITool if flags.Trigger.InDetTracking.bmumux.SuperRoI else CompFactory.ViewCreatorCentredOnIParticleROITool @@ -43,7 +43,7 @@ def bmumuxSequence(flags): return MenuSequenceCA(flags, selAcc, HypoToolGen=TrigBphysStreamerHypoToolFromDict) -def dimuL2Sequence(flags): +def dimuL2SequenceGenCfg(flags): from ..Muon.MuonMenuSequences import muCombAlgSequenceCfg from TrigBphysHypo.TrigBphysStreamerHypoConfig import TrigBphysStreamerHypoToolFromDict @@ -58,7 +58,7 @@ def dimuL2Sequence(flags): @AccumulatorCache -def dimuEFSequence(flags): +def dimuEFSequenceGenCfg(flags): selAcc = SelectionCA('dimuSequence') inputMakerAlg = CompFactory.InputMakerForRoI('IM_bphysStreamerDimuEF', diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/CalibCosmicMon/BeamspotChainConfiguration.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/CalibCosmicMon/BeamspotChainConfiguration.py index e3e74ada724b4c6f7c53016566ff065b9a4c8472..c4674d20f8dcae73ee7360a1ced95289f50445b3 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/CalibCosmicMon/BeamspotChainConfiguration.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/CalibCosmicMon/BeamspotChainConfiguration.py @@ -13,7 +13,7 @@ from TrigInDetConfig.TrigInDetConfig import trigInDetFastTrackingCfg from ..Config.MenuComponents import MenuSequenceCA, SelectionCA, InEventRecoCA, InViewRecoCA -def allTE_trkfast( flags, signature="FS" ): +def allTE_trkfastSequenceGenCfg( flags, signature="FS" ): @@ -52,7 +52,7 @@ def allTE_trkfast( flags, signature="FS" ): HypoToolGen = beamspotHypoToolGen ) -def getBeamspotVtx(flags): +def getBeamspotVtxSequenceGenCfg(flags): signature = "BeamspotJet" # run at event level @@ -102,7 +102,7 @@ class BeamspotChainConfiguration(ChainConfigurationBase): if self.chainPart['beamspotChain'] != '': stepName = f"Step4_{self.jc_name}_beamspotJet" - chainSteps = [self.getStep(flags, 4, stepName, [getBeamspotVtx])] + chainSteps = [self.getStep(flags, 4, stepName, [getBeamspotVtxSequenceGenCfg])] else: key = self.chainPart['addInfo'][0] + "_" + self.chainPart['l2IDAlg'][0] #TODO: hardcoded index @@ -129,10 +129,10 @@ class BeamspotChainConfiguration(ChainConfigurationBase): # Configuration TrkFS step # -------------------- def getTrkFSStep(self, flags): - return self.getStep(flags,1,"trkFS_trkfast",[allTE_trkfast],signature="FS") + return self.getStep(flags,1,"trkFS_trkfast",[allTE_trkfastSequenceGenCfg],signature="FS") # -------------------- # Configuration of costmonitor (costmonitor ?? but isn't this is the actua chain configuration ??) # -------------------- def getAllTEStep(self, flags): - return self.getStep(flags,1,"allTE_trkfast",[allTE_trkfast],signature="beamSpot") + return self.getStep(flags,1,"allTE_trkfast",[allTE_trkfastSequenceGenCfg],signature="beamSpot") diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/CalibCosmicMon/CalibChainConfiguration.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/CalibCosmicMon/CalibChainConfiguration.py index eb3072da8a2d698bd38a8a955d1e7e511466cf79..94cae020518566635b9abe11f718f48580c9cde0 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/CalibCosmicMon/CalibChainConfiguration.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/CalibCosmicMon/CalibChainConfiguration.py @@ -33,7 +33,7 @@ def getLArNoiseBurstRecoCfg(flags): # LArNoiseBurst configuration # -------------------- @AccumulatorCache -def getLArNoiseBurstSequenceCfg(flags): +def getLArNoiseBurstSequenceGenCfg(flags): hypoAlg = CompFactory.TrigLArNoiseBurstAlg("NoiseBurstAlg") InEventReco = InEventRecoCA("LArNoiseBurstRecoSequence", inputMaker=clusterFSInputMaker()) @@ -52,7 +52,7 @@ def getLArNoiseBurstSequenceCfg(flags): # LArPS Noise Detection EM configuration # -------------------- @AccumulatorCache -def getCaloAllEMLayersPSSequenceCfg(flags,doAllorAllEM=False): +def getCaloAllEMLayersPSSequenceGenCfg(flags,doAllorAllEM=False): from TrigT2CaloCommon.CaloDef import fastCaloVDVCfg nameselAcc = "LArPSSequence_All" @@ -129,25 +129,25 @@ class CalibChainConfiguration(ChainConfigurationBase): def getAcceptedEventsStep(self, flags, i): - return self.getStep(flags,1, 'AcceptedEvents', [acceptedEventsCfg]) + return self.getStep(flags,1, 'AcceptedEvents', [acceptedEventsSequenceGenCfg]) def getAllTEStep(self, flags, i): - return self.getStep(flags,1, 'LArNoiseBurst', [getLArNoiseBurstSequenceCfg]) + return self.getStep(flags,1, 'LArNoiseBurst', [getLArNoiseBurstSequenceGenCfg]) def getCaloAllEMStep(self, flags, i): - return self.getStep(flags,1, 'LArPSALLEM', [getCaloAllEMLayersPSSequenceCfg], doAllorAllEM=False) + return self.getStep(flags,1, 'LArPSALLEM', [getCaloAllEMLayersPSSequenceGenCfg], doAllorAllEM=False) def getCaloAllStep(self, flags, i): - return self.getStep(flags,1, 'LArPSALL', [getCaloAllEMLayersPSSequenceCfg], doAllorAllEM=True) + return self.getStep(flags,1, 'LArPSALL', [getCaloAllEMLayersPSSequenceGenCfg], doAllorAllEM=True) def getIDCalibEmpty(self, flags, i): return self.getEmptyStep(1, 'IDCalibEmptyStep') def getIDCalibFTFReco(self, flags, i): - return self.getStep(flags,2,'IDCalibFTFCfg',[IDCalibFTFCfg]) + return self.getStep(flags,2,'IDCalibFTFCfg',[IDCalibFTFSequenceGenCfg]) def getIDCalibTrigger(self, flags, i): - return self.getStep(flags,3,'IDCalibTriggerCfg',[IDCalibTriggerCfg]) + return self.getStep(flags,3,'IDCalibTriggerCfg',[IDCalibTriggerSequenceGenCfg]) #---------------------------------------------------------------- @@ -156,7 +156,7 @@ class CalibChainConfiguration(ChainConfigurationBase): # -------------------- @AccumulatorCache -def IDCalibTriggerCfg(flags): +def IDCalibTriggerSequenceGenCfg(flags): DummyInputMakerAlg = CompFactory.InputMakerForRoI( "IM_IDCalib_HypoOnlyStep" ) DummyInputMakerAlg.RoITool = CompFactory.ViewCreatorInitialROITool() @@ -179,7 +179,7 @@ def IDCalibTriggerCfg(flags): # -------------------- @AccumulatorCache -def IDCalibFTFCfg(flags): +def IDCalibFTFSequenceGenCfg(flags): reco = InEventRecoCA('IDCalibTrkrecoSeq_reco',inputMaker=getTrackingInputMaker(flags, "ftf")) reco.mergeReco(commonInDetFullScanCfg(flags)) @@ -200,7 +200,7 @@ def IDCalibFTFCfg(flags): # HLT step for the AcceptedEvents chains # -------------------- @AccumulatorCache -def acceptedEventsCfg(flags): +def acceptedEventsSequenceGenCfg(flags): ''' Return MenuSequenceCA for an HLT step used by the AcceptedEvents chains. This step is a trivial always-reject hypo with no reco. The step itself should be noop as only the HLTSeeding and the diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/CalibCosmicMon/CosmicChainConfiguration.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/CalibCosmicMon/CosmicChainConfiguration.py index 1bd125ae352b4ae1b976ea6b20ac389576085d13..d3e5abc8a39c91fa20919d59ad5ca0488ab7bb78 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/CalibCosmicMon/CosmicChainConfiguration.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/CalibCosmicMon/CosmicChainConfiguration.py @@ -16,7 +16,7 @@ def TrackCountHypoToolGen(chainDict): hypo.minNtrks = 1 return hypo -def CosmicsTrkSequenceCfg(flags): +def CosmicsTrkSequenceGenCfg(flags): trkRecoSeq = InViewRecoCA("CosmicTrkRecoSeq", InViewRoIs = "CosmicRoIs") @@ -71,7 +71,7 @@ class CosmicChainConfiguration(ChainConfigurationBase): # -------------------- if 'cosmic_id' in self.chainName: steps += [ self.getStep(flags, 1, 'Empty', [EmptyMenuSequenceCfg], name="EmptyBeforeCosmicID"), - self.getStep(flags, 2, 'CosmicTracking', [CosmicsTrkSequenceCfg]) ] + self.getStep(flags, 2, 'CosmicTracking', [CosmicsTrkSequenceGenCfg]) ] return self.buildChain(steps) diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/CalibCosmicMon/EnhancedBiasChainConfiguration.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/CalibCosmicMon/EnhancedBiasChainConfiguration.py index 55836f8e6ab24a815426d984093f1f93a500c961..d1f6a2b4537ee5cf4dd621aeaba7b543ee70aeea 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/CalibCosmicMon/EnhancedBiasChainConfiguration.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/CalibCosmicMon/EnhancedBiasChainConfiguration.py @@ -84,7 +84,7 @@ def EnhancedBiasHypoToolGen(chainDict): return tool -def enhancedBiasMenuSequence(flags): +def enhancedBiasMenuSequenceGenCfg(flags): reco = enhancedBiasReco(flags) selAcc = SelectionCA("enhancedBiasSequence") @@ -105,6 +105,6 @@ class EnhancedBiasChainConfiguration(ChainConfigurationBase): chainSteps = [] log.debug("Assembling chain for %s", self.chainName) - chainSteps.append( self.getStep(flags, 1, "EnhancedBias", [enhancedBiasMenuSequence]) ) + chainSteps.append( self.getStep(flags, 1, "EnhancedBias", [enhancedBiasMenuSequenceGenCfg]) ) return self.buildChain(chainSteps) diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/CommonSequences/CaloSequences.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/CommonSequences/CaloSequences.py index 9d1c26defc2287ab94b1e8605f16152632003c42..c7dee307fa8d079ab496245639682873267a05bb 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/CommonSequences/CaloSequences.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/CommonSequences/CaloSequences.py @@ -16,7 +16,7 @@ class CaloMenuDefs(object): # @AccumulatorCache -def fastCaloMenuSequenceCfg(flags, name, doRinger=True, is_probe_leg=False): +def fastCaloSequenceGenCfg(flags, name, doRinger=True, is_probe_leg=False): """ Creates Egamma Fast Calo MENU sequence The Hypo name changes depending on name, so for different implementations (Electron, Gamma,....) """ diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/CommonSequences/CaloSequences_FWD.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/CommonSequences/CaloSequences_FWD.py index 3fa8d5e8c3bf9bd777979666298391b25c009af6..af47a221163439f21a33fdefbde3402e8b364511 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/CommonSequences/CaloSequences_FWD.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/CommonSequences/CaloSequences_FWD.py @@ -17,7 +17,7 @@ class CaloMenuDefs_FWD(object): # @AccumulatorCache -def fastCaloMenuSequence_FWDCfg(flags,name,doRinger=True, is_probe_leg=False): +def fastCalo_FWDSequenceGenCfg(flags,name,doRinger=True, is_probe_leg=False): """ Creates Egamma Fast Calo FWD MENU sequence (Reco and Hypo) The Hypo name changes depending on name, so for different implementations (Electron, Gamma,....) """ diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/CommonSequences/EventBuildingSequences.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/CommonSequences/EventBuildingSequences.py index bfbddb798db02778928ee30f980718756ddb3747..91bc616585f1c7540014756f861b2a07996bf5e4 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/CommonSequences/EventBuildingSequences.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/CommonSequences/EventBuildingSequences.py @@ -26,7 +26,7 @@ def addEventBuildingSequence(flags, chain, eventBuildType, chainDict): log.error('eventBuildType \'%s\' not found in the allowed Event Building identifiers', eventBuildType) return - seq = functools.partial(pebMenuSequenceCfg, flags, chain=chain, eventBuildType=eventBuildType, chainDict=chainDict) + seq = functools.partial(pebMenuSequenceGenCfg, flags, chain=chain, eventBuildType=eventBuildType, chainDict=chainDict) if len(chain.steps)==0: # noalg PEB chain @@ -285,7 +285,7 @@ def pebInputMaker(flags, chain, eventBuildType): return maker -def pebMenuSequenceCfg(flags, chain, eventBuildType, chainDict): +def pebMenuSequenceGenCfg(flags, chain, eventBuildType, chainDict): ''' Return the MenuSequenceCA for the PEB input maker for this chain. ''' diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/CommonSequences/TLABuildingSequences.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/CommonSequences/TLABuildingSequences.py index 784726aaa029fc22ee5bd112b97e26c67a5a1326..e26285d1df98eaf9dc83de7005ae09b085682d08 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/CommonSequences/TLABuildingSequences.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/CommonSequences/TLABuildingSequences.py @@ -5,9 +5,9 @@ import functools from TriggerMenuMT.HLT.Config.MenuComponents import ChainStep from AthenaCommon.Logging import logging from ..Jet.JetChainConfiguration import JetChainConfiguration -from ..Photon.PrecisionPhotonTLAMenuSequenceConfig import PhotonTLAMenuSequenceCfg -from ..Jet.JetTLASequenceConfig import JetTLAMenuSequenceCfg -from ..Muon.MuonTLASequenceConfig import MuonTLAMenuSequenceCfg +from ..Photon.PrecisionPhotonTLAMenuSequenceConfig import PhotonTLAMenuSequenceGenCfg +from ..Jet.JetTLASequenceConfig import JetTLAMenuSequenceGenCfg +from ..Muon.MuonTLASequenceConfig import MuonTLAMenuSequenceGenCfg log = logging.getLogger(__name__) @@ -24,7 +24,7 @@ def addTLAStep(flags, chain, chainDict): log.debug("addTLAStep: processing signature: %s", cPart['signature'] ) # call the sequence from their respective signatures - tlaSequencesList.append(functools.partial(getTLASignatureSequence, flags, chainDict=chainDict, chainPart=cPart)) + tlaSequencesList.append(functools.partial(getTLASignatureSequenceGenCfg, flags, chainDict=chainDict, chainPart=cPart)) log.debug("addTLAStep: About to add a step with: %d parallel sequences.", len(tlaSequencesList)) @@ -42,16 +42,16 @@ def addTLAStep(flags, chain, chainDict): -def getTLASignatureSequence(flags, chainDict, chainPart): +def getTLASignatureSequenceGenCfg(flags, chainDict, chainPart): # Here we simply retrieve the TLA sequence from the existing signature code signature= chainPart['signature'] if signature == 'Photon': photonOutCollectionName = "HLT_egamma_Photons" - return PhotonTLAMenuSequenceCfg(flags, photonsIn=photonOutCollectionName) + return PhotonTLAMenuSequenceGenCfg(flags, photonsIn=photonOutCollectionName) elif signature == 'Muon': - return MuonTLAMenuSequenceCfg(flags, muChainPart=chainPart) + return MuonTLAMenuSequenceGenCfg(flags, muChainPart=chainPart) elif signature == 'Jet' or signature == 'Bjet': jetDef = JetChainConfiguration(chainDict) @@ -64,7 +64,7 @@ def getTLASignatureSequence(flags, chainDict, chainPart): # Thus, BTag recording will always run for PFlow jets, creating an empty container if no btagging exists. attachBtag = True if jetDef.recoDict["trkopt"] == "notrk": attachBtag = False - return JetTLAMenuSequenceCfg(flags, jetsIn=jetInputCollectionName, attachBtag=attachBtag) + return JetTLAMenuSequenceGenCfg(flags, jetsIn=jetInputCollectionName, attachBtag=attachBtag) def findTLAStep(chainConfig): diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Electron/ElectronChainConfiguration.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Electron/ElectronChainConfiguration.py index 55bbfa835ac6840ac5cc13fa316619eaa572db9a..a2bbe497e15a8a4cbbd796f370e2dddc175bde0a 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Electron/ElectronChainConfiguration.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Electron/ElectronChainConfiguration.py @@ -5,16 +5,16 @@ logging.getLogger().info("Importing %s",__name__) log = logging.getLogger(__name__) from ..Config.ChainConfigurationBase import ChainConfigurationBase -from ..CommonSequences.CaloSequences import fastCaloMenuSequenceCfg -from ..CommonSequences.CaloSequences_FWD import fastCaloMenuSequence_FWDCfg -from ..Electron.FastElectronMenuSequences import fastElectronSequenceCfg, fastElectronSequence_LRTCfg -from ..Electron.FastTrackingMenuSequences import fastTrackingSequenceCfg, fastTrackingSequence_LRTCfg -from ..Electron.PrecisionCaloMenuSequences import precisionCaloSequenceCfg, precisionCaloSequence_LRTCfg -from ..Electron.PrecisionElectronMenuSequences import precisionElectronSequenceCfg, precisionElectronSequence_LRTCfg -from ..Electron.PrecisionElectronMenuSequences_GSF import precisionElectronSequence_GSFCfg, precisionElectronSequence_GSF_LRTCfg +from ..CommonSequences.CaloSequences import fastCaloSequenceGenCfg +from ..CommonSequences.CaloSequences_FWD import fastCalo_FWDSequenceGenCfg +from ..Electron.FastElectronMenuSequences import fastElectronSequenceGenCfg, fastElectron_LRTSequenceGenCfg +from ..Electron.FastTrackingMenuSequences import fastTrackingSequenceGenCfg, fastTracking_LRTSequenceGenCfg +from ..Electron.PrecisionCaloMenuSequences import precisionCaloSequenceGenCfg, precisionCalo_LRTSequenceGenCfg +from ..Electron.PrecisionElectronMenuSequences import precisionElectronSequenceGenCfg, precisionElectron_LRTSequenceGenCfg +from ..Electron.PrecisionElectronMenuSequences_GSF import precisionElectron_GSFSequenceGenCfg, precisionElectron_GSF_LRTSequenceGenCfg from TrigBphysHypo.TrigMultiTrkComboHypoConfig import NoMuonDiElecPrecisionGSFComboHypoCfg, DiElecPrecisionGSFComboHypoCfg, TrigMultiTrkComboHypoToolFromDict -from ..Electron.PrecisionTrackingMenuSequences import precisionTrackingSequenceCfg, precisionTrackingSequence_LRTCfg -from ..Electron.PrecisionTracks_GSFRefittedMenuSequences import precisionTracks_GSFRefittedSequenceCfg, precisionTracks_GSFRefittedSequence_LRTCfg +from ..Electron.PrecisionTrackingMenuSequences import precisionTrackingSequenceGenCfg, precisionTracking_LRTSequenceGenCfg +from ..Electron.PrecisionTracks_GSFRefittedMenuSequences import precisionTracks_GSFRefittedSequenceGenCfg, precisionTracks_GSFRefitted_LRTSequenceGenCfg from AthenaConfiguration.ComponentFactory import CompFactory @@ -217,15 +217,15 @@ class ElectronChainConfiguration(ChainConfigurationBase): def getFastCalo(self, flags, is_probe_leg=False): stepName = "FastCalo_electron" - return self.getStep(flags,1,stepName,[fastCaloMenuSequenceCfg], name='Electron', is_probe_leg=is_probe_leg) + return self.getStep(flags,1,stepName,[fastCaloSequenceGenCfg], name='Electron', is_probe_leg=is_probe_leg) def getFastTracking(self, flags, is_probe_leg=False): stepName = "fast_tracking" - return self.getStep(flags,2,stepName,[ fastTrackingSequenceCfg],is_probe_leg=is_probe_leg) + return self.getStep(flags,2,stepName,[ fastTrackingSequenceGenCfg],is_probe_leg=is_probe_leg) def getFastTracking_lrt(self, flags, is_probe_leg=False): stepName = "fast_tracking_lrt" - return self.getStep(flags,2,stepName,[ fastTrackingSequence_LRTCfg],is_probe_leg=is_probe_leg) + return self.getStep(flags,2,stepName,[ fastTracking_LRTSequenceGenCfg],is_probe_leg=is_probe_leg) def getFastElectron(self, flags, is_probe_leg=False): if self.chainPart['idperfInfo']: @@ -233,7 +233,7 @@ class ElectronChainConfiguration(ChainConfigurationBase): return self.getEmptyStep(3,stepName) else: stepName = "fast_electron" - return self.getStep(flags,3,stepName,[fastElectronSequenceCfg],is_probe_leg=is_probe_leg) + return self.getStep(flags,3,stepName,[fastElectronSequenceGenCfg],is_probe_leg=is_probe_leg) def getFastElectron_lrt(self, flags, is_probe_leg=False): if self.chainPart['idperfInfo']: @@ -241,39 +241,39 @@ class ElectronChainConfiguration(ChainConfigurationBase): return self.getEmptyStep(3,stepName) else: stepName = "fast_electron_lrt" - return self.getStep(flags,3,stepName,[fastElectronSequence_LRTCfg],is_probe_leg=is_probe_leg) + return self.getStep(flags,3,stepName,[fastElectron_LRTSequenceGenCfg],is_probe_leg=is_probe_leg) def getPrecisionCaloElectron(self, flags, is_probe_leg=False): if self.chainPart['extra'] == 'ion': stepName = 'precisionCalo_ion_electron' - return self.getStep(flags,4, stepName, [precisionCaloSequenceCfg], ion=True, is_probe_leg=is_probe_leg) + return self.getStep(flags,4, stepName, [precisionCaloSequenceGenCfg], ion=True, is_probe_leg=is_probe_leg) stepName = "precisionCalo_electron" - return self.getStep(flags,4,stepName,[precisionCaloSequenceCfg], is_probe_leg=is_probe_leg) + return self.getStep(flags,4,stepName,[precisionCaloSequenceGenCfg], is_probe_leg=is_probe_leg) def getPrecisionCaloElectron_lrt(self, flags, is_probe_leg=False): stepName = "precisionCalo_electron_lrt" - return self.getStep(flags,4,stepName,[precisionCaloSequence_LRTCfg],is_probe_leg=is_probe_leg) + return self.getStep(flags,4,stepName,[precisionCalo_LRTSequenceGenCfg],is_probe_leg=is_probe_leg) def getPrecisionTracking(self, flags, is_probe_leg=False): if self.chainPart['extra'] == 'ion': stepName = 'precisionTracking_ion_electron' - return self.getStep(flags,5, stepName, [precisionTrackingSequenceCfg], ion=True, is_probe_leg=is_probe_leg) + return self.getStep(flags,5, stepName, [precisionTrackingSequenceGenCfg], ion=True, is_probe_leg=is_probe_leg) stepName = "precisionTracking_electron" - return self.getStep(flags,5,stepName,[precisionTrackingSequenceCfg], is_probe_leg=is_probe_leg) + return self.getStep(flags,5,stepName,[precisionTrackingSequenceGenCfg], is_probe_leg=is_probe_leg) def getPrecisionTracking_lrt(self, flags, is_probe_leg=False): stepName = "precisionTracking_electron_lrt" - return self.getStep(flags,5,stepName,[precisionTrackingSequence_LRTCfg],is_probe_leg=is_probe_leg) + return self.getStep(flags,5,stepName,[precisionTracking_LRTSequenceGenCfg],is_probe_leg=is_probe_leg) def getPrecisionTrack_GSFRefitted(self, flags, is_probe_leg=False): stepName = "PrecisionTrack_GSFRefitted_electron" - return self.getStep(flags,6,stepName,[precisionTracks_GSFRefittedSequenceCfg], is_probe_leg=is_probe_leg) + return self.getStep(flags,6,stepName,[precisionTracks_GSFRefittedSequenceGenCfg], is_probe_leg=is_probe_leg) def getPrecisionTrack_GSFRefitted_lrt(self, flags, is_probe_leg=False): stepName = "PrecisionTrack_GSFRefitted_electron_lrt" - return self.getStep(flags,6,stepName,[precisionTracks_GSFRefittedSequence_LRTCfg], is_probe_leg=is_probe_leg) + return self.getStep(flags,6,stepName,[precisionTracks_GSFRefitted_LRTSequenceGenCfg], is_probe_leg=is_probe_leg) def getPrecisionElectron(self, flags, is_probe_leg=False): @@ -282,19 +282,19 @@ class ElectronChainConfiguration(ChainConfigurationBase): if "Zee" in self.chainDict['topo']: stepName = "precision_electron_Zee"+str(isocut) - return self.getStep(flags,7,stepName,sequenceCfgArray=[precisionElectronSequenceCfg], comboTools=[diElectronZeeMassComboHypoToolFromDict], is_probe_leg=is_probe_leg) + return self.getStep(flags,7,stepName,sequenceCfgArray=[precisionElectronSequenceGenCfg], comboTools=[diElectronZeeMassComboHypoToolFromDict], is_probe_leg=is_probe_leg) elif "Jpsiee" in self.chainDict['topo']: stepName = "precision_topoelectron_Jpsiee"+str(isocut) - return self.getStep(flags,7,stepName,sequenceCfgArray=[precisionElectronSequenceCfg], comboTools=[diElectronJpsieeMassComboHypoToolFromDict], is_probe_leg=is_probe_leg) + return self.getStep(flags,7,stepName,sequenceCfgArray=[precisionElectronSequenceGenCfg], comboTools=[diElectronJpsieeMassComboHypoToolFromDict], is_probe_leg=is_probe_leg) elif "Heg" in self.chainDict['topo']: stepName = "precision_electron_Heg"+str(isocut) - return self.getStep(flags,7,stepName,sequenceCfgArray=[precisionElectronSequenceCfg], comboTools=[diEgammaHegMassComboHypoToolFromDict], is_probe_leg=is_probe_leg) + return self.getStep(flags,7,stepName,sequenceCfgArray=[precisionElectronSequenceGenCfg], comboTools=[diEgammaHegMassComboHypoToolFromDict], is_probe_leg=is_probe_leg) elif self.chainPart['extra'] == 'ion': stepName = "precision_ion_electron" + str(isocut) - return self.getStep(flags,7,stepName,[precisionElectronSequenceCfg], ion=True, is_probe_leg=is_probe_leg) + return self.getStep(flags,7,stepName,[precisionElectronSequenceGenCfg], ion=True, is_probe_leg=is_probe_leg) else: stepName = "precision_electron_nominal"+str(isocut) - return self.getStep(flags,7,stepName,[ precisionElectronSequenceCfg ], is_probe_leg=is_probe_leg) + return self.getStep(flags,7,stepName,[ precisionElectronSequenceGenCfg ], is_probe_leg=is_probe_leg) def getPrecisionGSFElectron(self, flags, is_probe_leg=False): @@ -303,39 +303,39 @@ class ElectronChainConfiguration(ChainConfigurationBase): if "Zee" in self.chainDict['topo']: stepName = "precision_topoelectron_Zee_GSF"+str(isocut) - return self.getStep(flags,7,stepName,sequenceCfgArray=[precisionElectronSequence_GSFCfg], comboTools=[diElectronZeeMassComboHypoToolFromDict], is_probe_leg=is_probe_leg) + return self.getStep(flags,7,stepName,sequenceCfgArray=[precisionElectron_GSFSequenceGenCfg], comboTools=[diElectronZeeMassComboHypoToolFromDict], is_probe_leg=is_probe_leg) elif "Jpsiee" in self.chainDict['topo']: stepName = "precision_topoelectron_Jpsiee_GSF"+str(isocut) - return self.getStep(flags,7,stepName,sequenceCfgArray=[precisionElectronSequence_GSFCfg], comboTools=[diElectronJpsieeMassComboHypoToolFromDict], is_probe_leg=is_probe_leg) + return self.getStep(flags,7,stepName,sequenceCfgArray=[precisionElectron_GSFSequenceGenCfg], comboTools=[diElectronJpsieeMassComboHypoToolFromDict], is_probe_leg=is_probe_leg) elif "bBeeM6000" in self.chainDict['topo']: signatures = self.chainDict['signatures'] if signatures.count(signatures[0]) == len(signatures): stepName = "noMuon_precision_electron_bBee_GSF"+str(isocut) - return self.getStep(flags,7,stepName,sequenceCfgArray=[precisionElectronSequence_GSFCfg], comboHypoCfg=NoMuonDiElecPrecisionGSFComboHypoCfg, comboTools=[TrigMultiTrkComboHypoToolFromDict], is_probe_leg=is_probe_leg) + return self.getStep(flags,7,stepName,sequenceCfgArray=[precisionElectron_GSFSequenceGenCfg], comboHypoCfg=NoMuonDiElecPrecisionGSFComboHypoCfg, comboTools=[TrigMultiTrkComboHypoToolFromDict], is_probe_leg=is_probe_leg) else: stepName = "precision_electron_bBee_GSF"+str(isocut) - return self.getStep(flags,7,stepName,sequenceCfgArray=[precisionElectronSequence_GSFCfg], comboHypoCfg=DiElecPrecisionGSFComboHypoCfg, comboTools=[TrigMultiTrkComboHypoToolFromDict], is_probe_leg=is_probe_leg) + return self.getStep(flags,7,stepName,sequenceCfgArray=[precisionElectron_GSFSequenceGenCfg], comboHypoCfg=DiElecPrecisionGSFComboHypoCfg, comboTools=[TrigMultiTrkComboHypoToolFromDict], is_probe_leg=is_probe_leg) else: stepName = "precision_electron_GSF"+str(isocut) - return self.getStep(flags,7,stepName,[precisionElectronSequence_GSFCfg], is_probe_leg=is_probe_leg) + return self.getStep(flags,7,stepName,[precisionElectron_GSFSequenceGenCfg], is_probe_leg=is_probe_leg) def getPrecisionGSFElectron_lrt(self, flags, is_probe_leg=False): isocut = self.chainPart['isoInfo'] log.debug(' isolation cut = %s', isocut) stepName = "precision_electron_LRTGSF"+str(isocut) - return self.getStep(flags,7,stepName,[precisionElectronSequence_GSF_LRTCfg], is_probe_leg=is_probe_leg) + return self.getStep(flags,7,stepName,[precisionElectron_GSF_LRTSequenceGenCfg], is_probe_leg=is_probe_leg) def getPrecisionElectron_lrt(self, flags, is_probe_leg=False): isocut = self.chainPart['isoInfo'] log.debug(' isolation cut = %s', isocut) stepName = "precision_electron_lrt"+str(isocut) - return self.getStep(flags,7,stepName,[ precisionElectronSequence_LRTCfg],is_probe_leg=is_probe_leg) + return self.getStep(flags,7,stepName,[ precisionElectron_LRTSequenceGenCfg],is_probe_leg=is_probe_leg) def getFastCalo_fwd(self, flags, is_probe_leg=False): stepName = "FastCalo_FWD_electron" - return self.getStep(flags,1, stepName, [fastCaloMenuSequence_FWDCfg], name='Electron', is_probe_leg=is_probe_leg) + return self.getStep(flags,1, stepName, [fastCalo_FWDSequenceGenCfg], name='Electron', is_probe_leg=is_probe_leg) def getEmptyRefitStep(self, flags, is_probe_leg=False): return self.getEmptyStep(6,'nonGSFEmptyRefit') diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Electron/FastElectronMenuSequences.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Electron/FastElectronMenuSequences.py index 22f057b14d6012128bbb474dc8c97d99980fbcba..6a820ea88c17845e0bdccabc48cb4a21dad8bf72 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Electron/FastElectronMenuSequences.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Electron/FastElectronMenuSequences.py @@ -10,7 +10,7 @@ from AthenaConfiguration.ComponentFactory import CompFactory from AthenaConfiguration.AccumulatorCache import AccumulatorCache @AccumulatorCache -def fastElectronSequenceCfg(flags, name='FastElectron', variant='', is_probe_leg = False): +def fastElectronSequenceGenCfg(flags, name='FastElectron', variant='', is_probe_leg = False): """ second step: tracking.....""" InViewRoIs = "EMFastElectronRoIs"+variant @@ -40,6 +40,6 @@ def fastElectronSequenceCfg(flags, name='FastElectron', variant='', is_probe_leg return MenuSequenceCA(flags,selAcc,HypoToolGen=TrigEgammaFastElectronHypoToolFromDict,isProbe=is_probe_leg) -def fastElectronSequence_LRTCfg(flags, name='FastElectron', is_probe_leg=False): +def fastElectron_LRTSequenceGenCfg(flags, name='FastElectron', is_probe_leg=False): # This is to call fastElectronMenuSequence for the _LRT variant - return fastElectronSequenceCfg(flags, name, is_probe_leg=is_probe_leg, variant='_LRT') + return fastElectronSequenceGenCfg(flags, name, is_probe_leg=is_probe_leg, variant='_LRT') diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Electron/FastTrackingMenuSequences.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Electron/FastTrackingMenuSequences.py index 83eaf521bc0274420ccbcedea3610051518b0a38..8b9ff0268906717ed666e776cea3cb7fb7e89129 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Electron/FastTrackingMenuSequences.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Electron/FastTrackingMenuSequences.py @@ -9,7 +9,7 @@ from AthenaConfiguration.ComponentFactory import CompFactory @AccumulatorCache -def fastTrackingSequenceCfg(flags, variant='', is_probe_leg = False): +def fastTrackingSequenceGenCfg(flags, variant='', is_probe_leg = False): """ second step: tracking.....""" from TriggerMenuMT.HLT.Egamma.TrigEgammaKeys import getTrigEgammaKeys TrigEgammaKeys = getTrigEgammaKeys(variant) @@ -49,6 +49,6 @@ def fastTrackingSequenceCfg(flags, variant='', is_probe_leg = False): return MenuSequenceCA(flags,selAcc,HypoToolGen=acceptAllHypoToolGen,isProbe=is_probe_leg) -def fastTrackingSequence_LRTCfg(flags, is_probe_leg=False): +def fastTracking_LRTSequenceGenCfg(flags, is_probe_leg=False): # This is to call fastElectronMenuSequence for the _LRT variant - return fastTrackingSequenceCfg(flags, variant='_LRT', is_probe_leg=is_probe_leg) + return fastTrackingSequenceGenCfg(flags, variant='_LRT', is_probe_leg=is_probe_leg) diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Electron/PrecisionCaloMenuSequences.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Electron/PrecisionCaloMenuSequences.py index ab43a1112df31cafafaf6933010a42134d82e0e9..69cc3ba9c3aa3db4e5c385837a6fc6638c8959d2 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Electron/PrecisionCaloMenuSequences.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Electron/PrecisionCaloMenuSequences.py @@ -12,7 +12,7 @@ def tag(ion): return 'precision' + ('HI' if ion is True else '') + 'CaloElectron' @AccumulatorCache -def precisionCaloSequenceCfg(flags, ion=False, is_probe_leg=False, variant=''): +def precisionCaloSequenceGenCfg(flags, ion=False, is_probe_leg=False, variant=''): """ Creates PrecisionCalo sequence """ TrigEgammaKeys = getTrigEgammaKeys(variant, ion=ion) hiInfo = 'HI' if ion else '' @@ -56,5 +56,5 @@ def precisionCaloSequenceCfg(flags, ion=False, is_probe_leg=False, variant=''): return MenuSequenceCA(flags, selAcc, HypoToolGen=TrigEgammaPrecisionCaloHypoToolFromDict, isProbe=is_probe_leg) -def precisionCaloSequence_LRTCfg(flags, ion=False, is_probe_leg=False): - return precisionCaloSequenceCfg(flags, ion=ion, is_probe_leg=is_probe_leg, variant='_LRT') +def precisionCalo_LRTSequenceGenCfg(flags, ion=False, is_probe_leg=False): + return precisionCaloSequenceGenCfg(flags, ion=ion, is_probe_leg=is_probe_leg, variant='_LRT') diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Electron/PrecisionElectronMenuSequences.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Electron/PrecisionElectronMenuSequences.py index 8293c5b68e2ccd59778a859814bdc07e03a49ac9..586e4618a9ae952d145a9d07765e6cc70b88f37b 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Electron/PrecisionElectronMenuSequences.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Electron/PrecisionElectronMenuSequences.py @@ -13,7 +13,7 @@ def tag(ion): return 'precision' + ('HI' if ion is True else '') + 'Electron' @AccumulatorCache -def precisionElectronSequenceCfg(flags, ion=False, variant='',is_probe_leg = False): +def precisionElectronSequenceGenCfg(flags, ion=False, variant='',is_probe_leg = False): """ seventh step: precision electron.....""" inViewRoIs = "precisionElectron" @@ -33,6 +33,6 @@ def precisionElectronSequenceCfg(flags, ion=False, variant='',is_probe_leg = Fal selAcc.mergeHypo(TrigEgammaPrecisionElectronHypoAlgCfg(flags, "TrigEgamma"+tag(ion)+"HypoAlg_noGSF"+variant+probeInfo, TrigEgammaKeys.precisionElectronContainer )) return MenuSequenceCA(flags,selAcc,HypoToolGen=TrigEgammaPrecisionElectronHypoToolFromDict, isProbe=is_probe_leg) -def precisionElectronSequence_LRTCfg(flags, is_probe_leg=False): +def precisionElectron_LRTSequenceGenCfg(flags, is_probe_leg=False): # This is to call precisionElectronMenuSequence for the _LRT variant - return precisionElectronSequenceCfg(flags, ion=False, variant='_LRT',is_probe_leg=is_probe_leg) + return precisionElectronSequenceGenCfg(flags, ion=False, variant='_LRT',is_probe_leg=is_probe_leg) diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Electron/PrecisionElectronMenuSequences_GSF.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Electron/PrecisionElectronMenuSequences_GSF.py index c450f27b2a9cf4bf0557511fe624db43f053d6aa..5ec7971c2e68d4dcff7b70a3b9974a813b0f95da 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Electron/PrecisionElectronMenuSequences_GSF.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Electron/PrecisionElectronMenuSequences_GSF.py @@ -13,7 +13,7 @@ def tag(ion): @AccumulatorCache -def precisionElectronSequence_GSFCfg(flags, ion=False, variant='_GSF', is_probe_leg=False): +def precisionElectron_GSFSequenceGenCfg(flags, ion=False, variant='_GSF', is_probe_leg=False): """ Similar setup as ../PrecisionElectronMenuSequences.py; tailored for GSF chains """ @@ -34,6 +34,6 @@ def precisionElectronSequence_GSFCfg(flags, ion=False, variant='_GSF', is_probe_ selAcc.mergeHypo(TrigEgammaPrecisionElectronHypoAlgCfg(flags, "TrigEgamma"+tag(ion)+"HypoAlg"+variant+probeInfo, TrigEgammaKeys.precisionElectronContainer )) return MenuSequenceCA(flags,selAcc,HypoToolGen=TrigEgammaPrecisionElectronHypoToolFromDict, isProbe=is_probe_leg) -def precisionElectronSequence_GSF_LRTCfg(flags, is_probe_leg=False): +def precisionElectron_GSF_LRTSequenceGenCfg(flags, is_probe_leg=False): # This is to call precisionElectronMenuSequence for the _LRT variant - return precisionElectronSequence_GSFCfg(flags, ion=False, variant='_LRTGSF',is_probe_leg=is_probe_leg) + return precisionElectron_GSFSequenceGenCfg(flags, ion=False, variant='_LRTGSF',is_probe_leg=is_probe_leg) diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Electron/PrecisionTrackingMenuSequences.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Electron/PrecisionTrackingMenuSequences.py index 6047db7d3c2d566e5b53e8a0ecfcb14d0cc2942e..be0d8f960dea240df7a6fab9afd2d8a97858c40f 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Electron/PrecisionTrackingMenuSequences.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Electron/PrecisionTrackingMenuSequences.py @@ -12,7 +12,7 @@ def tag(ion): @AccumulatorCache -def precisionTrackingSequenceCfg(flags, ion=False, variant='', is_probe_leg = False): +def precisionTrackingSequenceGenCfg(flags, ion=False, variant='', is_probe_leg = False): """ fourth step: precision electron.....""" inViewRoIs = "precisionTracking" + variant @@ -45,5 +45,5 @@ def precisionTrackingSequenceCfg(flags, ion=False, variant='', is_probe_leg = Fa return MenuSequenceCA(flags,selAcc,HypoToolGen=acceptAllHypoToolGen,isProbe=is_probe_leg) -def precisionTrackingSequence_LRTCfg(flags, is_probe_leg=False): - return precisionTrackingSequenceCfg(flags, is_probe_leg=is_probe_leg, ion=False, variant='_LRT') +def precisionTracking_LRTSequenceGenCfg(flags, is_probe_leg=False): + return precisionTrackingSequenceGenCfg(flags, is_probe_leg=is_probe_leg, ion=False, variant='_LRT') diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Electron/PrecisionTracks_GSFRefittedMenuSequences.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Electron/PrecisionTracks_GSFRefittedMenuSequences.py index 94ec3af4b0c0880ea02731dfee2931b6399ad889..65b22031dd585083890e5297572458f5e43d8dba 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Electron/PrecisionTracks_GSFRefittedMenuSequences.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Electron/PrecisionTracks_GSFRefittedMenuSequences.py @@ -11,7 +11,7 @@ def tag(ion): return 'precision' + ('HI' if ion is True else '') + 'Tracking_GSFRefitted' @AccumulatorCache -def precisionTracks_GSFRefittedSequenceCfg(flags, name='Electron', ion=False, variant='_GSF', is_probe_leg = False): +def precisionTracks_GSFRefittedSequenceGenCfg(flags, name='Electron', ion=False, variant='_GSF', is_probe_leg = False): """ sixth step: GSF refitting of precision track.....""" inViewRoIs = "precisionTracks_GSFRefitted"+variant @@ -42,5 +42,5 @@ def precisionTracks_GSFRefittedSequenceCfg(flags, name='Electron', ion=False, va return MenuSequenceCA(flags,selAcc,HypoToolGen=acceptAllHypoToolGen,isProbe=is_probe_leg) -def precisionTracks_GSFRefittedSequence_LRTCfg(flags, name='Electron', is_probe_leg=False): - return precisionTracks_GSFRefittedSequenceCfg(flags, name, is_probe_leg=is_probe_leg, ion=False, variant='_LRTGSF') +def precisionTracks_GSFRefitted_LRTSequenceGenCfg(flags, name='Electron', is_probe_leg=False): + return precisionTracks_GSFRefittedSequenceGenCfg(flags, name, is_probe_leg=is_probe_leg, ion=False, variant='_LRTGSF') diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/HeavyIon/HeavyIonChainConfiguration.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/HeavyIon/HeavyIonChainConfiguration.py index acc9c90f49e84b4f1b3a0ffb6db1dca6f1634cc7..3e632e52dcdd5cd0c7ac4609bd135592a07fbf6b 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/HeavyIon/HeavyIonChainConfiguration.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/HeavyIon/HeavyIonChainConfiguration.py @@ -4,7 +4,7 @@ from AthenaCommon.Logging import logging logging.getLogger().info('Importing %s', __name__) log = logging.getLogger(__name__) from ..Config.ChainConfigurationBase import ChainConfigurationBase -from ..HeavyIon.HeavyIonMenuSequences import HIFwdGapMenuSequenceCfg +from ..HeavyIon.HeavyIonMenuSequences import HIFwdGapMenuSequenceGenCfg class HeavyIonChainConfig(ChainConfigurationBase): @@ -19,5 +19,5 @@ class HeavyIonChainConfig(ChainConfigurationBase): log.debug('Assembling chain for %s', self.chainName) steps = [] if 'Fgap' in self.chainPart['hypoFgapInfo'][0]: - steps.append(self.getStep(flags,1, 'Fgap', [HIFwdGapMenuSequenceCfg])) + steps.append(self.getStep(flags,1, 'Fgap', [HIFwdGapMenuSequenceGenCfg])) return self.buildChain(steps) diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/HeavyIon/HeavyIonMenuSequences.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/HeavyIon/HeavyIonMenuSequences.py index 7e5863266738944fb3a4b9e427fb7a92338f69e7..b39bb3adfc0b82f6dce6b432797c0206f5ed91df 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/HeavyIon/HeavyIonMenuSequences.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/HeavyIon/HeavyIonMenuSequences.py @@ -30,7 +30,7 @@ def egammaFSHIEventShapeMakerCfg(flags): -def HIFwdGapMenuSequenceCfg(flags): +def HIFwdGapMenuSequenceGenCfg(flags): from ..Config.MenuComponents import InEventRecoCA, SelectionCA, MenuSequenceCA from AthenaConfiguration.ComponentFactory import CompFactory from TrigHIHypo.TrigHIFwdGapHypoConfig import TrigHIFwdGapHypoToolFromDict diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Jet/ExoticJetSequencesConfig.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Jet/ExoticJetSequencesConfig.py index c1d2888244e5f5ff8702c0cc5c3d3db1dda4ff96..2d0b6e499dcb780e03f6a1f1a185abadb8e84574 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Jet/ExoticJetSequencesConfig.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Jet/ExoticJetSequencesConfig.py @@ -8,7 +8,7 @@ from ..Config.MenuComponents import MenuSequenceCA, SelectionCA, InEventRecoCA from AthenaConfiguration.ComponentFactory import CompFactory import functools -def jetEJsMenuSequence(flags, jetsIn): +def jetEJsMenuSequenceGenCfg(flags, jetsIn): from TrigHLTJetHypo.TrigJetHypoToolConfig import trigJetEJsHypoToolFromDict @@ -40,7 +40,7 @@ def jetEJsMenuSequence(flags, jetsIn): return MenuSequenceCA(flags, selAcc, HypoToolGen=trigJetEJsHypoToolFromDict) return functools.partial(makejetEJsMenuSequence) -def jetCRVARMenuSequence(flags, jetsIn): +def jetCRVARMenuSequenceGenCfg(flags, jetsIn): from TrigHLTJetHypo.TrigJetHypoToolConfig import trigJetCRVARHypoToolFromDict # Get track sequence name @@ -69,7 +69,7 @@ def jetCRVARMenuSequence(flags, jetsIn): return functools.partial(makejetCRVARMenuSequence) -def jetCRMenuSequence(flags, jetsIn): +def jetCRMenuSequenceGenCfg(flags, jetsIn): from TrigHLTJetHypo.TrigJetHypoToolConfig import trigJetCRHypoToolFromDict @@ -95,8 +95,8 @@ def jetCRMenuSequence(flags, jetsIn): ) ) - def makejetCRMenuSequence(): + def makejetCRMenuSequenceGenCfg(): return MenuSequenceCA(flags, selAcc, HypoToolGen=trigJetCRHypoToolFromDict) - return functools.partial(makejetCRMenuSequence) + return functools.partial(makejetCRMenuSequenceGenCfg) diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Jet/JetChainConfiguration.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Jet/JetChainConfiguration.py index b566e2ba16e974cbab3bd6c098060f17a63746d2..5a5d7cf38d5cb6515d5042e1e64efedf9f47d4a3 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Jet/JetChainConfiguration.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Jet/JetChainConfiguration.py @@ -9,13 +9,13 @@ from ..Config.ChainConfigurationBase import ChainConfigurationBase from ..Config.MenuComponents import ChainStep from .JetMenuSequencesConfig import ( - jetCaloHypoMenuSequence, - jetRoITrackJetTagHypoMenuSequence, - jetFSTrackingHypoMenuSequence, - jetCaloRecoMenuSequence, - jetCaloPreselMenuSequence, + jetCaloHypoMenuSequenceGenCfg, + jetRoITrackJetTagHypoMenuSequenceGenCfg, + jetFSTrackingHypoMenuSequenceGenCfg, + jetCaloRecoMenuSequenceGenCfg, + jetCaloPreselMenuSequenceGenCfg, ) -from .ExoticJetSequencesConfig import jetEJsMenuSequence, jetCRVARMenuSequence,jetCRMenuSequence +from .ExoticJetSequencesConfig import jetEJsMenuSequenceGenCfg, jetCRVARMenuSequenceGenCfg,jetCRMenuSequenceGenCfg from . import JetRecoCommon from . import JetPresel @@ -193,7 +193,7 @@ class JetChainConfiguration(ChainConfigurationBase): stepName = f"MainStep_jet_{self.recoDict['jetDefStr']}" if self.isPerf: stepName += '_perf' - jetSeq, jetDef = jetCaloHypoMenuSequence( + jetSeq, jetDef = jetCaloHypoMenuSequenceGenCfg( flags, isPerf=self.isPerf, **self.recoDict ) jetCollectionName = jetDef.fullname() @@ -206,8 +206,8 @@ class JetChainConfiguration(ChainConfigurationBase): stepName += '_perf' - from .JetMenuSequencesConfig import jetHICaloHypoMenuSequence - jetSeq, jetDef = jetHICaloHypoMenuSequence( + from .JetMenuSequencesConfig import jetHICaloHypoMenuSequenceGenCfg + jetSeq, jetDef = jetHICaloHypoMenuSequenceGenCfg( flags, isPerf=self.isPerf, **self.recoDict ) @@ -218,7 +218,7 @@ class JetChainConfiguration(ChainConfigurationBase): def getJetRoITrackJetTagHypoChainStep(self, flags, jetsInKey): stepName = "RoIFTFStep_jet_sel_"+self.recoDict['jetDefStr'] - jetSeq = jetRoITrackJetTagHypoMenuSequence( + jetSeq = jetRoITrackJetTagHypoMenuSequenceGenCfg( flags, jetsIn=jetsInKey, isPresel=False, **self.recoDict ) return ChainStep(stepName, [jetSeq], multiplicity=[1], chainDicts=[self.dict]) @@ -227,7 +227,7 @@ class JetChainConfiguration(ChainConfigurationBase): stepName = "MainStep_jet_"+self.recoDict['jetDefStr'] if self.isPerf: stepName += '_perf' - jetSeq, jetDef = jetFSTrackingHypoMenuSequence( + jetSeq, jetDef = jetFSTrackingHypoMenuSequenceGenCfg( flags, clustersKey=clustersKey, isPerf=self.isPerf, **self.recoDict @@ -237,7 +237,7 @@ class JetChainConfiguration(ChainConfigurationBase): def getJetCaloRecoChainStep(self, flags): stepName = "CaloRecoPTStep_jet_"+self.recoDict["clusterCalib"] - jetSeq, clustersKey = jetCaloRecoMenuSequence( + jetSeq, clustersKey = jetCaloRecoMenuSequenceGenCfg( flags, clusterCalib=self.recoDict["clusterCalib"] ) @@ -255,7 +255,7 @@ class JetChainConfiguration(ChainConfigurationBase): preselRecoDict = JetPresel.getPreselRecoDict(matched_reco.group()) stepName = "PreselStep_jet_"+preselRecoDict['jetDefStr'] - jetSeq, jetDef, clustersKey = jetCaloPreselMenuSequence( flags, **preselRecoDict ) + jetSeq, jetDef, clustersKey = jetCaloPreselMenuSequenceGenCfg( flags, **preselRecoDict ) return str(clustersKey), jetDef, ChainStep(stepName, [jetSeq], multiplicity=[1], chainDicts=[self.dict]) @@ -275,7 +275,7 @@ class JetChainConfiguration(ChainConfigurationBase): assert preselRecoDict['trkopt'] == 'roiftf', 'getJetRoITrackJetTagPreselChainStep: you requested a RoI tracking preselection but the reco dictionary has \'trkopt\' set to {0}'.format(preselRecoDict['trkopt']) stepName = "RoIFTFStep_jet_"+self.recoDict['jetDefStr'] - jetSeq = jetRoITrackJetTagHypoMenuSequence(flags, jetsIn=jetsInKey, isPresel=True, **preselRecoDict) + jetSeq = jetRoITrackJetTagHypoMenuSequenceGenCfg(flags, jetsIn=jetsInKey, isPresel=True, **preselRecoDict) return ChainStep(stepName, [jetSeq], multiplicity=[1], chainDicts=[self.dict]) @@ -305,7 +305,7 @@ class JetChainConfiguration(ChainConfigurationBase): log.debug("Running exotic jets with ptf: " + str(ptf) + "\tdR: " + str(dr) + "\ttrackless: " + str(trackless) + "\thypo: " + exotdictstring) stepName = "EJsStep_" - jetSeq = jetEJsMenuSequence(flags, jetsIn=jetCollectionName) + jetSeq = jetEJsMenuSequenceGenCfg(flags, jetsIn=jetCollectionName) chainStep = ChainStep(stepName, [jetSeq], multiplicity=[1], chainDicts=[self.dict]) return chainStep @@ -325,7 +325,7 @@ class JetChainConfiguration(ChainConfigurationBase): log.debug("Running exotic jets with MinjetlogR: " + str(MinjetlogR) + "\t BIB rm " + str(doBIBremoval) + "\thypo: " + exotdictstring) stepName = "CRVARStep_" - jetSeq = jetCRVARMenuSequence(flags, jetsIn=jetCollectionName) + jetSeq = jetCRVARMenuSequenceGenCfg(flags, jetsIn=jetCollectionName) chainStep = ChainStep(stepName, [jetSeq], multiplicity=[1], chainDicts=[self.dict]) return chainStep @@ -345,7 +345,7 @@ class JetChainConfiguration(ChainConfigurationBase): log.debug("Running exotic jets with MinjetlogR: " + str(MinjetlogR) + "\t BIB rm " + str(doBIBremoval) + "\thypo: " + exotdictstring) stepName = "CRStep_" - jetSeq = jetCRMenuSequence(flags, jetsIn=jetCollectionName) + jetSeq = jetCRMenuSequenceGenCfg(flags, jetsIn=jetCollectionName) chainStep = ChainStep(stepName, [jetSeq], multiplicity=[1], chainDicts=[self.dict]) return chainStep diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Jet/JetMenuSequencesConfig.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Jet/JetMenuSequencesConfig.py index 960ba1778d221afdf283aa2cee188d351724be28..332e67455fc4db367b9fba2f24701eebf8644c50 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Jet/JetMenuSequencesConfig.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Jet/JetMenuSequencesConfig.py @@ -171,7 +171,7 @@ def jetCaloPreselSelCfg(flags, **jetRecoDict): selAcc.mergeHypo(jetSelectionCfg(flags, jetDefStr=jetRecoDict['jetDefStr'], jetsIn=jetDef.fullname(), hypoType=JetHypoAlgType.CALOPRESEL)) return selAcc, jetDef, clustersKey -def jetCaloPreselMenuSequence(flags, **jetRecoDict): +def jetCaloPreselMenuSequenceGenCfg(flags, **jetRecoDict): selAcc, jetDef, clustersKey = jetCaloPreselSelCfg(flags, **jetRecoDict) def makejetCaloPreselMenuSequence(): return MenuSequenceCA(flags, selAcc, HypoToolGen=hypoToolGenerator(hypoType=JetHypoAlgType.CALOPRESEL)) @@ -196,7 +196,7 @@ def jetCaloSelCfg(flags, clusterCalib): selAcc.mergeHypo(jetSelectionCfg(flags, jetDefStr="caloreco", jetsIn=None, hypoType=JetHypoAlgType.PASSTHROUGH)) return selAcc, clustersKey -def jetCaloRecoMenuSequence(flags, clusterCalib): +def jetCaloRecoMenuSequenceGenCfg(flags, clusterCalib): selAcc, clusterKey = jetCaloSelCfg(flags, clusterCalib) def makejetCaloRecoMenuSequence(): return MenuSequenceCA(flags, selAcc, HypoToolGen=hypoToolGenerator(hypoType=JetHypoAlgType.PASSTHROUGH)) @@ -233,7 +233,7 @@ def jetCaloHypoSelCfg(flags, isPerf, **jetRecoDict): return selAcc, jetDef, hypoType -def jetCaloHypoMenuSequence(flags, isPerf, **jetRecoDict): +def jetCaloHypoMenuSequenceGenCfg(flags, isPerf, **jetRecoDict): selAcc, jetDef, hypoType = jetCaloHypoSelCfg(flags, isPerf, **jetRecoDict) def makejetCaloHypoMenuSequence(): return MenuSequenceCA(flags, selAcc, HypoToolGen=hypoToolGenerator(hypoType)) @@ -259,7 +259,7 @@ def jetHICaloSelCfg(flags, isPerf, **jetRecoDict): selAcc.mergeHypo(jetSelectionCfg(flags, jetDefStr=jetRecoDict['jetDefStr'], jetsIn=jetDef.fullname(), hypoType=hypoType)) return selAcc, jetDef, hypoType -def jetHICaloHypoMenuSequence(flags, isPerf, **jetRecoDict): +def jetHICaloHypoMenuSequenceGenCfg(flags, isPerf, **jetRecoDict): selAcc, jetDef, hypoType = jetHICaloSelCfg(flags, isPerf, **jetRecoDict) def makejetHICaloHypoMenuSequence(): return MenuSequenceCA(flags, selAcc, HypoToolGen=hypoToolGenerator(hypoType)) @@ -308,7 +308,7 @@ def jetFSTrackingSelCfg(flags, clustersKey, isPerf, **jetRecoDict): return selAcc, jetDef, hypoType -def jetFSTrackingHypoMenuSequence(flags, clustersKey, isPerf, **jetRecoDict): +def jetFSTrackingHypoMenuSequenceGenCfg(flags, clustersKey, isPerf, **jetRecoDict): selAcc, jetDef, hypoType = jetFSTrackingSelCfg(flags, clustersKey, isPerf, **jetRecoDict) def makejetFSTrackingHypoMenuSequence(): return MenuSequenceCA(flags, selAcc, HypoToolGen=hypoToolGenerator(hypoType)) @@ -362,7 +362,7 @@ def jetRoITrackJetTagSelCfg(flags, jetsIn, isPresel=True, **jetRecoDict): selAcc.mergeHypo(jetSelectionCfg(flags, jetDefStr=jetRecoDict['jetDefStr'], jetsIn=filtered_jetsIn, hypoType=hypoType)) return selAcc, hypoType -def jetRoITrackJetTagHypoMenuSequence(flags, jetsIn, isPresel=True, **jetRecoDict): +def jetRoITrackJetTagHypoMenuSequenceGenCfg(flags, jetsIn, isPresel=True, **jetRecoDict): selAcc, hypoType = jetRoITrackJetTagSelCfg(flags, jetsIn, isPresel, **jetRecoDict) def makejetRoITrackJetTagHypoMenuSequence(): return MenuSequenceCA(flags, selAcc, HypoToolGen=hypoToolGenerator(hypoType)) diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Jet/JetTLASequenceConfig.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Jet/JetTLASequenceConfig.py index 253245d7d50bb32a237211b82bff67d9501a7f44..6d126fae4965e961fc3b3e5b355873e0a266b380 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Jet/JetTLASequenceConfig.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Jet/JetTLASequenceConfig.py @@ -29,7 +29,7 @@ def JetTLASequenceCfg(flags, jetsIn): return recoAcc @AccumulatorCache -def JetTLAMenuSequenceCfg( flags, jetsIn, attachBtag=True ): +def JetTLAMenuSequenceGenCfg( flags, jetsIn, attachBtag=True ): jetsOut = recordable(jetsIn+"_TLA") # retrieves the sequence diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/MET/ConfigHelpers.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/MET/ConfigHelpers.py index 5b79e221d0240e9a23c4679da4fa1e7356677cd8..90618cb578531fa3a045462bdabcb2575b578370 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/MET/ConfigHelpers.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/MET/ConfigHelpers.py @@ -236,7 +236,7 @@ class AlgConfig(ABC): Sequences=[] if sel_acc is None else [ - functools.partial(make_MET_menu_sequence, flags, sel_acc, hypo_tool) + functools.partial(make_MET_menu_sequenceGenCfg, flags, sel_acc, hypo_tool) ], comboHypoCfg=ComboHypoCfg ) @@ -295,7 +295,7 @@ class AlgConfig(ABC): raise ValueError("Unknown EFrecoAlg '{}' requested".format(EFrecoAlg)) -def make_MET_menu_sequence(flags, sel_acc, hypo_tool): +def make_MET_menu_sequenceGenCfg(flags, sel_acc, hypo_tool): return MenuSequenceCA(flags, selectionCA=sel_acc, HypoToolGen=hypo_tool) # Load all the defined configurations diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/Physics_pp_run3_v1.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/Physics_pp_run3_v1.py index b4ca66dc1b8eb647c6e2f8a163c917b5e8dee534..7224bb2ffadf5a94240f37eb78c501aa44780c13 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/Physics_pp_run3_v1.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/Physics_pp_run3_v1.py @@ -1484,7 +1484,7 @@ def setupMenu(menu_name): # ATR-28563 - ChainProp(name='HLT_j20_calratiovar_roiftf_preselj20emf24_L1LLPDPHI-jXE27-jJ27', l1SeedThresholds=['FSNOSEED'], groups=SingleJetGroup+PrimaryPhIGroup+Topo2Group), + ChainProp(name='HLT_j20_calratiovar_roiftf_preselj20emf24_L1LLPDPHI-jXE40-jJ40', l1SeedThresholds=['FSNOSEED'], groups=SingleJetGroup+PrimaryPhIGroup+Topo2Group), ] @@ -3270,7 +3270,7 @@ def setupMenu(menu_name): ChainProp(name='HLT_noalg_L12MU5VF', l1SeedThresholds=['FSNOSEED'], stream=['Main'], groups=['PS:NoBulkMCProd']+SupportGroup+MuonXStreamersGroup), # ATR-28563 - ChainProp(name='HLT_noalg_L1LLPDPHI-jXE27-jJ27', l1SeedThresholds=['FSNOSEED'], stream=['Main'], groups=JetPhaseIStreamersGroup+SupportPhIGroup+Topo2Group), + ChainProp(name='HLT_noalg_L1LLPDPHI-jXE40-jJ40', l1SeedThresholds=['FSNOSEED'], stream=['Main'], groups=JetPhaseIStreamersGroup+SupportPhIGroup+Topo2Group), ] diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/MinBias/AFPMenuSequence.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/MinBias/AFPMenuSequence.py index 28489b91982444c477522b0cc6c6f118519833f3..2f911eca438159068cfa5c27abba956d3b5ba68e 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/MinBias/AFPMenuSequence.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/MinBias/AFPMenuSequence.py @@ -39,7 +39,7 @@ def AFPTrkRecoBaseSequenceCfg(flags): @AccumulatorCache -def AFPTrkSequenceCfg(flags): +def AFPTrkSequenceGenCfg(flags): def trigStreamerAFPHypoTool(chainDict): return CompFactory.TrigStreamerHypoTool(chainDict['chainName']) @@ -120,7 +120,7 @@ def AFPGlobalRecoSequenceCfg(flags): @AccumulatorCache -def AFPGlobalSequenceCfg(flags): +def AFPGlobalSequenceGenCfg(flags): def trigStreamerAFPToFHypoTool(chainDict): return CompFactory.TrigStreamerHypoTool(chainDict['chainName']) @@ -143,7 +143,7 @@ def AFPToFDeltaZToolGen(chainDict): return hypotool @AccumulatorCache -def AFPToFDeltaZSequenceCfg(flags): +def AFPToFDeltaZSequenceGenCfg(flags): recoAcc = AFPGlobalRecoSequenceCfg(flags) @@ -181,8 +181,8 @@ if __name__ == '__main__': flags.lock() - afp_trk = AFPTrkSequenceCfg(flags) + afp_trk = AFPTrkSequenceGenCfg(flags) afp_trk.ca.printConfig(withDetails=True) - afp_glob = AFPGlobalSequenceCfg(flags) + afp_glob = AFPGlobalSequenceGenCfg(flags) afp_glob.ca.printConfig(withDetails=True) diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/MinBias/MinBiasChainConfiguration.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/MinBias/MinBiasChainConfiguration.py index cb812e0a87c6de2819d6e86046074d015bbd8e32..65e3afefdc87d7d6a2ca1850e9900e80a86bfcd0 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/MinBias/MinBiasChainConfiguration.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/MinBias/MinBiasChainConfiguration.py @@ -6,11 +6,11 @@ log = logging.getLogger( __name__ ) from TriggerMenuMT.HLT.Config.ChainConfigurationBase import ChainConfigurationBase -from TriggerMenuMT.HLT.MinBias.MinBiasMenuSequences import (MinBiasSPSequenceCfg, - MinBiasTrkSequenceCfg, - MinBiasMbtsSequenceCfg, - MinBiasZVertexFinderSequenceCfg) -from TriggerMenuMT.HLT.MinBias.AFPMenuSequence import AFPTrkSequenceCfg, AFPGlobalSequenceCfg, AFPToFDeltaZSequenceCfg +from TriggerMenuMT.HLT.MinBias.MinBiasMenuSequences import (MinBiasSPSequenceGenCfg, + MinBiasTrkSequenceGenCfg, + MinBiasMbtsSequenceGenCfg, + MinBiasZVertexFinderSequenceGenCfg) +from TriggerMenuMT.HLT.MinBias.AFPMenuSequence import AFPTrkSequenceGenCfg, AFPGlobalSequenceGenCfg, AFPToFDeltaZSequenceGenCfg class MinBiasChainConfig(ChainConfigurationBase): @@ -47,25 +47,25 @@ class MinBiasChainConfig(ChainConfigurationBase): return self.buildChain(steps) def getMinBiasMbtsStep(self, flags): - return self.getStep(flags,1,'Mbts', [MinBiasMbtsSequenceCfg]) + return self.getStep(flags,1,'Mbts', [MinBiasMbtsSequenceGenCfg]) def getMinBiasEmptyMbtsStep(self, flags): return self.getEmptyStep(1,'EmptyMbts') def getMinBiasSpStep(self, flags): - return self.getStep(flags,2,'SPCount', [MinBiasSPSequenceCfg]) + return self.getStep(flags,2,'SPCount', [MinBiasSPSequenceGenCfg]) def getMinBiasZFindStep(self, flags): - return self.getStep(flags,3,'ZFind', [MinBiasZVertexFinderSequenceCfg]) + return self.getStep(flags,3,'ZFind', [MinBiasZVertexFinderSequenceGenCfg]) def getMinBiasTrkStep(self, flags): - return self.getStep(flags,4,'TrkCount', [MinBiasTrkSequenceCfg]) + return self.getStep(flags,4,'TrkCount', [MinBiasTrkSequenceGenCfg]) def getAFPTrkStep(self, flags): - return self.getStep(flags,1,'AFPTrk', [AFPTrkSequenceCfg]) + return self.getStep(flags,1,'AFPTrk', [AFPTrkSequenceGenCfg]) def getAFPGlobalStep(self, flags): - return self.getStep(flags,2,'AFPGlobal', [AFPGlobalSequenceCfg]) + return self.getStep(flags,2,'AFPGlobal', [AFPGlobalSequenceGenCfg]) def getAFPToFDeltaZStep(self, flags): - return self.getStep(flags,2,'AFPToFDeltaZ', [AFPToFDeltaZSequenceCfg]) + return self.getStep(flags,2,'AFPToFDeltaZ', [AFPToFDeltaZSequenceGenCfg]) diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/MinBias/MinBiasMenuSequences.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/MinBias/MinBiasMenuSequences.py index 885f499de3ea165cbd1c1e4e0b0c967505c4223a..431458d08510213f35b27ab4eb215e6fc37bbac5 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/MinBias/MinBiasMenuSequences.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/MinBias/MinBiasMenuSequences.py @@ -125,11 +125,11 @@ def MinBiasSPSel(flags): selAcc.addHypoAlgo(spCountHypo) return selAcc -def MinBiasSPSequenceCfg(flags): +def MinBiasSPSequenceGenCfg(flags): selAcc = MinBiasSPSel(flags) return MenuSequenceCA(flags, selAcc, HypoToolGen = SPCountHypoToolGen) -def MinBiasZVertexFinderSequenceCfg(flags): +def MinBiasZVertexFinderSequenceGenCfg(flags): recoAcc = InViewRecoCA(name="ZVertFinderReco", InViewRoIs="InputRoI", RequireParentView=True) vdv = CompFactory.AthViews.ViewDataVerifier( "VDVZFinderInputs", DataObjects = {( 'SpacePointContainer' , 'StoreGateSvc+PixelTrigSpacePoints'), @@ -144,7 +144,7 @@ def MinBiasZVertexFinderSequenceCfg(flags): return MenuSequenceCA(flags, selAcc, HypoToolGen = TrigZVertexHypoToolGen) -def MinBiasTrkSequenceCfg(flags): +def MinBiasTrkSequenceGenCfg(flags): recoAcc = InViewRecoCA(name="MBTrackReco", InViewRoIs="InputRoI", RequireParentView=True) from TrigInDetConfig.utils import getFlagsForActiveConfig @@ -164,7 +164,7 @@ def MinBiasTrkSequenceCfg(flags): selAcc.mergeHypo(trackCountHypoAlgo) return MenuSequenceCA(flagsWithTrk, selAcc, HypoToolGen = TrackCountHypoToolGen) -def MinBiasMbtsSequenceCfg(flags): +def MinBiasMbtsSequenceGenCfg(flags): recoAcc = InEventRecoCA(name="Mbts") from TrigMinBias.MbtsConfig import MbtsFexCfg, MbtsSGInputCfg fex = MbtsFexCfg(flags, MbtsBitsKey = recordable("HLT_MbtsBitsContainer")) @@ -184,10 +184,10 @@ if __name__ == "__main__": from AthenaConfiguration.AllConfigFlags import initConfigFlags flags = initConfigFlags() flags.lock() - zf = MinBiasZVertexFinderSequenceCfg(flags) + zf = MinBiasZVertexFinderSequenceGenCfg(flags) zf.ca.printConfig(withDetails=True) - mb = MinBiasMbtsSequenceCfg(flags) + mb = MinBiasMbtsSequenceGenCfg(flags) mb.ca.printConfig() diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Muon/MuonChainConfiguration.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Muon/MuonChainConfiguration.py index 64cb88e8d98d8df231df39a7a477205d05a85b4c..98aed443dfbb0df92391ff444c13f4a470f4486e 100755 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Muon/MuonChainConfiguration.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Muon/MuonChainConfiguration.py @@ -11,9 +11,15 @@ log = logging.getLogger(__name__) from ..Config.ChainConfigurationBase import ChainConfigurationBase -from .MuonMenuSequences import muFastSequence, muFastCalibSequence, mul2mtSAOvlpRmSequence, muCombSequence, muCombOvlpRmSequence, mul2mtCBOvlpRmSequence, mul2IOOvlpRmSequence, muCombLRTSequence, muEFSASequence, muEFSAFSSequence, efLateMuSequence, muEFCBSequence, muEFCBIDperfSequence, muEFCBLRTSequence, muEFCBLRTIDperfSequence, muEFCBFSSequence, muEFIDtpSequence, muEFIsoSequence, muEFMSIsoSequence +from .MuonMenuSequences import ( + muFastSequenceGenCfg, muFastCalibSequenceGenCfg, mul2mtSAOvlpRmSequenceGenCfg, + muCombSequenceGenCfg, muCombOvlpRmSequenceGenCfg, mul2mtCBOvlpRmSequenceGenCfg, + mul2IOOvlpRmSequenceGenCfg, muCombLRTSequenceGenCfg, muEFSASequenceGenCfg, + muEFSAFSSequenceGenCfg, efLateMuSequenceGenCfg, muEFCBSequenceGenCfg, + muEFCBIDperfSequenceGenCfg, muEFCBLRTSequenceGenCfg, muEFCBLRTIDperfSequenceGenCfg, + muEFCBFSSequenceGenCfg, muEFIDtpSequenceGenCfg, muEFIsoSequenceGenCfg, + muEFMSIsoSequenceGenCfg, efLateMuRoISequenceGenCfg, muRoiClusterSequenceGenCfg ) -from .MuonMenuSequences import efLateMuRoISequence, muRoiClusterSequence from TrigMuonHypo.TrigMuonHypoConfig import TrigMuonEFInvMassHypoToolFromDict from TrigMuonHypo.TrigMuonHypoConfig import TrigMuonEFIdtpInvMassHypoToolFromDict @@ -89,11 +95,11 @@ class MuonChainConfiguration(ChainConfigurationBase): def getmuFast(self, flags, is_probe_leg=False): if 'muoncalib' in self.chainPart['extra']: - return self.getStep(flags,1,"mufastcalib", [muFastCalibSequence], is_probe_leg=is_probe_leg ) + return self.getStep(flags,1,"mufastcalib", [muFastCalibSequenceGenCfg], is_probe_leg=is_probe_leg ) elif 'l2mt' in self.chainPart['l2AlgInfo']: - return self.getStep(flags,1,"mufastl2mt", [mul2mtSAOvlpRmSequence], is_probe_leg=is_probe_leg ) + return self.getStep(flags,1,"mufastl2mt", [mul2mtSAOvlpRmSequenceGenCfg], is_probe_leg=is_probe_leg ) else: - return self.getStep(flags,1,"mufast", [muFastSequence], is_probe_leg=is_probe_leg ) + return self.getStep(flags,1,"mufast", [muFastSequenceGenCfg], is_probe_leg=is_probe_leg ) # -------------------- @@ -110,63 +116,63 @@ class MuonChainConfiguration(ChainConfigurationBase): doOvlpRm = False if 'l2mt' in self.chainPart['l2AlgInfo']: - return self.getStep(flags,2,"muCombl2mt", [mul2mtCBOvlpRmSequence], is_probe_leg=is_probe_leg ) + return self.getStep(flags,2,"muCombl2mt", [mul2mtCBOvlpRmSequenceGenCfg], is_probe_leg=is_probe_leg ) elif 'l2io' in self.chainPart['l2AlgInfo']: - return self.getStep(flags,2, 'muCombIO', [mul2IOOvlpRmSequence], is_probe_leg=is_probe_leg ) + return self.getStep(flags,2, 'muCombIO', [mul2IOOvlpRmSequenceGenCfg], is_probe_leg=is_probe_leg ) elif doOvlpRm: - return self.getStep(flags,2, 'muCombOVR', [muCombOvlpRmSequence], is_probe_leg=is_probe_leg ) + return self.getStep(flags,2, 'muCombOVR', [muCombOvlpRmSequenceGenCfg], is_probe_leg=is_probe_leg ) elif "LRT" in self.chainPart['addInfo']: - return self.getStep(flags,2, 'muCombLRT', [muCombLRTSequence], is_probe_leg=is_probe_leg ) + return self.getStep(flags,2, 'muCombLRT', [muCombLRTSequenceGenCfg], is_probe_leg=is_probe_leg ) else: - return self.getStep(flags,2, 'muComb', [muCombSequence], is_probe_leg=is_probe_leg ) + return self.getStep(flags,2, 'muComb', [muCombSequenceGenCfg], is_probe_leg=is_probe_leg ) # -------------------- def getmuCombIO(self, flags, is_probe_leg=False): - return self.getStep(flags,2, 'muCombIO', [mul2IOOvlpRmSequence], is_probe_leg=is_probe_leg ) + return self.getStep(flags,2, 'muCombIO', [mul2IOOvlpRmSequenceGenCfg], is_probe_leg=is_probe_leg ) # -------------------- def getmuEFSA(self, flags, is_probe_leg=False): - return self.getStep(flags,3,'muEFSA',[ muEFSASequence], is_probe_leg=is_probe_leg) + return self.getStep(flags,3,'muEFSA',[ muEFSASequenceGenCfg], is_probe_leg=is_probe_leg) # -------------------- def getmuEFCB(self, flags, is_probe_leg=False): if 'invm' in self.chainPart['invMassInfo']: # No T&P support, add if needed - return self.getStep(flags,4,'EFCB', [muEFCBSequence], comboTools=[TrigMuonEFInvMassHypoToolFromDict], is_probe_leg=is_probe_leg) + return self.getStep(flags,4,'EFCB', [muEFCBSequenceGenCfg], comboTools=[TrigMuonEFInvMassHypoToolFromDict], is_probe_leg=is_probe_leg) elif "LRT" in self.chainPart['addInfo']: if "idperf" in self.chainPart['addInfo']: - return self.getStep(flags,4,'EFCBLRTIDPERF', [muEFCBLRTIDperfSequence], is_probe_leg=is_probe_leg) + return self.getStep(flags,4,'EFCBLRTIDPERF', [muEFCBLRTIDperfSequenceGenCfg], is_probe_leg=is_probe_leg) else: - return self.getStep(flags,4,'EFCBLRT', [muEFCBLRTSequence], is_probe_leg=is_probe_leg) + return self.getStep(flags,4,'EFCBLRT', [muEFCBLRTSequenceGenCfg], is_probe_leg=is_probe_leg) elif "idperf" in self.chainPart['addInfo']: - return self.getStep(flags,4,'EFCBIDPERF', [muEFCBIDperfSequence], is_probe_leg=is_probe_leg) + return self.getStep(flags,4,'EFCBIDPERF', [muEFCBIDperfSequenceGenCfg], is_probe_leg=is_probe_leg) elif "idtp" in self.chainPart['addInfo']: - return self.getStep(flags,4,'EFIDTP', [muEFIDtpSequence], is_probe_leg=is_probe_leg) + return self.getStep(flags,4,'EFIDTP', [muEFIDtpSequenceGenCfg], is_probe_leg=is_probe_leg) else: - return self.getStep(flags,4,'EFCB', [muEFCBSequence], is_probe_leg=is_probe_leg) + return self.getStep(flags,4,'EFCB', [muEFCBSequenceGenCfg], is_probe_leg=is_probe_leg) # -------------------- def getFSmuEFSA(self, flags, is_probe_leg=False): - return self.getStep(flags,5,'FSmuEFSA', [muEFSAFSSequence], is_probe_leg=is_probe_leg) + return self.getStep(flags,5,'FSmuEFSA', [muEFSAFSSequenceGenCfg], is_probe_leg=is_probe_leg) # -------------------- def getFSmuEFCB(self, flags, is_probe_leg=False): if 'invm' in self.chainPart['invMassInfo']: - return self.getStep(flags,6,'FSmuEFCB', [muEFCBFSSequence],comboTools=[TrigMuonEFInvMassHypoToolFromDict], is_probe_leg=is_probe_leg) + return self.getStep(flags,6,'FSmuEFCB', [muEFCBFSSequenceGenCfg],comboTools=[TrigMuonEFInvMassHypoToolFromDict], is_probe_leg=is_probe_leg) else: - return self.getStep(flags,6,'FSmuEFCB', [muEFCBFSSequence], is_probe_leg=is_probe_leg) + return self.getStep(flags,6,'FSmuEFCB', [muEFCBFSSequenceGenCfg], is_probe_leg=is_probe_leg) #--------------------- def getmuEFIso(self, flags, is_probe_leg=False): if any(x in self.dict['topo'] for x in ['b7invmAB9vtx20', 'b11invmAB60vtx20', 'b11invmAB24vtx20', 'b24invmAB60vtx20']): from TrigBphysHypo.TrigMultiTrkComboHypoConfig import DrellYanComboHypoCfg, TrigMultiTrkComboHypoToolFromDict - return self.getStep(flags,5,'muEFIsoDY', [muEFIsoSequence], comboHypoCfg=DrellYanComboHypoCfg, comboTools=[TrigMultiTrkComboHypoToolFromDict], is_probe_leg=is_probe_leg) + return self.getStep(flags,5,'muEFIsoDY', [muEFIsoSequenceGenCfg], comboHypoCfg=DrellYanComboHypoCfg, comboTools=[TrigMultiTrkComboHypoToolFromDict], is_probe_leg=is_probe_leg) else: - return self.getStep(flags,5,'muEFIso', [muEFIsoSequence], is_probe_leg=is_probe_leg) + return self.getStep(flags,5,'muEFIso', [muEFIsoSequenceGenCfg], is_probe_leg=is_probe_leg) #--------------------- def getmuEFMSIso(self, flags, is_probe_leg=False): - return self.getStep(flags,5,'muEFMSIso',[ muEFMSIsoSequence], is_probe_leg=is_probe_leg) + return self.getStep(flags,5,'muEFMSIso',[ muEFMSIsoSequenceGenCfg], is_probe_leg=is_probe_leg) #-------------------- def getmuMSEmptyAll(self, flags, stepID): # No T&P info needed for empty step? @@ -186,15 +192,15 @@ class MuonChainConfiguration(ChainConfigurationBase): #-------------------- def getLateMuRoI(self, flags, is_probe_leg=False): # No T&P support, add if needed - return self.getStep(flags,1,'muEFLateRoI',[efLateMuRoISequence], is_probe_leg=is_probe_leg) + return self.getStep(flags,1,'muEFLateRoI',[efLateMuRoISequenceGenCfg], is_probe_leg=is_probe_leg) #-------------------- def getLateMu(self, flags, is_probe_leg=False): # No T&P support, add if needed - return self.getStep(flags,2,'muEFLate',[efLateMuSequence], is_probe_leg=is_probe_leg) + return self.getStep(flags,2,'muEFLate',[efLateMuSequenceGenCfg], is_probe_leg=is_probe_leg) #-------------------- def getmuRoiClu(self, flags, is_probe_leg=False): - return self.getStep(flags,1,'muRoiClu',[muRoiClusterSequence]) + return self.getStep(flags,1,'muRoiClu',[muRoiClusterSequenceGenCfg]) def TrigMuonEFIdtpInvMassHypoToolCfg(flags, chainDict): diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Muon/MuonMenuSequences.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Muon/MuonMenuSequences.py index 71016a1cb7061feb1a5f1235df285647c2d4296e..6123e26cbba00aa0e6c8277463e4d5d76b4be45f 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Muon/MuonMenuSequences.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Muon/MuonMenuSequences.py @@ -102,7 +102,7 @@ def muFastCalibAlgSequenceCfg(flags, is_probe_leg=False): @AccumulatorCache -def muFastSequence(flags, is_probe_leg=False): +def muFastSequenceGenCfg(flags, is_probe_leg=False): (selAcc, sequenceOut) = muFastAlgSequenceCfg(flags, "", is_probe_leg) @@ -121,7 +121,7 @@ def muFastSequence(flags, is_probe_leg=False): @AccumulatorCache -def muFastCalibSequence(flags, is_probe_leg=False): +def muFastCalibSequenceGenCfg(flags, is_probe_leg=False): (selAcc, sequenceOut) = muFastCalibAlgSequenceCfg(flags, is_probe_leg) @@ -140,7 +140,7 @@ def muFastCalibSequence(flags, is_probe_leg=False): @AccumulatorCache -def mul2mtSAOvlpRmSequence(flags, is_probe_leg=False): +def mul2mtSAOvlpRmSequenceGenCfg(flags, is_probe_leg=False): (selAcc, sequenceOut) = muFastAlgSequenceCfg(flags, "mt", is_probe_leg) @@ -256,7 +256,7 @@ def muCombAlgSequenceCfg(flags, selCAName="", is_probe_leg=False): @AccumulatorCache -def muCombSequence(flags, is_probe_leg=False): +def muCombSequenceGenCfg(flags, is_probe_leg=False): (selAcc, sequenceOut) = muCombAlgSequenceCfg(flags, "", is_probe_leg) @@ -275,7 +275,7 @@ def muCombSequence(flags, is_probe_leg=False): @AccumulatorCache -def mul2IOOvlpRmSequence(flags, is_probe_leg=False): +def mul2IOOvlpRmSequenceGenCfg(flags, is_probe_leg=False): (selAcc, sequenceOut) = muCombAlgSequenceCfg(flags, "IO", is_probe_leg) @@ -328,7 +328,7 @@ def muCombLRTAlgSequenceCfg(flags, is_probe_leg=False): @AccumulatorCache -def muCombLRTSequence(flags, is_probe_leg=False): +def muCombLRTSequenceGenCfg(flags, is_probe_leg=False): (selAcc, sequenceOut) = muCombLRTAlgSequenceCfg(flags, is_probe_leg) @@ -348,7 +348,7 @@ def muCombLRTSequence(flags, is_probe_leg=False): @AccumulatorCache -def muCombOvlpRmSequence(flags, is_probe_leg=False): +def muCombOvlpRmSequenceGenCfg(flags, is_probe_leg=False): (selAcc, sequenceOut) = muCombAlgSequenceCfg(flags, "", is_probe_leg) @@ -366,7 +366,7 @@ def muCombOvlpRmSequence(flags, is_probe_leg=False): @AccumulatorCache -def mul2mtCBOvlpRmSequence(flags, is_probe_leg=False): +def mul2mtCBOvlpRmSequenceGenCfg(flags, is_probe_leg=False): (selAcc, sequenceOut) = muCombAlgSequenceCfg(flags, "mt", is_probe_leg) @@ -417,7 +417,7 @@ def muEFSAAlgSequenceCfg(flags, is_probe_leg=False): @AccumulatorCache -def muEFSASequence(flags, is_probe_leg=False): +def muEFSASequenceGenCfg(flags, is_probe_leg=False): (selAcc, sequenceOut) = muEFSAAlgSequenceCfg(flags, is_probe_leg) @@ -498,7 +498,7 @@ def muEFCBAlgSequenceCfg(flags, selCAName='', is_probe_leg=False): @AccumulatorCache -def muEFCBSequence(flags, is_probe_leg=False): +def muEFCBSequenceGenCfg(flags, is_probe_leg=False): (selAcc, sequenceOut) = muEFCBAlgSequenceCfg(flags, '', is_probe_leg) @@ -517,7 +517,7 @@ def muEFCBSequence(flags, is_probe_leg=False): @AccumulatorCache -def muEFCBIDperfSequence(flags, is_probe_leg=False): +def muEFCBIDperfSequenceGenCfg(flags, is_probe_leg=False): (selAcc, sequenceOut) = muEFCBAlgSequenceCfg(flags, 'idperf', is_probe_leg) @@ -537,7 +537,7 @@ def muEFCBIDperfSequence(flags, is_probe_leg=False): @AccumulatorCache -def muEFIDtpSequence(flags, is_probe_leg=False): +def muEFIDtpSequenceGenCfg(flags, is_probe_leg=False): (selAcc, sequenceOut) = muEFCBAlgSequenceCfg(flags, 'idtp', is_probe_leg) @@ -577,7 +577,7 @@ def muEFCBLRTAlgSequenceCfg(flags, selCAName='', is_probe_leg=False): @AccumulatorCache -def muEFCBLRTSequence(flags, is_probe_leg=False): +def muEFCBLRTSequenceGenCfg(flags, is_probe_leg=False): (selAcc, sequenceOut) = muEFCBLRTAlgSequenceCfg(flags, '', is_probe_leg) @@ -597,7 +597,7 @@ def muEFCBLRTSequence(flags, is_probe_leg=False): @AccumulatorCache -def muEFCBLRTIDperfSequence(flags, is_probe_leg=False): +def muEFCBLRTIDperfSequenceGenCfg(flags, is_probe_leg=False): (selAcc, sequenceOut) = muEFCBLRTAlgSequenceCfg(flags, 'idperf', is_probe_leg) @@ -647,7 +647,7 @@ def muEFSAFSAlgSequenceCfg(flags): @AccumulatorCache -def muEFSAFSSequence(flags, is_probe_leg=False): +def muEFSAFSSequenceGenCfg(flags, is_probe_leg=False): (selAcc, sequenceOut) = muEFSAFSAlgSequenceCfg(flags) @@ -732,7 +732,7 @@ def muEFCBFSAlgSequenceCfg(flags, is_probe_leg=False): @AccumulatorCache -def muEFCBFSSequence(flags, is_probe_leg=False): +def muEFCBFSSequenceGenCfg(flags, is_probe_leg=False): (selAcc, sequenceOut) = muEFCBFSAlgSequenceCfg(flags, is_probe_leg) @@ -771,7 +771,7 @@ def efLateMuRoIAlgSequenceCfg(flags): @AccumulatorCache -def efLateMuRoISequence(flags): +def efLateMuRoISequenceGenCfg(flags): (selAcc, sequenceOut) = efLateMuRoIAlgSequenceCfg(flags) @@ -822,7 +822,7 @@ def efLateMuAlgSequenceCfg(flags): @AccumulatorCache -def efLateMuSequence(flags): +def efLateMuSequenceGenCfg(flags): (selAcc, sequenceOut) = efLateMuAlgSequenceCfg(flags) @@ -879,7 +879,7 @@ def muEFIsoAlgSequenceCfg(flags, doMSiso=False, is_probe_leg=False): @AccumulatorCache -def muEFIsoSequence(flags, is_probe_leg=False): +def muEFIsoSequenceGenCfg(flags, is_probe_leg=False): (selAcc, sequenceOut) = muEFIsoAlgSequenceCfg(flags, False, is_probe_leg) @@ -897,7 +897,7 @@ def muEFIsoSequence(flags, is_probe_leg=False): @AccumulatorCache -def muEFMSIsoSequence(flags, is_probe_leg=False): +def muEFMSIsoSequenceGenCfg(flags, is_probe_leg=False): (selAcc, sequenceOut) = muEFIsoAlgSequenceCfg(flags, True, is_probe_leg) @@ -918,7 +918,7 @@ def muEFMSIsoSequence(flags, is_probe_leg=False): ## Muon RoI Cluster Trigger for MS LLP Searches ## #################################################### -def muRoiClusterSequence(flags): +def muRoiClusterSequenceGenCfg(flags): from TrigLongLivedParticles.TrigLongLivedParticlesConfig import MuonClusterConfig from TrigLongLivedParticlesHypo.TrigLongLivedParticlesHypoConfig import MuonClusterHypoAlgConfig, TrigLongLivedParticlesHypoToolFromDict diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Muon/MuonTLASequenceConfig.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Muon/MuonTLASequenceConfig.py index 490387ad0feb9ab9e8190c36e3a78a2184c1ccd0..1bb23d777991e9b64492430c51f3072a067ae704 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Muon/MuonTLASequenceConfig.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Muon/MuonTLASequenceConfig.py @@ -37,7 +37,7 @@ def MuonTLASequenceCfg(flags, muons): selAcc.addHypoAlgo(hypo) return selAcc -def MuonTLAMenuSequenceCfg( flags, muChainPart): +def MuonTLAMenuSequenceGenCfg( flags, muChainPart): muonsIn = getMuonCollections(muChainPart) selAcc=MuonTLASequenceCfg(flags, muons=muonsIn) diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Photon/FastPhotonMenuSequences.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Photon/FastPhotonMenuSequences.py index d1b6325b207cbcd3817218776045688eba7795fb..d076de58948612292f4b51ceaa51af1d27f39d2e 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Photon/FastPhotonMenuSequences.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Photon/FastPhotonMenuSequences.py @@ -7,7 +7,7 @@ from AthenaConfiguration.AccumulatorCache import AccumulatorCache @AccumulatorCache -def fastPhotonSequenceCfg(flags,is_probe_leg=False): +def fastPhotonSequenceGenCfg(flags,is_probe_leg=False): """Creates secpond step photon sequence""" TrigEgammaKeys = getTrigEgammaKeys() diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Photon/HipTRTMenuSequences.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Photon/HipTRTMenuSequences.py index 145e52ee0655ff43be556c443003a7faa9bec4f7..3a5369317339c5d7bcbe75816b5e37ff038eff13 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Photon/HipTRTMenuSequences.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Photon/HipTRTMenuSequences.py @@ -8,7 +8,7 @@ from TrigTRTHighTHitCounter.TrigTRTHTHCounterConfig import TrigTRTHTHCounterFex from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator -def TRTHitGeneratorSequenceCfg(flags, is_probe_leg = False): +def TRTHitGeneratorSequenceGenCfg(flags, is_probe_leg = False): recAcc = ComponentAccumulator() diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Photon/PhotonChainConfiguration.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Photon/PhotonChainConfiguration.py index f354a5b64207c1c577cb99d0c3d094e89b01ce26..ff377dbcf1f020dfb99657d07ef6315e742f2efc 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Photon/PhotonChainConfiguration.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Photon/PhotonChainConfiguration.py @@ -9,12 +9,12 @@ log = logging.getLogger(__name__) from AthenaConfiguration.ComponentFactory import CompFactory from AthenaMonitoringKernel.GenericMonitoringTool import GenericMonitoringTool from ..Config.ChainConfigurationBase import ChainConfigurationBase -from ..CommonSequences.CaloSequences import fastCaloMenuSequenceCfg -from ..Photon.FastPhotonMenuSequences import fastPhotonSequenceCfg -from ..Photon.PrecisionPhotonCaloIsoMenuSequences import precisionPhotonCaloIsoSequenceCfg -from ..Photon.PrecisionPhotonMenuSequences import precisionPhotonSequenceCfg -from ..Photon.PrecisionCaloMenuSequences import precisionCaloSequenceCfg -from ..Photon.HipTRTMenuSequences import TRTHitGeneratorSequenceCfg +from ..CommonSequences.CaloSequences import fastCaloSequenceGenCfg +from ..Photon.FastPhotonMenuSequences import fastPhotonSequenceGenCfg +from ..Photon.PrecisionPhotonCaloIsoMenuSequences import precisionPhotonCaloIsoSequenceGenCfg +from ..Photon.PrecisionPhotonMenuSequences import precisionPhotonSequenceGenCfg +from ..Photon.PrecisionCaloMenuSequences import precisionCaloSequenceGenCfg +from ..Photon.HipTRTMenuSequences import TRTHitGeneratorSequenceGenCfg def _diPhotonComboHypoToolFromDict(flags, chainDict, lowermass=80000,uppermass=-999,dphi=1.5,applymass=False,applydphi=False): @@ -127,11 +127,11 @@ class PhotonChainConfiguration(ChainConfigurationBase): def getFastCalo(self, flags, is_probe_leg=False): stepName = "PhotonFastCalo" - return self.getStep(flags,1,stepName,[fastCaloMenuSequenceCfg], name='Photon', is_probe_leg=is_probe_leg) + return self.getStep(flags,1,stepName,[fastCaloSequenceGenCfg], name='Photon', is_probe_leg=is_probe_leg) def getFastPhoton(self, flags, is_probe_leg=False): stepName = "FastPhoton" - return self.getStep(flags,2,stepName,[fastPhotonSequenceCfg], is_probe_leg=is_probe_leg) + return self.getStep(flags,2,stepName,[fastPhotonSequenceGenCfg], is_probe_leg=is_probe_leg) def getPrecisionCaloPhoton(self, flags, is_probe_leg=False): do_ion = 'ion' in self.chainPart['extra'] @@ -140,11 +140,11 @@ class PhotonChainConfiguration(ChainConfigurationBase): else: stepName = "PhotonPrecisionCalo" - return self.getStep(flags,3,stepName,[precisionCaloSequenceCfg], ion=do_ion, is_probe_leg=is_probe_leg) + return self.getStep(flags,3,stepName,[precisionCaloSequenceGenCfg], ion=do_ion, is_probe_leg=is_probe_leg) def getHipTRT(self, flags, is_probe_leg=False): stepName = "hipTRT" - return self.getStep(flags,2,stepName,[TRTHitGeneratorSequenceCfg], is_probe_leg=is_probe_leg) + return self.getStep(flags,2,stepName,[TRTHitGeneratorSequenceGenCfg], is_probe_leg=is_probe_leg) def getPrecisionPhoton(self, flags, is_probe_leg=False): @@ -154,7 +154,7 @@ class PhotonChainConfiguration(ChainConfigurationBase): if do_ion: stepName += '_ion' - return self.getStep(flags,4,stepName,sequenceCfgArray=[precisionPhotonSequenceCfg], ion=do_ion, is_probe_leg=is_probe_leg) + return self.getStep(flags,4,stepName,sequenceCfgArray=[precisionPhotonSequenceGenCfg], ion=do_ion, is_probe_leg=is_probe_leg) def getPhotonCaloIso(self, flags, is_probe_leg=False): @@ -173,4 +173,4 @@ class PhotonChainConfiguration(ChainConfigurationBase): else: comboTools.append(diphotonDPhiHypoToolFromDict) - return self.getStep(flags,5,stepName,sequenceCfgArray=[precisionPhotonCaloIsoSequenceCfg], name='Photon', comboTools=comboTools, ion=do_ion, is_probe_leg=is_probe_leg) + return self.getStep(flags,5,stepName,sequenceCfgArray=[precisionPhotonCaloIsoSequenceGenCfg], name='Photon', comboTools=comboTools, ion=do_ion, is_probe_leg=is_probe_leg) diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Photon/PrecisionCaloMenuSequences.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Photon/PrecisionCaloMenuSequences.py index 9346725ec0da11ea592831b893f9419e3aeec937..299fcfe2a5a467040e1e241dd254327510c98aa6 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Photon/PrecisionCaloMenuSequences.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Photon/PrecisionCaloMenuSequences.py @@ -12,7 +12,7 @@ def tag(ion): return 'precision' + ('HI' if ion is True else '') + 'CaloPhoton' @AccumulatorCache -def precisionCaloSequenceCfg(flags, ion=False, is_probe_leg=False): +def precisionCaloSequenceGenCfg(flags, ion=False, is_probe_leg=False): """ Creates PrecisionCalo sequence """ TrigEgammaKeys = getTrigEgammaKeys(ion=ion) diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Photon/PrecisionPhotonCaloIsoMenuSequences.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Photon/PrecisionPhotonCaloIsoMenuSequences.py index 001cfb6d407d62bd172b45f593e387b2817a1f74..cc5388c53108aba780b06f23c104cfa8218bf52d 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Photon/PrecisionPhotonCaloIsoMenuSequences.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Photon/PrecisionPhotonCaloIsoMenuSequences.py @@ -13,7 +13,7 @@ def tag(ion): return 'precision' + ('HI' if ion is True else '') + 'PhotonCaloIso' @AccumulatorCache -def precisionPhotonCaloIsoSequenceCfg(flags, name, ion=False, is_probe_leg=False): +def precisionPhotonCaloIsoSequenceGenCfg(flags, name, ion=False, is_probe_leg=False): """Creates secpond step photon sequence""" InViewRoIs = "PrecisionPhotonCaloIsoRoIs" diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Photon/PrecisionPhotonMenuSequences.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Photon/PrecisionPhotonMenuSequences.py index 59e1802b1acaea8c3d34ebaf2a7922d2e0011e94..8fa96740ebafcedf5bb355b072dd237ac6268d26 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Photon/PrecisionPhotonMenuSequences.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Photon/PrecisionPhotonMenuSequences.py @@ -15,7 +15,7 @@ def tag(ion): @AccumulatorCache -def precisionPhotonSequenceCfg(flags, ion=False, is_probe_leg=False): +def precisionPhotonSequenceGenCfg(flags, ion=False, is_probe_leg=False): """ This function creates the PrecisionPhoton sequence""" # Prepare first the EventView InViewRoIs="PrecisionPhotonRoIs" diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Photon/PrecisionPhotonTLAMenuSequenceConfig.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Photon/PrecisionPhotonTLAMenuSequenceConfig.py index 7ca804e0c36a6f12e4b31473cd34d03c684f983a..cc6fbaa056d75ccf752ac8ad4aa32bb475d666dc 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Photon/PrecisionPhotonTLAMenuSequenceConfig.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Photon/PrecisionPhotonTLAMenuSequenceConfig.py @@ -23,7 +23,7 @@ def PhotonTLASequenceCfg(flags, photonsIn): return recoAcc, sequenceOut @AccumulatorCache -def PhotonTLAMenuSequenceCfg( flags, photonsIn ): +def PhotonTLAMenuSequenceGenCfg( flags, photonsIn ): # retrieves the "reco" sequence which only consists of the InputMaker (recoAcc, sequenceOut) = PhotonTLASequenceCfg(flags, photonsIn=photonsIn) diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Tau/TauChainConfiguration.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Tau/TauChainConfiguration.py index 1699403361c8c3deafe11081bc3c7c6d1b6928e5..d25a94779dcd7322e9d8d42d32455a28e96408a8 100755 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Tau/TauChainConfiguration.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Tau/TauChainConfiguration.py @@ -11,7 +11,12 @@ log = logging.getLogger(__name__) from TriggerMenuMT.HLT.Config.ChainConfigurationBase import ChainConfigurationBase -from .generateTau import tauCaloMVAMenuSeq, tauFTFTauCoreSeq, tauFTFTauIsoSeq, tauFTFTauLRTSeq, tauPrecTrackIsoSeq, tauPrecTrackLRTSeq, tauTrackTwoMVASeq, tauTrackTwoLLPSeq, tauTrackLRTSeq +from .TauMenuSequences import ( + tauCaloMVAMenuSequenceGenCfg, tauFTFTauCoreSequenceGenCfg, + tauFTFTauIsoSequenceGenCfg, tauFTFTauLRTSequenceGenCfg, + tauPrecTrackIsoSequenceGenCfg, tauPrecTrackLRTSequenceGenCfg, + tauTrackTwoMVASequenceGenCfg, tauTrackTwoLLPSequenceGenCfg, + tauTrackLRTSequenceGenCfg ) ############################################# @@ -58,17 +63,17 @@ class TauChainConfiguration(ChainConfigurationBase): # -------------------- def getCaloMVASeq(self, flags, is_probe_leg=False): stepName = 'MVA_tau' - return self.getStep(flags,1,stepName, [tauCaloMVAMenuSeq], is_probe_leg=is_probe_leg) + return self.getStep(flags,1,stepName, [tauCaloMVAMenuSequenceGenCfg], is_probe_leg=is_probe_leg) # -------------------- def getFTFCore(self, flags, is_probe_leg=False): stepName = 'FTFCore_tau' - return self.getStep(flags,2,stepName, [tauFTFTauCoreSeq], is_probe_leg=is_probe_leg) + return self.getStep(flags,2,stepName, [tauFTFTauCoreSequenceGenCfg], is_probe_leg=is_probe_leg) # -------------------- def getFTFLRT(self, flags, is_probe_leg=False): stepName = 'FTFLRT_tau' - return self.getStep(flags,2,stepName, [tauFTFTauLRTSeq], is_probe_leg=is_probe_leg) + return self.getStep(flags,2,stepName, [tauFTFTauLRTSequenceGenCfg], is_probe_leg=is_probe_leg) # -------------------- @@ -80,7 +85,7 @@ class TauChainConfiguration(ChainConfigurationBase): def getFTFIso(self, flags, is_probe_leg=False): stepName = 'FTFIso_tau' - return self.getStep(flags,3,stepName, [tauFTFTauIsoSeq], is_probe_leg=is_probe_leg) + return self.getStep(flags,3,stepName, [tauFTFTauIsoSequenceGenCfg], is_probe_leg=is_probe_leg) # -------------------- @@ -92,12 +97,12 @@ class TauChainConfiguration(ChainConfigurationBase): def getPrecTrackIso(self, flags, is_probe_leg=False): stepName = 'PrecTrkIso_tau' - return self.getStep(flags,4,stepName,[tauPrecTrackIsoSeq],is_probe_leg=is_probe_leg) + return self.getStep(flags,4,stepName,[tauPrecTrackIsoSequenceGenCfg],is_probe_leg=is_probe_leg) # -------------------- def getPrecTrackLRT(self, flags, is_probe_leg=False): stepName = 'PrecTrkLRT_tau' - return self.getStep(flags,4,stepName,[tauPrecTrackLRTSeq],is_probe_leg=is_probe_leg) + return self.getStep(flags,4,stepName,[tauPrecTrackLRTSequenceGenCfg],is_probe_leg=is_probe_leg) # -------------------- @@ -109,18 +114,18 @@ class TauChainConfiguration(ChainConfigurationBase): def getTrackTwoMVA(self, flags, is_probe_leg=False): stepName = "TrkTwoMVA_tau" - return self.getStep(flags,5,stepName,[tauTrackTwoMVASeq],is_probe_leg=is_probe_leg) + return self.getStep(flags,5,stepName,[tauTrackTwoMVASequenceGenCfg],is_probe_leg=is_probe_leg) # -------------------- def getTrackTwoLLP(self, flags, is_probe_leg=False): stepName = "TrkTwoLLP_tau" - return self.getStep(flags,5,stepName,[tauTrackTwoLLPSeq],is_probe_leg=is_probe_leg) + return self.getStep(flags,5,stepName,[tauTrackTwoLLPSequenceGenCfg],is_probe_leg=is_probe_leg) # -------------------- def getTrackLRT(self, flags, is_probe_leg=False): stepName = "TrkLRT_tau" - return self.getStep(flags,5,stepName,[tauTrackLRTSeq],is_probe_leg=is_probe_leg) + return self.getStep(flags,5,stepName,[tauTrackLRTSequenceGenCfg],is_probe_leg=is_probe_leg) # -------------------- diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Tau/generateTau.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Tau/TauMenuSequences.py similarity index 96% rename from Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Tau/generateTau.py rename to Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Tau/TauMenuSequences.py index 4bd6a3cb72fe5b76411d01d6de4b595728e75901..5d27493d27258dbae0694c68bec0e08d00e55bfc 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Tau/generateTau.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Tau/TauMenuSequences.py @@ -51,7 +51,7 @@ def _caloSeq(flags, is_probe_leg=False): @AccumulatorCache -def tauCaloMVAMenuSeq(flags, is_probe_leg=False): +def tauCaloMVAMenuSequenceGenCfg(flags, is_probe_leg=False): (selAcc , menuCA) = _caloSeq(flags, is_probe_leg) return menuCA @@ -127,7 +127,7 @@ def _ftfCoreSeq(flags,name,is_probe_leg=False): @AccumulatorCache -def tauFTFTauCoreSeq(flags, is_probe_leg=False): +def tauFTFTauCoreSequenceGenCfg(flags, is_probe_leg=False): newflags = getFlagsForActiveConfig(flags,'tauCore',log) name='Core' @@ -136,7 +136,7 @@ def tauFTFTauCoreSeq(flags, is_probe_leg=False): @AccumulatorCache -def tauFTFTauLRTSeq(flags, is_probe_leg=False): +def tauFTFTauLRTSequenceGenCfg(flags, is_probe_leg=False): newflags = getFlagsForActiveConfig(flags,'tauLRT',log) name='LRT' (selAcc , menuCA) = _ftfCoreSeq(newflags,name,is_probe_leg) @@ -178,7 +178,7 @@ def _ftfTauIsoSeq(flags,name,is_probe_leg=False): @AccumulatorCache -def tauFTFTauIsoSeq(flags, is_probe_leg=False): +def tauFTFTauIsoSequenceGenCfg(flags, is_probe_leg=False): newflags = getFlagsForActiveConfig(flags,'tauIso',log) name = 'Iso' (selAcc , menuCA) = _ftfTauIsoSeq(newflags,name,is_probe_leg) @@ -228,7 +228,7 @@ def _precTrackSeq(flags,name,is_probe_leg=False): @AccumulatorCache -def tauPrecTrackIsoSeq(flags, is_probe_leg=False): +def tauPrecTrackIsoSequenceGenCfg(flags, is_probe_leg=False): newflags = getFlagsForActiveConfig(flags,'tauIso',log) name = 'Iso' (selAcc , menuCA) = _precTrackSeq(newflags,name,is_probe_leg) @@ -236,7 +236,7 @@ def tauPrecTrackIsoSeq(flags, is_probe_leg=False): @AccumulatorCache -def tauPrecTrackLRTSeq(flags, is_probe_leg=False): +def tauPrecTrackLRTSequenceGenCfg(flags, is_probe_leg=False): newflags = getFlagsForActiveConfig(flags,'tauLRT',log) name = 'LRT' (selAcc , menuCA) = _precTrackSeq(newflags,name,is_probe_leg) @@ -281,7 +281,7 @@ def _tauPrecSeq(flags,name,is_probe_leg=False): @AccumulatorCache -def tauTrackTwoMVASeq(flags, is_probe_leg=False): +def tauTrackTwoMVASequenceGenCfg(flags, is_probe_leg=False): newflags = getFlagsForActiveConfig(flags,'tauIso',log) name = 'MVA' (selAcc , menuCA) = _tauPrecSeq(newflags,name,is_probe_leg) @@ -289,7 +289,7 @@ def tauTrackTwoMVASeq(flags, is_probe_leg=False): @AccumulatorCache -def tauTrackTwoLLPSeq(flags, is_probe_leg=False): +def tauTrackTwoLLPSequenceGenCfg(flags, is_probe_leg=False): newflags = getFlagsForActiveConfig(flags,'tauIso',log) name = 'LLP' (selAcc , menuCA) = _tauPrecSeq(newflags,name,is_probe_leg) @@ -297,7 +297,7 @@ def tauTrackTwoLLPSeq(flags, is_probe_leg=False): @AccumulatorCache -def tauTrackLRTSeq(flags, is_probe_leg=False): +def tauTrackLRTSequenceGenCfg(flags, is_probe_leg=False): newflags = getFlagsForActiveConfig(flags,'tauLRT',log) name = 'LRT' (selAcc , menuCA) = _tauPrecSeq(newflags,name,is_probe_leg) diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/UnconventionalTracking/CommonConfiguration.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/UnconventionalTracking/CommonConfiguration.py index 838db50754be9ca393309c0842f24f204742e8fc..24cd4a1a95799f79428a475d84fd1bcbc2edac98 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/UnconventionalTracking/CommonConfiguration.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/UnconventionalTracking/CommonConfiguration.py @@ -14,7 +14,7 @@ log = logging.getLogger(__name__) # This produces a menu sequence for a step that runs FS FTF tracking # No selection is applied -- all rejection comes from subsequent steps -def getFullScanRecoOnlySequence(flags): +def getFullScanRecoOnlySequenceGenCfg(flags): from TrigStreamerHypo.TrigStreamerHypoConfig import StreamerHypoToolGenerator diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/UnconventionalTracking/DJTriggerConfiguration.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/UnconventionalTracking/DJTriggerConfiguration.py index 25cd44d0f37a0888d027d130ab3c4f77b442ffa2..8ad78080e10904f962e25494a57962e025109876 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/UnconventionalTracking/DJTriggerConfiguration.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/UnconventionalTracking/DJTriggerConfiguration.py @@ -14,7 +14,7 @@ from TrigInDetConfig.TrigInDetConfig import trigInDetLRTCfg logging.getLogger().info("Importing %s",__name__) log = logging.getLogger(__name__) -def DJPromptStep(flags): +def DJPromptStepSequenceGenCfg(flags): from TrigLongLivedParticlesHypo.TrigDJHypoConfig import TrigDJHypoPromptToolFromDict @@ -81,7 +81,7 @@ def DJDispFragment(flags): selAcc.mergeReco(reco, robPrefetchCA=robPrefetchAlg) return selAcc -def DJDispStep(flags): +def DJDispStepSequenceGenCfg(flags): from TrigLongLivedParticlesHypo.TrigDJHypoConfig import TrigDJHypoDispToolFromDict hypo_alg = CompFactory.DisplacedJetDispHypoAlg("DJTrigDispHypoAlg", diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/UnconventionalTracking/DVTriggerConfiguration.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/UnconventionalTracking/DVTriggerConfiguration.py index a97574a457cb7cc8182a9ade9385ea4752dd8070..840e946b23bb4d1899a419203e58785968350f8f 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/UnconventionalTracking/DVTriggerConfiguration.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/UnconventionalTracking/DVTriggerConfiguration.py @@ -76,7 +76,7 @@ def DVRecoFragment(flags): -def DVRecoSequence(flags): +def DVRecoSequenceGenCfg(flags): from TrigStreamerHypo.TrigStreamerHypoConfig import StreamerHypoToolGenerator selAcc = DVRecoFragment(flags) @@ -93,7 +93,7 @@ def DVRecoSequence(flags): -def DVTriggerEDSequence(flags): +def DVTriggerEDSequenceGenCfg(flags): from TrigLongLivedParticlesHypo.TrigVrtSecInclusiveHypoConfig import TrigVSIHypoToolFromDict from TrigLongLivedParticlesHypo.TrigVrtSecInclusiveHypoConfig import createTrigVSIHypoAlgCfg diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/UnconventionalTracking/DisTrkTriggerConfiguration.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/UnconventionalTracking/DisTrkTriggerConfiguration.py index d913c4287e1a06fd51c6fcb9902485037c09340f..2955c90861ba965583906142ecff8088c0612fba 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/UnconventionalTracking/DisTrkTriggerConfiguration.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/UnconventionalTracking/DisTrkTriggerConfiguration.py @@ -7,7 +7,7 @@ logging.getLogger().info("Importing %s",__name__) log = logging.getLogger(__name__) -def DisTrkTriggerHypoSequence(flags): +def DisTrkTriggerHypoSequenceGenCfg(flags): from TrigLongLivedParticlesHypo.TrigDisappearingTrackHypoConfig import TrigDisappearingTrackHypoToolFromDict from TrigLongLivedParticlesHypo.TrigDisappearingTrackHypoConfig import createTrigDisappearingTrackHypoAlgCfg diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/UnconventionalTracking/FullScanLRTTrackingConfiguration.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/UnconventionalTracking/FullScanLRTTrackingConfiguration.py index 9d0ee7001603a5e94afcf3b405be376180866eb6..9d1c8e5c1a4b1421dd673922032752984f3d8732 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/UnconventionalTracking/FullScanLRTTrackingConfiguration.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/UnconventionalTracking/FullScanLRTTrackingConfiguration.py @@ -8,7 +8,7 @@ logging.getLogger().info("Importing %s",__name__) log = logging.getLogger(__name__) -def FullScanLRTMenuSequence(flags): +def FullScanLRTMenuSequenceGenCfg(flags): # Construct the full reco sequence from TriggerMenuMT.HLT.UnconventionalTracking.CommonConfiguration import getCommonInDetFullScanLRTCfg diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/UnconventionalTracking/HitDVConfiguration.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/UnconventionalTracking/HitDVConfiguration.py index 262e86207076620881cb7e46e9b0d3cb3967269e..06f93c93a4e1d60aa671ccc23c6366a9c3ce7140 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/UnconventionalTracking/HitDVConfiguration.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/UnconventionalTracking/HitDVConfiguration.py @@ -13,7 +13,7 @@ from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator -def UTTJetRecoSequence(flags): +def UTTJetRecoSequenceGenCfg(flags): topoClusterSequence = jetmetTopoClusteringCfg(flags,RoIs = '') clustersKey = "HLT_TopoCaloClustersFS" @@ -55,7 +55,7 @@ def UTTJetRecoSequence(flags): ) -def HitDVHypoSequence(flags): +def HitDVHypoSequenceGenCfg(flags): from TrigLongLivedParticlesHypo.TrigHitDVHypoConfig import TrigHitDVHypoToolFromDict from TrigLongLivedParticlesHypo.TrigHitDVHypoConfig import TrigHitDVHypoAlgCfg diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/UnconventionalTracking/IsoHighPtTrackTriggerConfiguration.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/UnconventionalTracking/IsoHighPtTrackTriggerConfiguration.py index e89a61cbc74bae18b86e11d7d333cfb2abf92c43..50b468c8e06e32be4623380aa83caeb2e7d40f6d 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/UnconventionalTracking/IsoHighPtTrackTriggerConfiguration.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/UnconventionalTracking/IsoHighPtTrackTriggerConfiguration.py @@ -7,7 +7,7 @@ from AthenaCommon.Logging import logging logging.getLogger().info("Importing %s",__name__) log = logging.getLogger(__name__) -def IsoHPtTrackTriggerHypoSequence(flags): +def IsoHPtTrackTriggerHypoSequenceGenCfg(flags): from TrigLongLivedParticlesHypo.TrigIsoHPtTrackTriggerHypoTool import TrigIsoHPtTrackTriggerHypoToolFromDict # Setup the hypothesis algorithm diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/UnconventionalTracking/UnconventionalTrackingChainConfiguration.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/UnconventionalTracking/UnconventionalTrackingChainConfiguration.py index 5737bee84aad5ffbf8717dea0477790fe4f7e438..b0174f67087eabf553ebaf507c9a02fbb446565a 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/UnconventionalTracking/UnconventionalTrackingChainConfiguration.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/UnconventionalTracking/UnconventionalTrackingChainConfiguration.py @@ -7,15 +7,15 @@ log = logging.getLogger(__name__) from TriggerMenuMT.HLT.Config.ChainConfigurationBase import ChainConfigurationBase from TrigLongLivedParticlesHypo.TrigDJHypoConfig import TrigDJComboHypoToolFromDict -from TriggerMenuMT.HLT.UnconventionalTracking.CommonConfiguration import getFullScanRecoOnlySequence -from TriggerMenuMT.HLT.UnconventionalTracking.DJTriggerConfiguration import DJPromptStep, DJDispStep -from TriggerMenuMT.HLT.UnconventionalTracking.DVTriggerConfiguration import DVRecoSequence, DVTriggerEDSequence -from TriggerMenuMT.HLT.UnconventionalTracking.DisTrkTriggerConfiguration import DisTrkTriggerHypoSequence -from TriggerMenuMT.HLT.UnconventionalTracking.FullScanLRTTrackingConfiguration import FullScanLRTMenuSequence -from TriggerMenuMT.HLT.UnconventionalTracking.HitDVConfiguration import HitDVHypoSequence, UTTJetRecoSequence -from TriggerMenuMT.HLT.UnconventionalTracking.IsoHighPtTrackTriggerConfiguration import IsoHPtTrackTriggerHypoSequence -from TriggerMenuMT.HLT.UnconventionalTracking.VrtSecInclusiveConfiguration import VrtSecInclusiveMenuSequence -from TriggerMenuMT.HLT.UnconventionalTracking.dEdxTriggerConfiguration import dEdxTriggerHypoSequence +from TriggerMenuMT.HLT.UnconventionalTracking.CommonConfiguration import getFullScanRecoOnlySequenceGenCfg +from TriggerMenuMT.HLT.UnconventionalTracking.DJTriggerConfiguration import DJPromptStepSequenceGenCfg, DJDispStepSequenceGenCfg +from TriggerMenuMT.HLT.UnconventionalTracking.DVTriggerConfiguration import DVRecoSequenceGenCfg, DVTriggerEDSequenceGenCfg +from TriggerMenuMT.HLT.UnconventionalTracking.DisTrkTriggerConfiguration import DisTrkTriggerHypoSequenceGenCfg +from TriggerMenuMT.HLT.UnconventionalTracking.FullScanLRTTrackingConfiguration import FullScanLRTMenuSequenceGenCfg +from TriggerMenuMT.HLT.UnconventionalTracking.HitDVConfiguration import HitDVHypoSequenceGenCfg, UTTJetRecoSequenceGenCfg +from TriggerMenuMT.HLT.UnconventionalTracking.IsoHighPtTrackTriggerConfiguration import IsoHPtTrackTriggerHypoSequenceGenCfg +from TriggerMenuMT.HLT.UnconventionalTracking.VrtSecInclusiveConfiguration import VrtSecInclusiveMenuSequenceGenCfg +from TriggerMenuMT.HLT.UnconventionalTracking.dEdxTriggerConfiguration import dEdxTriggerHypoSequenceGenCfg #---------------------------------------------------------------- # Class to configure chain @@ -68,7 +68,7 @@ class UnconventionalTrackingChainConfiguration(ChainConfigurationBase): # Step definitions in alignment order # Step 1 def getJetReco(self, flags): - return self.getStep(flags,1,'JetRecoOnlyCfg',[UTTJetRecoSequence]) + return self.getStep(flags,1,'JetRecoOnlyCfg',[UTTJetRecoSequenceGenCfg]) # Empty for alignment def getIsoHPtTrackEmpty(self, flags): return self.getEmptyStep(1,'EmptyUncTrk') @@ -83,31 +83,31 @@ class UnconventionalTrackingChainConfiguration(ChainConfigurationBase): # Step 2 def getFSLRTTrigger(self, flags): - return self.getStep(flags,2,'FSLRT',[FullScanLRTMenuSequence]) + return self.getStep(flags,2,'FSLRT',[FullScanLRTMenuSequenceGenCfg]) # Empty for alignment with jets def getRoITrkEmpty(self, flags): return self.getEmptyStep(2, 'RoITrkEmptyStep') # Step 3 -- all FTF tracking here def getFTFTrackReco(self, flags): - return self.getStep(flags,3,'FTFRecoOnly',[getFullScanRecoOnlySequence]) + return self.getStep(flags,3,'FTFRecoOnly',[getFullScanRecoOnlySequenceGenCfg]) # Step 4+ -- everything post FTF tracking def getIsoHPtTrackTrigger(self, flags): - return self.getStep(flags,4,'IsoHPtTrack',[IsoHPtTrackTriggerHypoSequence]) + return self.getStep(flags,4,'IsoHPtTrack',[IsoHPtTrackTriggerHypoSequenceGenCfg]) def getdEdxTrigger(self, flags): - return self.getStep(flags,4,'dEdx',[dEdxTriggerHypoSequence]) + return self.getStep(flags,4,'dEdx',[dEdxTriggerHypoSequenceGenCfg]) def getHitDVTrigger(self, flags): - return self.getStep(flags,4,'HitDV',[HitDVHypoSequence]) + return self.getStep(flags,4,'HitDV',[HitDVHypoSequenceGenCfg]) def getDisTrkTrigger(self, flags): - return self.getStep(flags,4,'DisTrk',[DisTrkTriggerHypoSequence]) + return self.getStep(flags,4,'DisTrk',[DisTrkTriggerHypoSequenceGenCfg]) def getVSITrigger(self, flags): - return self.getStep(flags,4,'LRTVSI',[VrtSecInclusiveMenuSequence]) + return self.getStep(flags,4,'LRTVSI',[VrtSecInclusiveMenuSequenceGenCfg]) def getDJPromptStep(self, flags): - return self.getStep(flags,3,'DJPromptStep',[DJPromptStep], comboTools = [TrigDJComboHypoToolFromDict]) + return self.getStep(flags,3,'DJPromptStep',[DJPromptStepSequenceGenCfg], comboTools = [TrigDJComboHypoToolFromDict]) def getDJDispStep(self, flags): - return self.getStep(flags,4,'DJDispStep',[DJDispStep]) + return self.getStep(flags,4,'DJDispStep',[DJDispStepSequenceGenCfg]) def getDVRecoStep(self, flags): - return self.getStep(flags,5,'DVRecoStep',[DVRecoSequence]) + return self.getStep(flags,5,'DVRecoStep',[DVRecoSequenceGenCfg]) def getDVEDStep(self, flags): - return self.getStep(flags,6,'DVEDStep',[DVTriggerEDSequence]) + return self.getStep(flags,6,'DVEDStep',[DVTriggerEDSequenceGenCfg]) diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/UnconventionalTracking/VrtSecInclusiveConfiguration.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/UnconventionalTracking/VrtSecInclusiveConfiguration.py index 6a84653f1a5eb070a32fa4b51ff4d9ab6d038383..891ee6b0e1ac098e4a7b3d995506fa137bfb233a 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/UnconventionalTracking/VrtSecInclusiveConfiguration.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/UnconventionalTracking/VrtSecInclusiveConfiguration.py @@ -6,7 +6,7 @@ logging.getLogger().info("Importing %s",__name__) log = logging.getLogger(__name__) -def VrtSecInclusiveMenuSequence(flags): +def VrtSecInclusiveMenuSequenceGenCfg(flags): vsivtxname = "HLT_TrigVSIVertex" # Construct the full reco sequence diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/UnconventionalTracking/dEdxTriggerConfiguration.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/UnconventionalTracking/dEdxTriggerConfiguration.py index cc169341713e8789718f96991bdd6c2ec21c82ba..108b81a1da92c6f71fbc5fbee1893e02ccde8edf 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/UnconventionalTracking/dEdxTriggerConfiguration.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/UnconventionalTracking/dEdxTriggerConfiguration.py @@ -6,7 +6,7 @@ logging.getLogger().info("Importing %s",__name__) log = logging.getLogger(__name__) -def dEdxTriggerHypoSequence(flags): +def dEdxTriggerHypoSequenceGenCfg(flags): from TrigLongLivedParticlesHypo.TrigdEdxTrackHypoConfig import TrigdEdxTrackHypoToolFromDict from TrigLongLivedParticlesHypo.TrigdEdxTrackHypoConfig import TrigdEdxTrackHypoAlgCfg diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/L1/Config/ItemDef.py b/Trigger/TriggerCommon/TriggerMenuMT/python/L1/Config/ItemDef.py index 576f4e02c9a9a42d0bcd7a407b58b7689aa63631..03e80199fc16d4dfe0904b8d461481e30db9df3e 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/L1/Config/ItemDef.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/L1/Config/ItemDef.py @@ -369,7 +369,7 @@ class ItemDef: MenuItem('L1_2MU14FCH_OVERLAY').setLogic( d.MU14FCH.x(2) & physcond).setTriggerType(TT.zerobs) - MenuItem('L1_LLPDPHI-jXE27-jJ27').setLogic( d.TOPO_0DPHI15_jXE27delay_jJ27s & physcond) + MenuItem('L1_LLPDPHI-jXE40-jJ40').setLogic( d.TOPO_0DPHI10_jXE40delay_jJ40s & physcond) # HI MenuItem('L1_MU3V_VTE10' ).setLogic( d.MU3V & Not(d.TE10) & physcond).setTriggerType(TT.muon) diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/L1/Config/MonitorDef.py b/Trigger/TriggerCommon/TriggerMenuMT/python/L1/Config/MonitorDef.py index 48964cc8778d40dcc0295aa47e3cad8f8d330e38..d11ab43f74a1f6744402d3a9841276d523a3453d 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/L1/Config/MonitorDef.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/L1/Config/MonitorDef.py @@ -160,7 +160,7 @@ class MonitorDef: "L1_2eEM10L_MU8F", "L1_MU3V_jJ40", # L1Topo (Topo2 always in) - "L1_LLPDPHI-jXE27-jJ27", + "L1_LLPDPHI-jXE40-jJ40", "L1_BPH-0DR3-eEM9jJ40_MU5VF", "L1_BPH-0M9-eEM9-eEM7_MU5VF", "L1_BPH-0DR3-eEM9jJ40_2MU3V", "L1_BPH-0M9-eEM9-eEM7", "L1_BPH-0M10-3MU3V", "L1_BPH-0M10-3MU3VF", "L1_JPSI-1M5-eEM9", "L1_JPSI-1M5-eEM15", diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/L1/Config/TopoAlgoDef.py b/Trigger/TriggerCommon/TriggerMenuMT/python/L1/Config/TopoAlgoDef.py index 00c7b5b0a8998b14225cbe64d0b294ac95c01e00..151dfa2b5e0fd4b630a2a67be48675bdcafb284d 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/L1/Config/TopoAlgoDef.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/L1/Config/TopoAlgoDef.py @@ -1534,7 +1534,7 @@ class TopoAlgoDef: tm.registerTopoAlgo(alg) #LLPDPHI - ATR-28563 - toponame = "0DPHI15-jXE27delay-jJ27s" + toponame = "0DPHI10-jXE40delay-jJ40s" alg = AlgConf.DeltaPhiIncl2( name = toponame, inputs = ['jXEs', 'jJs'], outputs = [ toponame ]) alg.addgeneric('NumResultBits', 1) alg.addgeneric('Delay1', 1) @@ -1543,10 +1543,10 @@ class TopoAlgoDef: alg.addgeneric('InputWidth2', HW.jJetOutputWidthSort) alg.addgeneric('MaxTob1', 1) alg.addgeneric('MaxTob2', 6) - alg.addvariable('MinET1', 27*_et_conversion) - alg.addvariable('MinET2', 27*_et_conversion) + alg.addvariable('MinET1', 40*_et_conversion) + alg.addvariable('MinET2', 40*_et_conversion) alg.addvariable('MinDeltaPhi', 0*_phi_conversion) - alg.addvariable('MaxDeltaPhi', 15*_phi_conversion) + alg.addvariable('MaxDeltaPhi', 10*_phi_conversion) tm.registerTopoAlgo(alg) # DISAMB 3 lists with DR cut to 2nd and 3rd lists diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/L1/Menu/Menu_Physics_pp_run3_v1.py b/Trigger/TriggerCommon/TriggerMenuMT/python/L1/Menu/Menu_Physics_pp_run3_v1.py index c158441b57f7080672f85cc082b28baf99aaa393..b56e19a2e543d67fe30c07f0fc9c2d26f4e4ac22 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/L1/Menu/Menu_Physics_pp_run3_v1.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/L1/Menu/Menu_Physics_pp_run3_v1.py @@ -360,7 +360,7 @@ def defineMenu(): 'L1_AFP_A_AND_C_TOF_CEP-CjJ100','L1_AFP_A_AND_C_TOF_T0T1_CEP-CjJ100', #ATR-28563 - 'L1_LLPDPHI-jXE27-jJ27', + 'L1_LLPDPHI-jXE40-jJ40', ] diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/L1/Menu/Menu_Physics_pp_run3_v1_inputs.py b/Trigger/TriggerCommon/TriggerMenuMT/python/L1/Menu/Menu_Physics_pp_run3_v1_inputs.py index 84bb2f3c051f462470457a07de6c9b90523aa764..d09097b99946ccbcbd46c7da479de789c0ce17cb 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/L1/Menu/Menu_Physics_pp_run3_v1_inputs.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/L1/Menu/Menu_Physics_pp_run3_v1_inputs.py @@ -341,7 +341,7 @@ def defineInputsMenu(): '400INVM-0DPHI24-AjJ60s6-AjJ50s6', '400INVM-0DPHI22-AjJ60s6-AjJ50s6', '400INVM-0DPHI20-AjJ60s6-AjJ50s6'] ), - TopoMenuDef( '0DPHI15-jXE27delay-jJ27s', outputbits = 12), + TopoMenuDef( '0DPHI10-jXE40delay-jJ40s', outputbits = 12), ] } ]