def MuonCombinedInDetCandidateAlg(name="MuonCombinedInDetCandidateAlg", **kwargs): from InDetRecExample.InDetJobProperties import InDetFlags kwargs.setdefault( "TrackSelector", getPublicTool("MuonCombinedInDetDetailedTrackSelectorTool")) if muonCombinedRecFlags.doSiAssocForwardMuons( ) and InDetFlags.doForwardTracks(): kwargs.setdefault("DoSiliconAssocForwardMuons", True) kwargs.setdefault( "InDetForwardTrackSelector", getPublicTool("MuonCombinedInDetDetailedForwardTrackSelectorTool")) kwargs.setdefault("MuonSystemExtensionTool", getPublicTool("MuonSystemExtensionTool")) return CfgMgr.MuonCombinedInDetCandidateAlg(name, **kwargs)
def configure(self): mlog = logging.getLogger( 'ThinInDetForwardTrackParticles.py::configure:') from InDetRecExample.InDetJobProperties import InDetFlags from InDetRecExample.InDetKeys import InDetKeys from RecExConfig.InputFilePeeker import inputFileSummary have_InDetForwardParticles = ( inputFileSummary['eventdata_items'] and any(InDetKeys.xAODForwardTrackParticleContainer() in elements for elements in inputFileSummary['eventdata_items'])) if not have_InDetForwardParticles and ( not InDetFlags.doForwardTracks() or not InDetFlags.doParticleCreation()): mlog.error( "Not attempting to thin InDetForwardParticles, because the container %s does not seem to be available" % (InDetKeys.xAODForwardTrackParticleContainer())) return True mlog.info('entering') try: from ThinningUtils.ThinningUtilsConf import ThinInDetForwardTrackParticlesAlg theInDetFwdThinner = ThinInDetForwardTrackParticlesAlg( "ThinInDetForwardTrackParticlesAlg", ThinInDetForwardTrackParticles=True, StreamName='StreamAOD') print(theInDetFwdThinner) except Exception: import traceback mlog.error( "could not get handle to ThinInDetForwardTrackParticlesAlg") traceback.print_exc() return False mlog.info("now adding to topSequence") from AthenaCommon.AlgSequence import AlgSequence topSequence = AlgSequence() topSequence += theInDetFwdThinner return True
from xAODTrackingCnv.xAODTrackingCnvConf import xAODMaker__VertexCnvAlg xAODVertexCnvAlg = xAODMaker__VertexCnvAlg("VertexCnvAlg") xAODVertexCnvAlg.xAODContainerName = InDetKeys.xAODVertexContainer() xAODVertexCnvAlg.AODContainerName = InDetKeys.PrimaryVertices() xAODVertexCnvAlg.TPContainerName = InDetKeys.xAODTrackParticleContainer() topSequence += xAODVertexCnvAlg if InDetFlags.doDBMstandalone() or InDetFlags.doDBM(): from xAODTrackingCnv.xAODTrackingCnvConf import xAODMaker__VertexCnvAlg xAODVertexCnvAlgDBM = xAODMaker__VertexCnvAlg("VertexCnvAlgDBM") xAODVertexCnvAlgDBM.xAODContainerName = InDetKeys.xAODVertexContainer() xAODVertexCnvAlgDBM.AODContainerName = InDetKeys.PrimaryVertices() xAODVertexCnvAlgDBM.TPContainerName = InDetKeys.xAODDBMTrackParticleContainer() topSequence += xAODVertexCnvAlgDBM #For forward tracks, no separate collection for ITK, since they are already merged if (InDetFlags.doForwardTracks() and InDetFlags.doParticleCreation() and not InDetFlags.doSLHC()) or doConversion: xAODForwardTrackParticleCnvAlg = xAODMaker__TrackParticleCnvAlg(InDetKeys.xAODForwardTrackParticleContainer()) xAODForwardTrackParticleCnvAlg.xAODContainerName = InDetKeys.xAODForwardTrackParticleContainer() xAODForwardTrackParticleCnvAlg.xAODTrackParticlesFromTracksContainerName = InDetKeys.xAODForwardTrackParticleContainer() xAODForwardTrackParticleCnvAlg.AODContainerName = InDetKeys.ResolvedForwardTrackParticles() xAODForwardTrackParticleCnvAlg.AODTruthContainerName = InDetKeys.ResolvedForwardTrackParticlesTruth() xAODForwardTrackParticleCnvAlg.TrackParticleCreator = InDetxAODParticleCreatorTool xAODForwardTrackParticleCnvAlg.TrackContainerName = InDetKeys.ResolvedForwardTracks() xAODForwardTrackParticleCnvAlg.ConvertTrackParticles = doConversion xAODForwardTrackParticleCnvAlg.ConvertTracks = doCreation xAODForwardTrackParticleCnvAlg.AddTruthLink = InDetFlags.doTruth() xAODForwardTrackParticleCnvAlg.TrackTruthContainerName = InDetKeys.ResolvedForwardTracksTruth() xAODForwardTrackParticleCnvAlg.PrintIDSummaryInfo = True #xAODForwardTrackParticleCnvAlg.OutputLevel = VERBOSE topSequence += xAODForwardTrackParticleCnvAlg
) topSequence += xAODVertexCnvAlg if InDetFlags.doDBMstandalone() or InDetFlags.doDBM(): if (IsInInputFile('VxContainer', InDetKeys.PrimaryVertices())): from xAODTrackingCnv.xAODTrackingCnvConf import xAODMaker__VertexCnvAlg xAODVertexCnvAlgDBM = xAODMaker__VertexCnvAlg("VertexCnvAlgDBM") xAODVertexCnvAlgDBM.xAODContainerName = InDetKeys.xAODVertexContainer( ) xAODVertexCnvAlgDBM.AODContainerName = InDetKeys.PrimaryVertices() xAODVertexCnvAlgDBM.TPContainerName = InDetKeys.xAODDBMTrackParticleContainer( ) topSequence += xAODVertexCnvAlgDBM #For forward tracks, no separate collection for ITK, since they are already merged if (InDetFlags.doForwardTracks() and InDetFlags.doParticleCreation() and not InDetFlags.doSLHC()) or doConversion: if doCreation: createTrackParticles(InDetKeys.ResolvedForwardTracks(), InDetKeys.ResolvedForwardTracksTruth(), InDetKeys.xAODForwardTrackParticleContainer(), topSequence) if doConversion: convertTrackParticles( getRecTrackParticleNameIfInFile( InDetKeys.ResolvedForwardTrackParticles()), InDetKeys.ResolvedForwardTrackParticlesTruth(), InDetKeys.xAODForwardTrackParticleContainer(), topSequence) if InDetFlags.doPseudoTracking(): if doCreation: