예제 #1
0
    def setDefaults(self):
        global beamFlags, muonRecFlags, muonStandaloneFlags
        # set defaults of the flags that its using
        muonRecFlags.setDefaults()

        muonStandaloneFlags.setDefaults()

        from MuonRecExample.MuonRecUtils import setJobPropertyDefault as setDefault

        haveMuonTracks = muonRecFlags.doStandalone() and self.doAOD
        # This logic doesn't work - doAOD seems to be off with Vakho's standard test
        #        if not haveMuonTracks:
        #            if not muonRecFlags.doStandalone():
        #                print "turning off doxAOD because doStandalone is off"
        #            if not self.doAOD:
        #                print "turning off doxAOD because doAOD is off"
        #            setDefault(self.doxAOD,False)

        if beamFlags.beamType() == 'cosmics' or beamFlags.beamType(
        ) == 'singlebeam':
            # Algorithms for CaloMuonCollection
            setDefault(self.doCaloTrkMuId, self.doAOD())
            # Algorithms for MuGirlLowBetaCollection
            setDefault(self.doMuGirlLowBeta, self.doAOD())

        #else: # collisions
        # Algorithms for CaloMuonCollection
        #setDefault(self.doCaloTrkMuId,self.doAOD())
        # Algorithms for MuGirlLowBetaCollection
        #setDefault(self.doMuGirlLowBeta,self.doAOD())
        #setDefault(self.doMuGirl,self.doAOD())    # also for new MuonCollection

        if beamFlags.beamType() == 'cosmics':
            setDefault(self.doLArMuId, True)
        else:
            setDefault(self.doLArMuId, False)

        # tracking performance algorithms, take defaults from muonRecFlags
        setDefault(self.doTrackPerformance, muonRecFlags.doTrackPerformance())
        setDefault(self.TrackPerfDebugLevel,
                   muonRecFlags.TrackPerfDebugLevel())
        setDefault(self.TrackPerfSummaryLevel,
                   muonRecFlags.TrackPerfSummaryLevel())
예제 #2
0
    #ToolSvc.MooMuonTrackBuilder.OutputLevel = VERBOSE    #topSequence.MuonSegmentCnvAlg.OutputLevel = VERBOSE
    #topSequence.TrackParticleTruthAlg.OutputLevel = VERBOSE
    #from MuonTruthAlgs.MuonTruthAlgsConf import Muon__MuonTruthDecorationAlg
    #from MuonIdHelpers.MuonIdHelpersConf import Muon__MuonIdHelperTool
    #ToolSvc += Muon__MuonIdHelperTool("MuonIdHelperTool",OutputLevel=VERBOSE)
    #ToolSvc.MdtDriftCircleOnTrackCreator.OutputLevel=DEBUG
    #ToolSvc.MuonLayerHoughTool.OutputLevel = VERBOSE
    #ToolSvc.MuonLayerHoughTool.DebugHough = True
    #ToolSvc.MuonLayerHoughTool.DoNtuple = True
    #ToolSvc.MuonLayerHoughTool.UseSeeds = False
    colname = "Muons"
    #from MuonTrackPerformance.MuonTrackPerformanceConf import MuonSegmentPerformanceAlg
    #topSequence += MuonSegmentPerformanceAlg(name="MuonSegmentPerformanceAlg",OutputLevel=VERBOSE)
    #topSequence.MuonSegmentPerformanceAlg.OutputLevel=VERBOSE
    #topSequence.MuonTruthDecorationAlg.OutputLevel=VERBOSE
    if rec.doTruth() and muonRecFlags.doTrackPerformance():
        topSequence.MuonStandalonePerformanceAlg.ProduceEventListMissedTracks = 2  # "0: off, 1: two station, 2: + one station" );
        if (muonCombinedRecFlags.doxAOD()):
            topSequence.ExtrapolatedMuonPerformanceAlg.ProduceEventListMissedTracks = 2
            topSequence.CombinedMuonPerformanceAlg.ProduceEventListMissedTracks = 2

    #include("MuonTestEDM/MuonTestEDM_jobOptions.py")

    if muonCombinedRecFlags.doMuGirlLowBeta():
        ToolSvc.MuonTrackTruthTool.ConsideredPDGs = [
            13, -13, 1000015, -1000015
        ]
        topSequence.ExtrapolatedMuonPerformanceAlg.ConsideredPDGs = [
            13, -13, 1000015, -1000015
        ]
        topSequence.CombinedMuonPerformanceAlg.ConsideredPDGs = [
            from RecExConfig.InputFilePeeker import inputFileSummary
            truthStrategy = inputFileSummary['metadata'][
                '/Simulation/Parameters']['TruthStrategy']
            if truthStrategy in ['MC15', 'MC18', 'MC18LLP']:
                topSequence.MuonSegmentTruthAssociationAlg.BarcodeOffset = 10000000
        except:
            print "Failed to read /Simulation/Parameters/ metadata"
            pass

#--------------------------------------------------------------------------
# Apply alignment corrections to geometry
#--------------------------------------------------------------------------
if muonRecFlags.useAlignmentCorrections():
    from MuonRecExample import MuonAlignConfig

#--------------------------------------------------------------------------
# Make Calibration Ntuple or run Calibration Algorithm
#--------------------------------------------------------------------------
if muonRecFlags.doCalib() or muonRecFlags.doCalibNtuple():
    from MuonRecExample import MuonCalibConfig

#--------------------------------------------------------------------------
# Evaluate tracking performance
#--------------------------------------------------------------------------
if muonRecFlags.doTrackPerformance():
    include("MuonRecExample/MuonTrackPerformance_jobOptions.py")

if muonRecFlags.doMSVertex():
    from MSVertexRecoAlg.MSVertexRecoAlgConf import MSVertexRecoAlg
    topSequence += MSVertexRecoAlg("MSVertexRecoAlg")