diff --git a/Reconstruction/egamma/egammaAlgs/python/egammaSelectedTrackCopy.py b/Reconstruction/egamma/egammaAlgs/python/egammaSelectedTrackCopy.py index c894dab626e96766fa6fdf9117561be4fb4e6dd6..56cad5d9d0e3cb14b8321eb63c61d1a3e7c561ff 100644 --- a/Reconstruction/egamma/egammaAlgs/python/egammaSelectedTrackCopy.py +++ b/Reconstruction/egamma/egammaAlgs/python/egammaSelectedTrackCopy.py @@ -15,7 +15,7 @@ from egammaCaloTools import egammaCaloToolsConf egammaCaloClusterGSFSelector = ToolFactory( egammaCaloToolsConf.egammaCaloClusterSelector, name = 'caloClusterGSFSelector', EMEtRanges = [2500.], - EMFCuts = [0.7] + EMFCuts = [0.65] ) egammaSelectedTrackCopy = AlgFactory( egammaAlgsConf.egammaSelectedTrackCopy, diff --git a/Reconstruction/egamma/egammaAlgs/python/egammaSelectedTrackCopyConfig.py b/Reconstruction/egamma/egammaAlgs/python/egammaSelectedTrackCopyConfig.py index 026cbd58df7441235702e3a30a1a7675129fe49c..f5e60230a93d303a20fd15b84ca0012361a3b6f5 100644 --- a/Reconstruction/egamma/egammaAlgs/python/egammaSelectedTrackCopyConfig.py +++ b/Reconstruction/egamma/egammaAlgs/python/egammaSelectedTrackCopyConfig.py @@ -19,7 +19,7 @@ def egammaSelectedTrackCopyCfg(flags, name='egammaSelectedTrackCopy', **kwargs): if "egammaCaloClusterSelector" not in kwargs: egammaCaloClusterGSFSelector = egammaCaloClusterSelector(name='caloClusterGSFSelector', EMEtRanges = [2500.], - EMFCuts = [0.7] + EMFCuts = [0.65] ) kwargs["egammaCaloClusterSelector"] = egammaCaloClusterGSFSelector diff --git a/Reconstruction/egamma/egammaCaloTools/src/egammaCaloClusterSelector.cxx b/Reconstruction/egamma/egammaCaloTools/src/egammaCaloClusterSelector.cxx index 39314800fdf1fd1c9a1ccf5af6ad7ec258f6425f..daefab1ce4f08c5247e7bcb5d3eb11cfdb897000 100644 --- a/Reconstruction/egamma/egammaCaloTools/src/egammaCaloClusterSelector.cxx +++ b/Reconstruction/egamma/egammaCaloTools/src/egammaCaloClusterSelector.cxx @@ -97,8 +97,11 @@ bool egammaCaloClusterSelector::passSelection(const xAOD::CaloCluster* cluster) const double eta2 = fabs(cluster->etaBE(2)); if(eta2>10){ return false; - } - const double EMEnergy= cluster->energyBE(0)+cluster->energyBE(1)+cluster->energyBE(2)+cluster->energyBE(3); + } + //use the egamma definition of EMFrac (includes presampler , helps with eff in the crack) + static const SG::AuxElement::ConstAccessor<float> acc("EMFraction"); + const double emFrac = acc.isAvailable(*cluster)? acc(*cluster) : 0.; + const double EMEnergy= cluster->e()* emFrac; const double EMEt = EMEnergy/cosh(eta2); const double bin = findETBin(EMEt); /* Check for the minimum EM Et required this should be the 0th entry in EMEtRanges*/ @@ -106,11 +109,7 @@ bool egammaCaloClusterSelector::passSelection(const xAOD::CaloCluster* cluster) ATH_MSG_DEBUG("Cluster EM Et is lower than the lowest cut in EMEtRanges dont make ROI"); return false; } - - //use the egamma definition of EMFrac (includes presampler , helps with eff in the crack) - static const SG::AuxElement::ConstAccessor<float> acc("EMFraction"); - const double emFrac = acc.isAvailable(*cluster)? acc(*cluster) : 0.; - /* EM fraction cut*/ + /* EM fraction cut*/ if ( m_EMFCuts.size() != 0 && emFrac < m_EMFCuts[bin] ){ ATH_MSG_DEBUG("Cluster failed EM Fraction cut: don't make ROI"); return false;