Esempio n. 1
0
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)
Esempio n. 2
0
    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
Esempio n. 3
0
        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
Esempio n. 4
0
            )
            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: