Skip to content
Snippets Groups Projects
Commit d3a03eac authored by Mark Hodgkinson's avatar Mark Hodgkinson Committed by Melissa Yexley
Browse files

Add 24.0 tag to ART tests and remove RecExCommon style python config files.

Add 24.0 tag to ART tests and remove RecExCommon style python config files.
parent b00ec39c
No related branches found
No related tags found
No related merge requests found
Showing
with 4 additions and 218 deletions
......@@ -4,6 +4,7 @@
# topocluster reco
# art-type: grid
# art-include: main/Athena
# art-include: 24.0/Athena
# art-include: 23.0/Athena
# art-athena-mt: 8
# art-output: AOD.pool.root
......
......@@ -3,6 +3,7 @@
# art-description: Athena runs EOverP ESD pflow reconstruction, PFO linking off, thinning off.
# art-type: grid
# art-include: main/Athena
# art-include: 24.0/Athena
# art-include: 23.0/Athena
# art-athena-mt: 8
# art-output: AOD.pool.root
......
......@@ -3,6 +3,7 @@
# art-description: Athena runs pflow calibration hit decoration reconstruction
# art-type: grid
# art-include: main/Athena
# art-include: 24.0/Athena
# art-include: 23.0/Athena
# art-athena-mt: 8
# art-output: AOD.pool.root
......
......@@ -3,6 +3,7 @@
# art-description: Athena runs Standard ESD pflow reconstruction, PFO linking off, thinning off.
# art-type: grid
# art-include: main/Athena
# art-include: 24.0/Athena
# art-include: 23.0/Athena
# art-athena-mt: 8
# art-output: AOD.pool.root
......
#Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
# ScheduleCHSPFlowMods.py
#
# Teng Jian Khoo
# July 2017
#
# Apply PFlow p4 corrections (nPFO origin & cPFO weights) and
# Charged Hadron Subtraction with jet constituent modification tools
from JetRec.JetRecStandard import jtm
from JetRec.JetRecConf import JetToolRunner
from JetRec.JetRecFlags import jetFlags
if jetFlags.useTrackVertexTool:
jtm += JetToolRunner("jetconstitCHSPFlow",
EventShapeTools=[],
Tools=[jtm.ttvaassocNew,jtm.JetConstitSeq_PFlowCHS],
)
else:
jtm += JetToolRunner("jetconstitCHSPFlow",
EventShapeTools=[],
Tools=[jtm.JetConstitSeq_PFlowCHS],
)
from AthenaCommon.AlgSequence import AlgSequence
job = AlgSequence()
from JetRec.JetRecConf import JetAlgorithm
job += JetAlgorithm("jetalgCHSPFlow",
Tools=[jtm.jetconstitCHSPFlow])
from ThinningUtils.ThinningUtilsConf import ThinNegativeEnergyNeutralPFOsAlg
CHSnPFOsThinAlg = ThinNegativeEnergyNeutralPFOsAlg(
"ThinNegativeEnergyNCHSeutralPFOsAlg",
NeutralPFOsKey="CHSNeutralParticleFlowObjects",
ThinNegativeEnergyNeutralPFOs = True,
StreamName = 'StreamAOD'
)
job += CHSnPFOsThinAlg
# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
from AthenaCommon.JobProperties import JobProperty, JobPropertyContainer
from AthenaCommon.JobProperties import jobproperties
class eflowAlgType(JobProperty):
""" Flag to choose whether to do cluster level or cell level subtraction
CellLevel is default, cluster level not used anymore...
"""
statusOn = True
allowedTypes = ['str']
allowedValue = ["CellLevel","EOverP"]
StoredValue = "CellLevel"
class recoverIsolatedTracks(JobProperty):
""" Flag to decide whether to recover isolated tracks
"""
statusOn = True
allowedTypes = ['bool']
StoredValue = False
class useElectrons(JobProperty):
""" Flag to toggle usage of electron tracks on/off - if on electron tracks are masked out
"""
statusOn = True
allowedTypes = ['bool']
StoredValue = False
class useMuons(JobProperty):
""" Flag to toggle usage of muon tracks on/off - if on muon tracks are masked out
"""
statusOn = True
allowedTypes = ['bool']
StoredValue = False
class storeLeptonCells(JobProperty):
""" Flag to toggle storage of lepton cells on/off - if on will put lepton cells in storegate in eflowPreparation
"""
statusOn = True
allowedTypes = ['bool']
StoredValue = False
class useUpdated2015ChargedShowerSubtraction(JobProperty):
""" Flag to toggle use of 2015 charged shower subtraction - this disables the subtraction for tracks found to be in dense environments
"""
statusOn = True
allowedTypes = ['bool']
StoredValue = True
class useCalibHitTruth(JobProperty):
""" Flag to toggle use of calibration hit truth, which is off by default because most Monte Carlo samples do not contain the calibration hit truth information
"""
statusOn = True
allowedTypes = ['bool']
StoredValue = False
class usePFlowFlowElementTauAssoc(JobProperty):
""" Flag to toggle use of linking between tau objects and flow elements
"""
statusOn = True
allowedTypes = ['bool']
StoredValue = True
class usePFFlowElementAssoc(JobProperty):
""" Flag to toggle use of linking between objects (egamma,muon,tau) and flow elements
"""
statusOn = True
allowedTypes = ['bool']
StoredValue = True
class provideShowerSubtractedClusters(JobProperty):
""" Flag to toggle provision of ElementLink to charged shower subtracted calorimeter clusters. Such links are added to
neutral PFO and we write out the relevant CaloClusterContainer to AOD such that the links remain valid """
statusOn = True
allowedTypes = ['bool']
StoredValue = False
class doFlowElementValidation(JobProperty):
"""Flag to turn on Validation plots for Flow Elements (only works if useFlowElements also set ON)"""
statusOn=True
allowedTypes= ['bool']
StoredValue= False
class useRun2_mc20_EOverP(JobProperty):
""" Flag to enable usage of Run2_MC16 E/p reference file """
statusOn=True
allowedTypes= ['bool']
StoredValue= True
# Defines the container for the eflowRec flags
class eflowRecFlags(JobPropertyContainer):
""" The eflowRec flag property container
"""
pass
# add the flags container to the top container
jobproperties.add_Container(eflowRecFlags)
eflowJobProperties = [eflowAlgType,recoverIsolatedTracks, useElectrons, useMuons ,storeLeptonCells, useUpdated2015ChargedShowerSubtraction,useCalibHitTruth,usePFlowFlowElementTauAssoc,usePFFlowElementAssoc,provideShowerSubtractedClusters, doFlowElementValidation, useRun2_mc20_EOverP]
for i in eflowJobProperties :
jobproperties.eflowRecFlags.add_JobProperty(i)
del eflowJobProperties
from eflowRec.eflowRecFlags import jobproperties
eflowRecAODList = []
include("eflowRec/eflowRec_ESDandAOD_ExcludeList.py")
if jobproperties.eflowRecFlags.eflowAlgType == "EOverP":
eflowRecAODList += [ "xAOD::FlowElementContainer#EOverPChargedParticleFlowObjects"]
eflowRecAODList += [ "xAOD::FlowElementContainer#EOverPNeutralParticleFlowObjects"]
eflowRecAODList += [ "xAOD::FlowElementAuxContainer#EOverPChargedParticleFlowObjectsAux."]
eflowRecAODList += [ "xAOD::FlowElementAuxContainer#EOverPNeutralParticleFlowObjectsAux."+excludeList]
else:
eflowRecAODList += [ "xAOD::FlowElementContainer#JetETMissChargedParticleFlowObjects"]
eflowRecAODList += [ "xAOD::FlowElementAuxContainer#JetETMissChargedParticleFlowObjectsAux."]
eflowRecAODList += [ "xAOD::FlowElementContainer#JetETMissNeutralParticleFlowObjects"]
eflowRecAODList += [ "xAOD::FlowElementAuxContainer#JetETMissNeutralParticleFlowObjectsAux."+FlowElementNeutralExcludeList]
eflowRecAODList += [ "xAOD::FlowElementContainer#JetETMissLCNeutralParticleFlowObjects"]
eflowRecAODList += [ "xAOD::ShallowAuxContainer#JetETMissLCNeutralParticleFlowObjectsAux."]
if True == jobproperties.eflowRecFlags.provideShowerSubtractedClusters:
eflowRecAODList += [ "xAOD::CaloClusterContainer#PFCaloCluster"]
eflowRecAODList += [ "xAOD::CaloClusterAuxContainer#PFCaloClusterAux."]
from eflowRec.eflowRecFlags import jobproperties
eflowRecESDList = []
include("eflowRec/eflowRec_ESDandAOD_ExcludeList.py")
if jobproperties.eflowRecFlags.eflowAlgType == "EOverP":
eflowRecESDList += [ "xAOD::FlowElementContainer#EOverPChargedParticleFlowObjects"]
eflowRecESDList += [ "xAOD::FlowElementContainer#EOverPNeutralParticleFlowObjects"]
eflowRecESDList += [ "xAOD::FlowElementAuxContainer#EOverPChargedParticleFlowObjectsAux."]
eflowRecESDList += [ "xAOD::FlowElementAuxContainer#EOverPNeutralParticleFlowObjectsAux."+excludeList]
else:
eflowRecESDList += [ "xAOD::FlowElementContainer#JetETMissChargedParticleFlowObjects"]
eflowRecESDList += [ "xAOD::FlowElementAuxContainer#JetETMissChargedParticleFlowObjectsAux."]
eflowRecESDList += [ "xAOD::FlowElementContainer#JetETMissNeutralParticleFlowObjects"]
eflowRecESDList += [ "xAOD::FlowElementAuxContainer#JetETMissNeutralParticleFlowObjectsAux."+FlowElementNeutralExcludeList]
eflowRecESDList += [ "xAOD::FlowElementContainer#JetETMissLCNeutralParticleFlowObjects"]
eflowRecESDList += [ "xAOD::ShallowAuxContainer#JetETMissLCNeutralParticleFlowObjectsAux."]
if True == jobproperties.eflowRecFlags.provideShowerSubtractedClusters:
eflowRecESDList += [ "xAOD::CaloClusterContainer#PFCaloCluster"]
eflowRecESDList += [ "xAOD::CaloClusterAuxContainer#PFCaloClusterAux."]
\ No newline at end of file
excludeList = "-eflowRec_LAYERENERGY_EM.-eflowRec_LAYERENERGY_EM3.-eflowRec_LAYERENERGY_HEC"
FlowElementNeutralExcludeList="-FEShowerSubtractedClusterLink"
#Sechdule origin corrections of the rebuilt topoclusters
from JetRec.JetRecStandard import jtm
from JetRec.JetRecConf import JetAlgorithm
topSequence += JetAlgorithm("lctoporigin", Tools= [jtm.JetConstitSeq_LCOrigin] )
topSequence += JetAlgorithm("emtoporigin", Tools= [jtm.JetConstitSeq_EMOrigin] )
#Run small R jet finding
jtm.addJetFinder("AntiKt4EMPFlowJets", "AntiKt", 0.4, "empflow_reduced", "pflow_ungroomed", ghostArea=0.01, ptmin= 5000, ptminFilter= 10000, calibOpt="arj:pflow")
jtm.addJetFinder("AntiKt4EMTopoJets", "AntiKt", 0.4, "emtopo_reduced", "emtopo_ungroomed", ghostArea=0.01, ptmin= 5000, ptminFilter=15000, calibOpt="arj")
jtm.addJetFinder("AntiKt4LCTopoJets", "AntiKt", 0.4, "lctopo_reduced", "lctopo_ungroomed", ghostArea=0.01, ptmin= 5000, ptminFilter=15000, calibOpt="arj")
from JetRec.JetAlgorithm import addJetRecoToAlgSequence
addJetRecoToAlgSequence(eventShapeTools=["empflow","emtopo","lctopo"])
if not hasattr( topSequence, "LumiBlockMuWriter" ):
include ("LumiBlockComps/LumiBlockMuWriter_jobOptions.py")
#This schedules the algorithm to link FlowElements to taus and vice-versa
from eflowRec.eflowRecConf import PFTauFlowElementAssoc
PFTauFlowElementAssoc=PFTauFlowElementAssoc("PFTauFlowElementAssoc")
topSequence += PFTauFlowElementAssoc
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment