Skip to content
Snippets Groups Projects
Commit 11fa4f42 authored by Edward Moyse's avatar Edward Moyse
Browse files

Don't try to access NSW PRDs if the NSW isn't there

Former-commit-id: c34ae871
parent 71b05131
8 merge requests!58791DataQualityConfigurations: Modify L1Calo config for web display,!46784MuonCondInterface: Enable thread-safety checking.,!46776Updated LArMonitoring config file for WD to match new files produced using MT,!45405updated ART test cron job,!42417Draft: DIRE and VINCIA Base Fragments for Pythia 8.3,!28528Revert 63f845ae,!27054Atr20369 210,!26342Monopole: Handle fractionally charged particles
......@@ -12,21 +12,21 @@ MuonCombinedInDetExtensionAlg::MuonCombinedInDetExtensionAlg(const std::string&
{
declareProperty("MuonCombinedInDetExtensionTools",m_muonCombinedInDetExtensionTools);
declareProperty("usePRDs",m_usePRDs=false);
declareProperty("useNSW", m_useNSW=false);
}
MuonCombinedInDetExtensionAlg::~MuonCombinedInDetExtensionAlg(){}
StatusCode MuonCombinedInDetExtensionAlg::initialize()
{
ATH_CHECK(m_muonCombinedInDetExtensionTools.retrieve());
ATH_CHECK(m_indetCandidateCollectionName.initialize());
ATH_CHECK(m_MDT_ContainerName.initialize(m_usePRDs));
ATH_CHECK(m_RPC_ContainerName.initialize(m_usePRDs));
ATH_CHECK(m_TGC_ContainerName.initialize(m_usePRDs));
ATH_CHECK(m_CSC_ContainerName.initialize(m_usePRDs));
ATH_CHECK(m_sTGC_ContainerName.initialize(m_usePRDs));
ATH_CHECK(m_MM_ContainerName.initialize(m_usePRDs));
ATH_CHECK(m_CSC_ContainerName.initialize(m_usePRDs && !m_useNSW));
ATH_CHECK(m_sTGC_ContainerName.initialize(m_usePRDs && m_useNSW));
ATH_CHECK(m_MM_ContainerName.initialize(m_usePRDs && m_useNSW));
return StatusCode::SUCCESS;
}
......@@ -45,14 +45,16 @@ StatusCode MuonCombinedInDetExtensionAlg::execute()
SG::ReadHandle<Muon::CscPrepDataContainer> cscPRDContainer(m_CSC_ContainerName);
SG::ReadHandle<Muon::RpcPrepDataContainer> rpcPRDContainer(m_RPC_ContainerName);
SG::ReadHandle<Muon::TgcPrepDataContainer> tgcPRDContainer(m_TGC_ContainerName);
SG::ReadHandle<Muon::sTgcPrepDataContainer> stgcPRDContainer(m_sTGC_ContainerName);
SG::ReadHandle<Muon::MMPrepDataContainer> mmPRDContainer(m_MM_ContainerName);
for(auto& tool : m_muonCombinedInDetExtensionTools)
tool->extendWithPRDs(*indetCandidateCollection,mdtPRDContainer.cptr(),cscPRDContainer.cptr(),rpcPRDContainer.cptr(),tgcPRDContainer.cptr(),stgcPRDContainer.cptr(),mmPRDContainer.cptr());
}
else{
if (m_useNSW) {
SG::ReadHandle<Muon::sTgcPrepDataContainer> stgcPRDContainer(m_sTGC_ContainerName);
SG::ReadHandle<Muon::MMPrepDataContainer> mmPRDContainer(m_MM_ContainerName);
for(auto& tool : m_muonCombinedInDetExtensionTools)
tool->extendWithPRDs(*indetCandidateCollection,mdtPRDContainer.cptr(),cscPRDContainer.cptr(),rpcPRDContainer.cptr(),tgcPRDContainer.cptr(),stgcPRDContainer.cptr(),mmPRDContainer.cptr());
} else {
for(auto& tool : m_muonCombinedInDetExtensionTools)
tool->extendWithPRDs(*indetCandidateCollection,mdtPRDContainer.cptr(),cscPRDContainer.cptr(),rpcPRDContainer.cptr(),tgcPRDContainer.cptr(),0,0);
}
} else{
for(auto& tool : m_muonCombinedInDetExtensionTools)
tool->extend(*indetCandidateCollection);
}
......
......@@ -39,6 +39,7 @@ class MuonCombinedInDetExtensionAlg : public AthAlgorithm
SG::ReadHandleKey<Muon::sTgcPrepDataContainer> m_sTGC_ContainerName{this,"sTGCPrepDataLocation","sTGC_Clusters","sTGC prep data"};
SG::ReadHandleKey<Muon::MMPrepDataContainer> m_MM_ContainerName{this,"MMPrepDataLocation","MM_Clusters","MM prep data"};
bool m_usePRDs;
bool m_useNSW;
};
......
......@@ -3,6 +3,9 @@
from MuonCombinedRecExample.MuonCombinedRecFlags import muonCombinedRecFlags
from AthenaCommon.CfgGetter import getPublicTool, getAlgorithm,getPublicToolClone
from MuonRecExample.ConfiguredMuonRec import ConfiguredMuonRec
from MuonRecExample.MuonRecFlags import muonRecFlags
muonRecFlags.setDefaults()
from AthenaCommon.AlgSequence import AlgSequence
from AthenaCommon import CfgMgr
from AthenaCommon.BeamFlags import jobproperties
......@@ -14,6 +17,7 @@ def MuonCombinedInDetExtensionAlg(name="MuonCombinedInDetExtensionAlg",**kwargs)
if muonCombinedRecFlags.doCaloTrkMuId():
tools.append(getPublicTool("MuonCaloTagTool"))
kwargs.setdefault("MuonCombinedInDetExtensionTools", tools )
kwargs.setdefault("useNSW", muonRecFlags.dosTGCs() and muonRecFlags.doMicromegas() )
return CfgMgr.MuonCombinedInDetExtensionAlg(name,**kwargs)
def MuGirlAlg(name="MuGirlAlg",**kwargs):
......
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