Skip to content
Snippets Groups Projects
Commit a45f11be authored by Walter Lampl's avatar Walter Lampl
Browse files

Merge branch 'fernando_22_Feb_TrigEgammaRec_to_master' into 'master'

Pseudomerge of TrigEgammaRec from 21.1 to master

See merge request atlas/athena!21355
parents f4e7ee11 e68fd0ed
No related branches found
No related tags found
No related merge requests found
......@@ -20,12 +20,14 @@ atlas_depends_on_subdirs( PUBLIC
Trigger/TrigSteer/TrigInterfaces
PRIVATE
Calorimeter/CaloEvent
Calorimeter/CaloUtils
Event/xAOD/xAODCaloEvent
Event/xAOD/xAODEgammaCnv
Event/xAOD/xAODEventShape
Event/xAOD/xAODTracking
PhysicsAnalysis/Interfaces/EgammaAnalysisInterfaces
Reconstruction/egamma/egammaEvent
Reconstruction/egamma/egammaUtils
Trigger/TrigTools/TrigTimeAlgs )
# External dependencies:
......@@ -36,13 +38,13 @@ atlas_add_library( TrigEgammaRecLib
src/*.cxx
PUBLIC_HEADERS TrigEgammaRec
PRIVATE_INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
LINK_LIBRARIES xAODEgamma xAODPrimitives GaudiKernel RecoToolInterfaces egammaRecEvent TrigCaloEvent TrigParticle TrigSteeringEvent LumiBlockCompsLib TrigInterfacesLib EgammaAnalysisInterfacesLib TrigTimeAlgsLib
PRIVATE_LINK_LIBRARIES ${ROOT_LIBRARIES} CaloEvent xAODCaloEvent xAODEventShape xAODTracking egammaEvent )
LINK_LIBRARIES xAODEgamma xAODPrimitives GaudiKernel CaloUtilsLib RecoToolInterfaces egammaRecEvent TrigCaloEvent TrigParticle TrigSteeringEvent LumiBlockCompsLib TrigInterfacesLib EgammaAnalysisInterfacesLib TrigTimeAlgsLib
PRIVATE_LINK_LIBRARIES ${ROOT_LIBRARIES} CaloEvent xAODCaloEvent xAODEventShape xAODTracking egammaEvent egammaUtils)
atlas_add_component( TrigEgammaRec
src/components/*.cxx
INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
LINK_LIBRARIES ${ROOT_LIBRARIES} xAODEgamma xAODPrimitives GaudiKernel LumiBlockCompsLib RecoToolInterfaces egammaRecEvent TrigCaloEvent TrigParticle TrigSteeringEvent TrigInterfacesLib CaloEvent xAODCaloEvent xAODEventShape xAODTracking EgammaAnalysisInterfacesLib egammaEvent TrigTimeAlgsLib TrigEgammaRecLib )
LINK_LIBRARIES ${ROOT_LIBRARIES} xAODEgamma xAODPrimitives GaudiKernel CaloUtilsLib LumiBlockCompsLib RecoToolInterfaces egammaRecEvent TrigCaloEvent TrigParticle TrigSteeringEvent TrigInterfacesLib CaloEvent xAODCaloEvent xAODEventShape xAODTracking EgammaAnalysisInterfacesLib egammaEvent egammaUtils TrigTimeAlgsLib TrigEgammaRecLib )
# Install files from the package:
atlas_install_python_modules( python/*.py )
......
......@@ -86,6 +86,8 @@ private:
ToolHandle<IEMTrackMatchBuilder> m_trackMatchBuilder;
ToolHandle<IEMConversionBuilder> m_conversionBuilder;
ToolHandle<IEMShowerBuilder> m_showerBuilder; // trigger specific
ToolHandle<IEMFourMomBuilder> m_fourMomBuilder; // trigger specific
ToolHandle<IEGammaAmbiguityTool> m_ambiguityTool;
......@@ -112,12 +114,13 @@ private:
ToolHandle<ILumiBlockMuTool> m_lumiBlockMuTool;
// booleans to run specific parts of offline reconstruction
bool m_doConversions;
bool m_doBremCollection;
bool m_doTrackMatching;
bool m_doTrackIsolation;
bool m_doCaloCellIsolation;
bool m_doTopoIsolation;
bool m_useBremAssoc;
// Allows delete
EgammaRecContainer *m_eg_container;
// needed for monitoring to work
......
......@@ -56,7 +56,7 @@ TrigEgammaRec = Factory(TrigEgammaRecConf.TrigEgammaRec, name="TrigEgammaRec",do
# Tools with non-default configuration
TrackMatchBuilderTool = TrigEMTrackMatchBuilder,
ShowerBuilderTool = TrigEMShowerBuilder,
# Set the isolation tools
TrackIsolationTool = TrigTrackIsolationTool,
CaloCellIsolationTool = TrigCaloIsolationTool,
......@@ -75,7 +75,6 @@ TrigEgammaRec = Factory(TrigEgammaRecConf.TrigEgammaRec, name="TrigEgammaRec",do
PhotonPIDBuilder = TrigPhotonPIDBuilder,
# Tools with default configuration
# VertexBuilderTool = EMVertexBuilder,
ConversionBuilderTool = EMConversionBuilder.copyPublic("TrigEMConversionBuilder"),
AmbiguityTool = EGammaAmbiguityTool.copyPublic("TrigEGammaAmbiguityTool"),
FourMomBuilderTool = EMFourMomBuilder.copyPublic("TrigEMFourMomBuilder"),
......@@ -88,3 +87,4 @@ TrigEgammaRec = Factory(TrigEgammaRecConf.TrigEgammaRec, name="TrigEgammaRec",do
postInit = [configureTrigEgammaMonitoring],
)
......@@ -2,7 +2,7 @@
# -*- coding: utf-8 -*-
# vim:fenc=utf-8
#
# Copyright @2016 Ryan Mackenzie White <ryan.white@cern.ch>
# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
#
"""
......@@ -36,9 +36,11 @@ PhotonPidTools()
# Following tools have TrigEgamma factories
from egammaTools.egammaToolsFactories import EMTrackMatchBuilder, EMFourMomBuilder, EMShowerBuilder
from egammaTools import egammaToolsConf
from egammaTools.egammaToolsConf import EMPIDBuilder
from CaloClusterCorrection import CaloClusterCorrectionConf as Cccc
from egammaTrackTools.egammaTrackToolsFactories import EMExtrapolationTools
TrigCaloFillRectangularCluster = PublicToolFactory( Cccc.CaloFillRectangularCluster,
name = "trigegamma_CaloFillRectangularCluster",
eta_size = 5,
......@@ -118,8 +120,14 @@ TrigEMExtrapolationTools=EMExtrapolationTools.copyPublic(name="TrigEMExtrapolati
useCaching=False)
def appendtoTrigEMTrackMatchBuilder(tool):
"add track to calo tool "
if not hasattr(tool,"EMExtrapolationTools"):
tool += EMExtrapolationTools()
TrigEMTrackMatchBuilder = EMTrackMatchBuilder.copyPublic(
name = "TrigEMTrackMatchBuilder",
postInit=[appendtoTrigEMTrackMatchBuilder],
broadDeltaEta = 0.2, #For offline 0.1
broadDeltaPhi = 0.2, #For offline 0.15
useScoring = False,
......@@ -134,10 +142,13 @@ TrigEMShowerBuilder = EMShowerBuilder.copyPublic(
)
from TriggerMenu.egamma.EgammaSliceFlags import EgammaSliceFlags
from egammaMVACalib.TrigEgammaMVACalibFactories import TrigElectronMVATool, TrigPhotonMVATool
mlog.info("MVA version version %s"%EgammaSliceFlags.calibMVAVersion() )
mlog.info("Cluster Correction version %s"%EgammaSliceFlags.clusterCorrectionVersion() )
EgammaSliceFlags.calibMVAVersion.set_On()
from TrigCaloRec.TrigCaloRecConf import TrigCaloClusterMaker
def configureTrigCaloClusterMonitoring(tool):
......@@ -163,7 +174,6 @@ def configureClusterBuilder(slwAlg):
eta_Duplicate = 5,
phi_Duplicate = 5
)
#mlog.info("TrigCaloClusterMaker adding slw tool %s"%trigslw.getFullName())
slwAlg += trigslw
slwAlg.ClusterMakerTools=[ trigslw.getFullName() ]
......@@ -178,7 +188,6 @@ def configureClusterCorrections(slwAlg):
if hasattr(slwAlg,clName):
continue
for tool in make_CaloSwCorrections (cl,version=EgammaSliceFlags.clusterCorrectionVersion()):
#mlog.info("Correction tool %s"%tool.getFullName())
slwAlg += tool
slwAlg.ClusterCorrectionTools += [tool.getFullName()]
......
# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
from AthenaCommon.AppMgr import ServiceMgr as svcMgr, ToolSvc
from SiClusterOnTrackTool.SiClusterOnTrackToolConf import InDet__PixelClusterOnTrackTool
egTrigPixelClusterOnTrackTool = InDet__PixelClusterOnTrackTool("egTrigPixelClusterOnTrackTool",
DisableDistortions = False,
applyNNcorrection = False)
ToolSvc += egTrigPixelClusterOnTrackTool
from SiClusterOnTrackTool.SiClusterOnTrackToolConf import InDet__SCT_ClusterOnTrackTool
egTrigSCT_ClusterOnTrackTool = InDet__SCT_ClusterOnTrackTool ("egTrigSCT_ClusterOnTrackTool",
CorrectionStrategy = 0, # do correct position bias
ErrorStrategy = 2) # do use phi dependent errors
ToolSvc += egTrigSCT_ClusterOnTrackTool
from TrkRIO_OnTrackCreator.TrkRIO_OnTrackCreatorConf import Trk__RIO_OnTrackCreator
egTrigRotCreator = Trk__RIO_OnTrackCreator(name = 'egTrigRotCreator',
ToolPixelCluster = egTrigPixelClusterOnTrackTool,
ToolSCT_Cluster = egTrigSCT_ClusterOnTrackTool,
Mode = 'indet')
ToolSvc += egTrigRotCreator
from TrkDetDescrSvc.AtlasTrackingGeometrySvc import AtlasTrackingGeometrySvc
from TrkExRungeKuttaPropagator.TrkExRungeKuttaPropagatorConf import Trk__RungeKuttaPropagator as Propagator
egTrigTrkPropagator = Propagator(name = 'egTrigTrkPropagator')
egTrigTrkPropagator.AccuracyParameter = 0.0001
ToolSvc += egTrigTrkPropagator
from TrkExSTEP_Propagator.TrkExSTEP_PropagatorConf import Trk__STEP_Propagator as StepPropagator
egTrigTrkStepPropagator = StepPropagator(name = 'egTrigTrkStepPropagator')
ToolSvc += egTrigTrkStepPropagator
from TrkExTools.TrkExToolsConf import Trk__Navigator
egTrigTrkNavigator = Trk__Navigator(name = 'egTrigTrkNavigator')
ToolSvc += egTrigTrkNavigator
from TrkExTools.TrkExToolsConf import Trk__MaterialEffectsUpdator
egTrigTrkMaterialUpdator = Trk__MaterialEffectsUpdator(name = "egTrigTrkMaterialEffectsUpdator")
ToolSvc += egTrigTrkMaterialUpdator
egTrigTrkSubPropagators = []
egTrigTrkSubUpdators = []
# -------------------- set it depending on the geometry ----------------------------------------------------
# default for ID is (Rk,Mat)
egTrigTrkSubPropagators += [ egTrigTrkPropagator.name() ]
egTrigTrkSubUpdators += [ egTrigTrkMaterialUpdator.name() ]
# default for Calo is (Rk,MatLandau)
egTrigTrkSubPropagators += [ egTrigTrkPropagator.name() ]
egTrigTrkSubUpdators += [ egTrigTrkMaterialUpdator.name() ]
# default for MS is (STEP,Mat)
egTrigTrkSubPropagators += [ egTrigTrkStepPropagator.name() ]
egTrigTrkSubUpdators += [ egTrigTrkMaterialUpdator.name() ]
# ----------------------------------------------------------------------------------------------------------
from TrkExTools.TrkExToolsConf import Trk__Extrapolator
egTrigTrkExtrapolator = Trk__Extrapolator(name = 'egTrigTrkExtrapolator',
Propagators = [ egTrigTrkPropagator, egTrigTrkStepPropagator ],
MaterialEffectsUpdators = [ egTrigTrkMaterialUpdator ],
Navigator = egTrigTrkNavigator,
SubPropagators = egTrigTrkSubPropagators,
SubMEUpdators = egTrigTrkSubUpdators)
ToolSvc += egTrigTrkExtrapolator
# Set up the GSF
from TrkGaussianSumFilter.TrkGaussianSumFilterConf import Trk__GsfMaterialMixtureConvolution
GSFTrigMaterialUpdator = Trk__GsfMaterialMixtureConvolution (name = 'GSFTrigMaterialUpdator')
ToolSvc += GSFTrigMaterialUpdator
# component Reduction
from TrkGaussianSumFilter.TrkGaussianSumFilterConf import Trk__QuickCloseComponentsMultiStateMerger
GSFTrigComponentReduction = Trk__QuickCloseComponentsMultiStateMerger (name = 'GSFTrigComponentReduction',
MaximumNumberOfComponents = 12)
ToolSvc += GSFTrigComponentReduction
from TrkMeasurementUpdator.TrkMeasurementUpdatorConf import Trk__KalmanUpdator as ConfiguredKalmanUpdator
egTrigTrkUpdator = ConfiguredKalmanUpdator('egTrigTrkUpdator')
ToolSvc += egTrigTrkUpdator
from TrkGaussianSumFilter.TrkGaussianSumFilterConf import Trk__GsfMeasurementUpdator
GSFTrigMeasurementUpdator = Trk__GsfMeasurementUpdator( name = 'GSFTrigMeasurementUpdator',
Updator = egTrigTrkUpdator )
ToolSvc += GSFTrigMeasurementUpdator
from TrkGaussianSumFilter.TrkGaussianSumFilterConf import Trk__GsfExtrapolator
GSFTrigExtrapolator = Trk__GsfExtrapolator(name = 'GSFTrigExtrapolator',
Propagators = [ egTrigTrkPropagator ],
SearchLevelClosestParameters = 10,
StickyConfiguration = True,
Navigator = egTrigTrkNavigator,
GsfMaterialConvolution = GSFTrigMaterialUpdator,
ComponentMerger = GSFTrigComponentReduction,
SurfaceBasedMaterialEffects = False )
ToolSvc += GSFTrigExtrapolator
from TrkGaussianSumFilter.TrkGaussianSumFilterConf import Trk__GaussianSumFitter
GSFTrigTrackFitter = Trk__GaussianSumFitter(name = 'GSFTrigTrackFitter',
ToolForExtrapolation = GSFTrigExtrapolator,
MeasurementUpdatorType = GSFTrigMeasurementUpdator,
ReintegrateOutliers = True,
MakePerigee = True,
RefitOnMeasurementBase = True,
DoHitSorting = True,
ValidationMode = False,
ToolForROTCreation = egTrigRotCreator)
# --- end of fitter loading
ToolSvc += GSFTrigTrackFitter
This diff is collapsed.
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