diff --git a/Reconstruction/HeavyIonRec/HIJetRec/share/HIegamma_jobOptions.py b/Reconstruction/HeavyIonRec/HIJetRec/share/HIegamma_jobOptions.py index a9743a824d95b6eae67e0c1a33af9c5863007634..9aef26a37e04a840f22b4a536819a8571061517b 100644 --- a/Reconstruction/HeavyIonRec/HIJetRec/share/HIegamma_jobOptions.py +++ b/Reconstruction/HeavyIonRec/HIJetRec/share/HIegamma_jobOptions.py @@ -76,6 +76,26 @@ AODFix_postEgammaRec() from AthenaCommon.AlgSequence import AlgSequence topSequence = AlgSequence() +#from IsoGetter.py +import ROOT, cppyy +cppyy.loadDictionary('xAODCoreRflxDict') +cppyy.loadDictionary('xAODPrimitivesDict') +isoPar = ROOT.xAOD.Iso + +#remove isoPar.pileupCorrection from standard corrections + +IsoCorEg = [ + [ isoPar.core57cells, isoPar.ptCorrection ], + [ isoPar.core57cells, isoPar.ptCorrection ], + [ isoPar.coreTrackPtr ] #still hard-coded + ] +IsoCorMu = [ + #[ isoPar.coreCone ], + [ isoPar.coreMuon ], + [ isoPar.coreCone ], + [ isoPar.coreTrackPtr ] #still hard-coded + ] + if hasattr(topSequence,"EDtpIsoCentralAlg") : EDtpIsoCentralAlg=getattr(topSequence,"EDtpIsoCentralAlg") topSequence.remove(EDtpIsoCentralAlg) @@ -86,10 +106,20 @@ if hasattr(topSequence,"EDtpIsoForwardAlg") : topSequence.remove(EDtpIsoForwardAlg) topSequence+=EDtpIsoForwardAlg +if hasattr(topSequence,"EDtpIsoVeryForwardAlg") : + EDtpIsoVeryForwardAlg=getattr(topSequence,"EDtpIsoVeryForwardAlg") + topSequence.remove(EDtpIsoVeryForwardAlg) + topSequence+=EDtpIsoVeryForwardAlg + if hasattr(topSequence,"IsolationBuilder") : iso=getattr(topSequence,"IsolationBuilder") topSequence.remove(iso) iso.EgIsoTypes=iso.MuIsoTypes + iso.EgCorTypes=IsoCorEg + iso.MuCorTypes=IsoCorMu iso.CellCollectionName='SubtractedCells' - topSequence+=iso + + + +topSequence+=iso diff --git a/Reconstruction/HeavyIonRec/HIRecExample/python/HIRecExampleFlags.py b/Reconstruction/HeavyIonRec/HIRecExample/python/HIRecExampleFlags.py index 09634893224d53d5e87adbc840057a7d0427ac42..e9a77f4ce759028190353734a63e20be9cb0b686 100644 --- a/Reconstruction/HeavyIonRec/HIRecExample/python/HIRecExampleFlags.py +++ b/Reconstruction/HeavyIonRec/HIRecExample/python/HIRecExampleFlags.py @@ -44,6 +44,13 @@ class doHIegamma(JobProperty): allowedTypes = ['bool'] StoredValue = True +class doHIAODFix(JobProperty): + """ Run AOD fix + """ + statusOn = True + allowedTypes = ['bool'] + StoredValue = False + class doHIJetAnalysis(JobProperty): """ Run heavy ion jet analysis """ @@ -109,6 +116,7 @@ list_jobproperties = [ doHIGlobal, doHIJetRec, doHIegamma, + doHIAODFix, doHIJetAnalysis, doHIEventView, doValidation, diff --git a/Reconstruction/HeavyIonRec/HIRecExample/share/HIRec_jobOptions.py b/Reconstruction/HeavyIonRec/HIRecExample/share/HIRec_jobOptions.py index b8fd5cdfa2115b28d0958d299d11710d879abb0e..2dfa5429360745f4a6280d26a3357c297191fb7f 100755 --- a/Reconstruction/HeavyIonRec/HIRecExample/share/HIRec_jobOptions.py +++ b/Reconstruction/HeavyIonRec/HIRecExample/share/HIRec_jobOptions.py @@ -12,7 +12,7 @@ print 'IN HEAVY ION REC' # include("HIRecExample/HICalibrationsCoolFolders.py") # from AthenaCommon.DetFlags import DetFlags -# from HIRecExample.HIRecExampleFlags import jobproperties +from HIRecExample.HIRecExampleFlags import jobproperties # if jobproperties.HIRecExampleFlags.doHIEventView: # include( "HIRecExample/HIEventView_jobOptions.py" ) @@ -24,10 +24,13 @@ if rec.doESD: if jobproperties.HIRecExampleFlags.doHIGlobal: include( "HIGlobal/HIGlobal_jobOptions.py" ) - if (jobproperties.HIRecExampleFlags.doHIJetRec and DetFlags.haveRIO.Calo_on() and rec.triggerStream() != 'CosmicCalo') : + if (jobproperties.HIRecExampleFlags.doHIJetRec and \ + DetFlags.haveRIO.Calo_on() and \ + rec.triggerStream() != 'CosmicCalo') : include( "HIJetRec/HIJetRec_jobOptions.py" ) if jobproperties.HIRecExampleFlags.doHIegamma : include ("HIJetRec/HIegamma_jobOptions.py"); + # else : # jobproperties.HIRecExampleFlags.doHIJetRec=False @@ -35,5 +38,8 @@ if rec.doESD: # include( "HIValidation/HIValidation_jobOptions.py") -if not rec.doESD and not rec.doWriteTAG and rec.doWritexAOD : - include( "HIJetRec/HIJetRec_AODFix_207.py" ); +if (jobproperties.HIRecExampleFlags.doHIJetRec and \ + DetFlags.haveRIO.Calo_on() and \ + rec.triggerStream() != 'CosmicCalo') : + if jobproperties.HIRecExampleFlags.doHIAODFix : + include( "HIJetRec/HIJetRec_AODFix_207.py" ); diff --git a/Reconstruction/HeavyIonRec/HIRecExample/share/heavyion_flagsESD.py b/Reconstruction/HeavyIonRec/HIRecExample/share/heavyion_flagsESD.py index 67d0eab96a92eaaa661f3768a43747c8615b4799..78f36f25135d485bad4eae2a8c11dd3a683cea82 100755 --- a/Reconstruction/HeavyIonRec/HIRecExample/share/heavyion_flagsESD.py +++ b/Reconstruction/HeavyIonRec/HIRecExample/share/heavyion_flagsESD.py @@ -31,8 +31,7 @@ if not jobproperties.HIRecExampleFlags.ppMode : from CaloRec.CaloRecFlags import jobproperties #need this eventually, but for now it breaks egamma isolation - #needed for now in rel. 21 for egamma reco - #jobproperties.CaloRecFlags.doCaloTopoCluster = False + jobproperties.CaloRecFlags.doCaloTopoCluster = False jobproperties.CaloRecFlags.doCaloEMTopoCluster = False jobproperties.CaloRecFlags.doCaloTopoTower = False # 2015 data, no pileup