Skip to content
Snippets Groups Projects
Commit 7e75719c authored by Graeme Stewart's avatar Graeme Stewart
Browse files

Control/PerformanceMonitoring/PerfMonTests deleted from master

parent 582edefb
1 merge request!20779WIP: Migrate DataQualityTools to ToolHandles
Showing
with 0 additions and 1532 deletions
## Automatically generated CMT requirements file
package PerfMonTests
author Sebastien Binet <binet@cern.ch>
## For Athena policies: it has to be the first use statement
use AtlasPolicy AtlasPolicy-*
private
## For Gaudi tools, services and objects
use GaudiInterface GaudiInterface-* External
## Put here your package dependencies...
use AtlasCLHEP AtlasCLHEP-* External
use AthenaKernel AthenaKernel-* Control
use AthenaBaseComps AthenaBaseComps-* Control
use StoreGate StoreGate-* Control
use SGTools SGTools-* Control
use DataModel DataModel-* Control
use PerfMonKernel PerfMonKernel-* Control/PerformanceMonitoring
use PerfMonComps PerfMonComps-* Control/PerformanceMonitoring -no_auto_imports
use JetRec JetRec-* Reconstruction/Jet -no_auto_imports
use McParticleTests McParticleTests-* PhysicsAnalysis/TruthParticleID -no_auto_imports
##
end_private
branches python share share/tests src src/components test
## make a component library
library PerfMonTests *.cxx components/*.cxx
apply_pattern component_library
apply_pattern declare_joboptions files="*.py tests/*.py"
apply_pattern declare_python_modules files="*.py"
# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
## @file PerfMonTests.IoTestsLib
## @date April 2009
__author__ = "Sebastien Binet <binet@cern.ch>"
__version__ = "$Revision: 1.1 $"
__doc__ = """
a set of simple minded functions to test ROOT I/O (from python)
"""
from array import array as carray
import random
# set some dummy seed, for reproducibility
random.seed(20080910) # first LHC startup :)
from os import sysconf
_pagesz = sysconf('SC_PAGE_SIZE') / 1024 # in kb
_py_dtype_to_root = {
'i' : 'I',
'f' : 'F',
}
"""translates the usual python 'dtype' codes to the ROOT/CINT ones
"""
from PyUtils.Decorators import forking
def pymon():
"""returns (cpu[ms], vmem[kb], rss[kb])
"""
from resource import getrusage, RUSAGE_SELF
from string import split as ssplit
cpu = getrusage(RUSAGE_SELF)
mem = open('/proc/self/statm','r')
cpu = (cpu.ru_utime+cpu.ru_stime) * 1e3 # in milliseconds
mem = ssplit(mem.readlines()[0])
vmem = int(mem[0])*_pagesz
rss = int(mem[1])*_pagesz
return cpu,vmem,rss
def comp_delta(d, verbose=False):
assert 'start' in d
assert 'stop' in d
assert len(d['start']) == 3
assert len(d['stop']) == 3
if verbose:
print repr(d)
delta = { 'cpu' : d['stop'][0] - d['start'][0],
'vmem': d['stop'][1] - d['start'][1],
'rss' : d['stop'][2] - d['start'][2],
'nbytes': -1
}
if 'nbytes' in d:
delta['nbytes'] = d['nbytes']
print "==> cpu: %(cpu)8.3f ms vmem: %(vmem)i kB rss: %(rss)i kB nbytes: %(nbytes)i kB" % delta
return delta
def import_ROOT():
import sys
# for ROOT...
if not '-b' in sys.argv:
sys.argv.insert(1, '-b')
import ROOT
return ROOT
ROOT = import_ROOT()
@forking
def io_test1_write(fname, nevts=1000, sz=1000, dtype='i'):
"""testing writing 1000 evts with arrays of 1000- integers
"""
f = ROOT.TFile.Open(fname, 'RECREATE')
t = ROOT.TTree('t', 't')
nevts= nevts
imax = sz
data = carray(dtype, imax*[ 0 ] )
#t.Branch( 'mynum', n, 'mynum/I' )
t.Branch( 'i', data, 'data[%d]/%s'%(imax, _py_dtype_to_root[dtype]) )
from random import randint
fill = t.Fill
for i in xrange(nevts):
for j in xrange(sz):
data[j] = randint(0, sz)
fill()
f.Write()
f.Close()
return
@forking
def io_test1_read(fname, verbose=False):
f = ROOT.TFile.Open(fname, 'READ')
t = f.Get('t')
assert t, "could not find tree 't'"
nevts = t.GetEntries()
if verbose:
print "::: reading [%s] (%i events) [sz=%s kB]" % (fname, nevts,
f.GetSize()/1024)
tot_bytes = 0
get_entry = t.GetEntry
start = pymon()
for ievt in xrange(nevts):
# copy next entry into memory and verify
nb = get_entry(ievt)
if nb <= 0:
continue
tot_bytes += nb
# use the values directly from the tree
data = getattr(t, 'data')
sz = len(data)
assert sz > 0
#print "::: ievt [%3i] : #data = %s" % (ievt, sz)
stop = pymon()
del t
f.Close()
return {'start' : start,
'stop' : stop,
'nbytes': tot_bytes/1024}
@forking
def io_test2_write(fname, nevts=1000, sz=1000, dtype='i'):
"""testing writing 1000 evts with arrays of (variable length) 1000- ints
"""
f = ROOT.TFile.Open(fname, 'RECREATE')
t = ROOT.TTree('t', 't')
nevts= nevts
imax = sz
n = carray( 'i', [ 0 ] )
data = carray( dtype, imax*[ 0 ] )
t.Branch( 'sz', n, 'sz/I' )
t.Branch( 'data', data, 'data[sz]/%s'%_py_dtype_to_root[dtype])
from random import randint
fill = t.Fill
for i in xrange(nevts):
jmax = randint(1, sz)
n[0] = jmax
for j in xrange(jmax):
data[j] = randint(0, sz)
fill()
f.Write()
f.Close()
return
@forking
def io_test2_read(fname, verbose=False):
f = ROOT.TFile.Open(fname, 'READ')
t = f.Get('t')
assert t, "could not find tree 't'"
nevts = t.GetEntries()
if verbose:
print "::: reading [%s] (%i events) [sz=%s kB]" % (fname, nevts,
f.GetSize()/1024)
tot_bytes = 0
get_entry = t.GetEntry
start = pymon()
for ievt in xrange(nevts):
# copy next entry into memory and verify
nb = get_entry(ievt)
if nb <= 0:
continue
tot_bytes += nb
# use the values directly from the tree
data = getattr(t, 'data')
sz = len(data)
assert sz > 0
#print "::: ievt [%3i] : #data = %s" % (ievt, sz)
stop = pymon()
del t
f.Close()
return {'start' : start,
'stop' : stop,
'nbytes': tot_bytes/1024}
### tests ---------------------------------------------------------------------
if __name__ == "__main__":
# FIXME: use 'nose' instead... for automatical test discovery
print "::: running all tests..."
nreads = 10 # nbr of times to repeat each 'read' test
mon_data = {}
# -----
# io_test1
# -----
# io_test1 - ints
fname = '/tmp/out_test1_ints.root'
w = io_test1_write(fname=fname,
nevts=100000, sz=1000,
dtype='i')
mon_data['io_test1-ints'] = []
for _ in xrange(nreads):
mon_data['io_test1-ints'].append(comp_delta(io_test1_read(fname=fname)))
# io_test1 - floats
fname = '/tmp/out_test1_flts.root'
w = io_test1_write(fname=fname,
nevts=100000, sz=1000,
dtype='f')
mon_data['io_test1-flts'] = []
for _ in xrange(nreads):
mon_data['io_test1-flts'].append(comp_delta(io_test1_read(fname=fname)))
# -----
# io_test2
# -----
# io_test2 - ints
fname = '/tmp/out_test2_ints.root'
w = io_test2_write(fname=fname,
nevts=100000, sz=1000,
dtype='i')
mon_data['io_test2-ints'] = []
for _ in xrange(nreads):
mon_data['io_test2-ints'].append(comp_delta(io_test2_read(fname=fname)))
# io_test2 - floats
fname = '/tmp/out_test2_floats.root'
w = io_test2_write(fname=fname,
nevts=100000, sz=1000,
dtype='f')
mon_data['io_test2-flts'] = []
for _ in xrange(nreads):
mon_data['io_test2-flts'].append(comp_delta(io_test2_read(fname=fname)))
print mon_data
# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
# hook for PerfMonTests py-module
# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
##
## A little py-module holding methods to ease the scheduling of PerfMonTests
## @author: Sebastien Binet
## $Id: tests.py,v 1.5 2007-11-12 01:04:14 binet Exp $
import user
import os
import sys
import commands
from AthenaCommon import ChapPy
###-----------------------------------------------------
## For compatibility with ATN tests
from TestTools.iobench import workDir
###-----------------------------------------------------
## Little helper to validate output of jobs
from TestTools.iobench import ScOutput
from TestTools.iobench import BenchSequence
def testPerfMon( jobOptName = "PerfMonTests/test_perfMonSvc_noopalg.py",
perfMonFileName = "perfmon.noopalg.root",
evtMax = 50000 ):
print ""
print "#"*80
print "## testing PerfMonSvc [%s]" % jobOptName
print " ==> [%s]... (%i)" % (perfMonFileName,evtMax)
perfMonFileName = workDir( perfMonFileName )
refPerfMonFileName = "ref." + os.path.basename( perfMonFileName )
chkPerfMonFileName = "chk." + os.path.basename( perfMonFileName )
outPerfMonFileName = "ana." + os.path.basename( perfMonFileName )
refPerfMonFileName = refPerfMonFileName.replace(".root", ".pmon.gz")
chkPerfMonFileName = chkPerfMonFileName.replace(".root", ".pmon.gz")
## create the reference file
athena = ChapPy.Athena(
jobOptions = [ ChapPy.JobOptions( jobOptName ),
ChapPy.JobOptionsCmd( "jobproperties.PerfMonFlags.OutputFile = '%s'" % refPerfMonFileName ) ],
checkLeak = False,
logFile = refPerfMonFileName + ".log"
)
athena.EvtMax = evtMax
sc = athena.run()
if sc != 0:
print "ERROR: could not create the 'ref' perfmon file !!"
return ScOutput(sc, "ERROR")
## create the to-be-checked file
athena = ChapPy.Athena(
jobOptions = [ ChapPy.JobOptions( jobOptName ),
ChapPy.JobOptionsCmd( "jobproperties.PerfMonFlags.OutputFile = '%s'" % chkPerfMonFileName ) ],
checkLeak = False,
logFile = chkPerfMonFileName + ".log"
)
athena.EvtMax = evtMax
sc = athena.run()
if sc != 0:
print "ERROR: could not create the 'chk' perfmon file !!"
return ScOutput(sc, "ERROR")
#outPerfMonFileName = "ana." + os.path.basename( perfMonFileName )
print " :::running [perfmon.py]..."
cmd = "perfmon.py %s %s -o %s" % \
( chkPerfMonFileName, refPerfMonFileName, outPerfMonFileName )
sc,out = commands.getstatusoutput( cmd )
if sc != 0:
print "## Problem while doing [perfmon] !!"
print out
out = "ERROR"
return ScOutput(sc, out)
out = "OK"
print "## [DONE]"
return ScOutput(sc, out)
#!/usr/bin/env python
""" a simple test case for PerfMonSvc
launch with:
lxplus> chappy PerfMonTests/test_perfMonSvc.py
"""
import user
import os
import sys
import commands
from AthenaCommon import ChapPy
###-----------------------------------------------------
## For compatibility with ATN tests
from TestTools.iobench import workDir
def testPerfMon( jobOptName = "PerfMonTests/test_perfMonSvc_noopalg.py",
perfMonFileName = "perfmon.noopalg.pmon.gz",
evtMax = 50000 ):
print ""
print "#"*80
print "## testing PerfMonSvc [%s]" % jobOptName
print " ==> [%s]... (%i)" % (perfMonFileName,evtMax)
refPerfMonFileName = "ref." + os.path.basename( perfMonFileName )
chkPerfMonFileName = "chk." + os.path.basename( perfMonFileName )
outPerfMonFileName = "ana." + os.path.basename( perfMonFileName )
## create the reference file
athena = ChapPy.Athena( jobOptions = [ ChapPy.JobOptions( jobOptName ) ],
checkLeak = False,
logFile = refPerfMonFileName+".log" )
athena.EvtMax = evtMax
athena.run()
os.rename( "perfmon.pmon.gz", refPerfMonFileName )
## create the to-be-checked file
athena = ChapPy.Athena( jobOptions = [ ChapPy.JobOptions( jobOptName ) ],
checkLeak = False,
logFile = chkPerfMonFileName+".log" )
athena.EvtMax = evtMax
athena.run()
os.rename( "perfmon.pmon.gz", chkPerfMonFileName )
print " :::running [perfmon.py]..."
cmd = "perfmon.py -o %s %s %s --labels 'chk,ref'" % \
( outPerfMonFileName, chkPerfMonFileName, refPerfMonFileName )
sc,out = commands.getstatusoutput( cmd )
if sc != 0:
print "## Problem while doing [perfmon] !!"
print out
else:
print "## [DONE]"
return sc
evtMax = 5000
jobs = [
['noopalg.py' , 'perfmon.noopalg.pmon.gz', evtMax],
['noopalg_write_datahdr.py', 'perfmon.noopalg.write_datahdr.pmon.gz', evtMax],
['noopalg_write_evtinfo.py', 'perfmon.noopalg.write_evtinfo.pmon.gz', evtMax],
['basicalg.py' , 'perfmon.basicalg.pmon.gz', 1000],
['leakyalg.py' , 'perfmon.leakyalg.pmon.gz', evtMax],
#['multiple_noopalgs.py' , 'perfmon.noopalgs.pmon.gz', 1000],
#['multiple_noopalgs_write_evtinfo.py',
# 'perfmon.noopalgs.write_evtinfo.pmon.gz', 1000],
['baseline_bench.py' , 'perfmon.baseline_bench.pmon.gz', evtMax],
['evtgen.py' , 'perfmon.evtgen.pmon.gz', 1000],
['truthjets.py' , 'perfmon.truthjets.pmon.gz', 500],
]
for jobOptName, perfMonFileName, evtMax in jobs:
testPerfMon( "PerfMonTests/test_perfMonSvc_%s" % jobOptName,
perfMonFileName,
evtMax )
print ""
print "## Bye."
print "#"*80
###############################################################
#
# Job options file
#
#==============================================================
from AthenaCommon.AppMgr import theApp
if not 'doMonitoring' in dir():
doMonitoring = True
pass
from PerfMonComps.PerfMonFlags import jobproperties
jobproperties.PerfMonFlags.doMonitoring = doMonitoring
jobproperties.PerfMonFlags.doPersistencyMonitoring = True
###############################
# Load perf service
###############################
from AthenaCommon.AppMgr import ServiceMgr as svcMgr
from PerfMonComps.JobOptCfg import PerfMonSvc
svcMgr += PerfMonSvc( "PerfMonSvc", OutputLevel = VERBOSE )
#--------------------------------------------------------------
# General Application Configuration options
#--------------------------------------------------------------
import AthenaCommon.AtlasUnixGeneratorJob
from AthenaCommon.Constants import VERBOSE,DEBUG,INFO,WARNING,ERROR
from AthenaCommon.AlgSequence import AlgSequence
topSequence = AlgSequence()
#--------------------------------------------------------------
# Event related parameters
#--------------------------------------------------------------
if not 'EVTMAX' in dir():
EVTMAX = 3
pass
theApp.EvtMax = EVTMAX
#--------------------------------------------------------------
# Private Application Configuration options
#--------------------------------------------------------------
## schedule a noop algorithm: it just print where it is
from PerfMonTests.PerfMonTestsConf import PerfMonTest__PolyVectorAlg
pva = PerfMonTest__PolyVectorAlg()
pva.VectorSize=10*1024*1024
pva.ToBeReserved=10*1024*1024
pva.Mixture=1
topSequence += pva
svcMgr.MessageSvc.OutputLevel = INFO
from PerfMonComps.PerfMonCompsConf import PerfMon__CallGraphBuilderSvc
svcMgr += PerfMon__CallGraphBuilderSvc( "CallGraphSvc" )
theApp.CreateSvc += [ svcMgr.CallGraphSvc.getFullJobOptName() ]
svcMgr.AuditorSvc.Auditors += [ "PerfMon::CallGraphAuditor" ]
#==============================================================
#
# End of job options file
#
###############################################################
###############################################################
#
# Job options file
#
#==============================================================
from AthenaCommon.AppMgr import theApp
if not 'doMonitoring' in dir():
doMonitoring = True
pass
from PerfMonComps.PerfMonFlags import jobproperties
jobproperties.PerfMonFlags.doMonitoring = doMonitoring
jobproperties.PerfMonFlags.doPersistencyMonitoring = True
###############################
# Load perf service
###############################
from AthenaCommon.AppMgr import ServiceMgr as svcMgr
from PerfMonComps.JobOptCfg import PerfMonSvc
svcMgr += PerfMonSvc( "PerfMonSvc", OutputLevel = VERBOSE )
#--------------------------------------------------------------
# General Application Configuration options
#--------------------------------------------------------------
import AthenaCommon.AtlasUnixGeneratorJob
from AthenaCommon.Constants import VERBOSE,DEBUG,INFO,WARNING,ERROR
from AthenaCommon.AlgSequence import AlgSequence
topSequence = AlgSequence()
#--------------------------------------------------------------
# Event related parameters
#--------------------------------------------------------------
if not 'EVTMAX' in dir():
EVTMAX = 3
pass
theApp.EvtMax = EVTMAX
#--------------------------------------------------------------
# Private Application Configuration options
#--------------------------------------------------------------
## schedule a noop algorithm: it just print where it is
from PerfMonTests.PerfMonTestsConf import PerfMonTest__PolyVectorAlgWithArenas
pva = PerfMonTest__PolyVectorAlgWithArenas( "WithArenas" )
pva.VectorSize=10*1024*1024
pva.ToBeReserved=10*1024*1024
pva.Mixture=1
topSequence += pva
svcMgr.MessageSvc.OutputLevel = INFO
from PerfMonComps.PerfMonCompsConf import PerfMon__CallGraphBuilderSvc
svcMgr += PerfMon__CallGraphBuilderSvc( "CallGraphSvc" )
theApp.CreateSvc += [ svcMgr.CallGraphSvc.getFullJobOptName() ]
svcMgr.AuditorSvc.Auditors += [ "PerfMon::CallGraphAuditor" ]
#==============================================================
#
# End of job options file
#
###############################################################
###############################################################
#
# Job options file
#
#==============================================================
from AthenaCommon.AppMgr import theApp
if not 'doMonitoring' in dir():
doMonitoring = True
pass
from PerfMonComps.PerfMonFlags import jobproperties
jobproperties.PerfMonFlags.doMonitoring = doMonitoring
jobproperties.PerfMonFlags.doPersistencyMonitoring = True
###############################
# Load perf service
###############################
from AthenaCommon.AppMgr import ServiceMgr as svcMgr
from PerfMonComps.JobOptCfg import PerfMonSvc
svcMgr += PerfMonSvc( "PerfMonSvc", OutputLevel = VERBOSE )
#--------------------------------------------------------------
# General Application Configuration options
#--------------------------------------------------------------
import AthenaCommon.AtlasUnixGeneratorJob
from AthenaCommon.Constants import VERBOSE,DEBUG,INFO,WARNING,ERROR
from AthenaCommon.AlgSequence import AlgSequence
topSequence = AlgSequence()
#--------------------------------------------------------------
# Event related parameters
#--------------------------------------------------------------
if not 'EVTMAX' in dir():
EVTMAX = 3
pass
theApp.EvtMax = EVTMAX
#--------------------------------------------------------------
# Private Application Configuration options
#--------------------------------------------------------------
## schedule a noop algorithm: it just print where it is
from PerfMonTests.PerfMonTestsConf import PerfMonTest__VectorAlg
pva = PerfMonTest__VectorAlg()
pva.VectorSize=10*1024*1024
pva.ToBeReserved=10*1024*1024
topSequence += pva
svcMgr.MessageSvc.OutputLevel = INFO
from PerfMonComps.PerfMonCompsConf import PerfMon__CallGraphBuilderSvc
svcMgr += PerfMon__CallGraphBuilderSvc( "CallGraphSvc" )
theApp.CreateSvc += [ svcMgr.CallGraphSvc.getFullJobOptName() ]
svcMgr.AuditorSvc.Auditors += [ "PerfMon::CallGraphAuditor" ]
#==============================================================
#
# End of job options file
#
###############################################################
###############################################################
#
# Job options file
#
#==============================================================
from AthenaCommon.AppMgr import theApp
if not 'doMonitoring' in dir():
doMonitoring = True
pass
from PerfMonComps.PerfMonFlags import jobproperties
jobproperties.PerfMonFlags.doMonitoring = doMonitoring
jobproperties.PerfMonFlags.doPersistencyMonitoring = True
jobproperties.PerfMonFlags.doDetailedMonitoring = True
###############################
# Load perf service
###############################
from AthenaCommon.AppMgr import ServiceMgr as svcMgr
from PerfMonComps.JobOptCfg import PerfMonSvc
svcMgr += PerfMonSvc( "PerfMonSvc",
OutputLevel = INFO,
IoContainers = [ "EventInfo#McEventInfo",
"AthExParticles#Particles",
"AthExDecay#TwoBodyDecay",
"AthExElephantino#PinkElephantino" ]
)
#--------------------------------------------------------------
# General Application Configuration options
#--------------------------------------------------------------
import AthenaCommon.AtlasUnixGeneratorJob
from AthenaCommon.Constants import VERBOSE,DEBUG,INFO,WARNING,ERROR
from AthenaCommon.AlgSequence import AlgSequence
topSequence = AlgSequence()
#--------------------------------------------------------------
# Event related parameters
#--------------------------------------------------------------
if not 'EVTMAX' in dir():
EVTMAX = 50000
pass
theApp.EvtMax = EVTMAX
#--------------------------------------------------------------
# Private Application Configuration options
#--------------------------------------------------------------
###############################
# Create some 4-vectors
###############################
from AthExThinning.AthExThinningAlgsConf import AthExThinning__CreateData
topSequence += AthExThinning__CreateData(
"CreateData",
ParticlesOutput = "Particles",
NbrOfParticles = 10,
OutputLevel = ERROR )
#---------------------------------------------------------------
# Pool Persistency
#---------------------------------------------------------------
from AthenaPoolCnvSvc.WriteAthenaPool import AthenaPoolOutputStream
outStream = AthenaPoolOutputStream("OutStream")
outStream.ItemList = [ "EventInfo#McEventInfo"]
outStream.ItemList += [ "AthExParticles#Particles" ]
outStream.ItemList += [ "AthExDecay#TwoBodyDecay" ]
outStream.ItemList += [ "AthExElephantino#PinkElephantino" ]
if not 'OUTPUT' in dir():
OUTPUT = "my.data.pool"
pass
outStream.OutputFile = OUTPUT
## somehow better configure the AthenaPoolCnvSvc for our small
## persistency output job
svcMgr.AthenaPoolCnvSvc.CommitInterval = 1000
svcMgr += CfgMgr.AthenaSealSvc( OutputLevel = ERROR )
svcMgr += CfgMgr.MessageSvc( defaultLimit = 4000000,
OutputLevel = ERROR )
#==============================================================
#
# End of job options file
#
###############################################################
###############################################################
#
# Job options file
#
#==============================================================
from AthenaCommon.AppMgr import theApp
###############################
# Load perf service
###############################
if not 'doMonitoring' in dir():
doMonitoring = True
pass
from PerfMonComps.PerfMonFlags import jobproperties
jobproperties.PerfMonFlags.doMonitoring = doMonitoring
jobproperties.PerfMonFlags.doPersistencyMonitoring = True
jobproperties.PerfMonFlags.doDetailedMonitoring = True
from AthenaCommon.AppMgr import ServiceMgr as svcMgr
from PerfMonComps.JobOptCfg import PerfMonSvc
svcMgr += PerfMonSvc( "PerfMonSvc", OutputLevel = INFO )
#--------------------------------------------------------------
# General Application Configuration options
#--------------------------------------------------------------
import AthenaCommon.AtlasUnixGeneratorJob
from AthenaCommon.Constants import VERBOSE,DEBUG,INFO,WARNING,ERROR
from AthenaCommon.AlgSequence import AlgSequence
topSequence = AlgSequence()
#--------------------------------------------------------------
# Event related parameters
#--------------------------------------------------------------
if not 'EVTMAX' in dir():
EVTMAX = 10000
pass
theApp.EvtMax = EVTMAX
#--------------------------------------------------------------
# Private Application Configuration options
#--------------------------------------------------------------
svcMgr.MessageSvc.OutputLevel = ERROR
## schedule a basic algorithm: it just puts stuff into StoreGate
from PerfMonTests.PerfMonTestsConf import PerfMonTest__BasicAlg
for i in range( 10 ):
topSequence += PerfMonTest__BasicAlg( "BasicAlg_%i" % i,
DataSize = (i+1) * 10000 )
#==============================================================
#
# End of job options file
#
###############################################################
###############################################################
#
# Job options file
#
#==============================================================
from AthenaCommon.AppMgr import theApp
#--------------------------------------------------------------
# General Application Configuration options
#--------------------------------------------------------------
from AthenaCommon.Constants import VERBOSE,DEBUG,INFO,WARNING,ERROR
from AthenaCommon.AlgSequence import AlgSequence
topSequence = AlgSequence()
#--------------------------------------------------------------
# Event related parameters
#--------------------------------------------------------------
if not 'EVTMAX' in dir():
EVTMAX = -1
pass
theApp.EvtMax = EVTMAX
#--------------------------------------------------------------
# Private Application Configuration options
#--------------------------------------------------------------
from AthenaCommon.AppMgr import ServiceMgr as svcMgr
###############################
# Load perf service
###############################
from PerfMonComps.PerfMonFlags import jobproperties
jobproperties.PerfMonFlags.doMonitoring = True
jobproperties.PerfMonFlags.doDetailedMonitoring = True
################################################################
# Steer digitization job
#########################
from AthenaCommon.AthenaCommonFlags import jobproperties as jp
jp.AthenaCommonFlags.EvtMax= EVTMAX
jp.AthenaCommonFlags.PoolHitsInput=["rfio:/castor/cern.ch/user/s/svahsen/digitization/RTT/calib1_csc11.005200.T1_McAtNlo_Jimmy.simul.HITS.v12003104_tid004131._00069.pool.root.10"]
jp.AthenaCommonFlags.PoolRDOOutput="/tmp/calib1_csc11.005200.digits.pool"
import os
_poolRDOOutput = jp.AthenaCommonFlags.PoolRDOOutput()
if os.path.exists(_poolRDOOutput): os.remove(_poolRDOOutput)
del _poolRDOOutput
#--------------------------------------------------------------
# Digitiziation and Pileup configuration
#--------------------------------------------------------------
from Digitization.DigitizationFlags import jobproperties
# jobproperties.Digitization.doMinimumBias=True
# jobproperties.Digitization.numberOfCollisions=2.3
# jobproperties.Digitization.minBiasInputCols=["", "", "" ]
# jobproperties.Digitization.doCavern=True
# jobproperties.Digitization.cavernInputCols=["",""]
#--------------------------------------------------------------
# Set some of the global flags. Like eg the DD version:
#--------------------------------------------------------------
from AthenaCommon.GlobalFlags import jobproperties
jobproperties.Global.DetDescrVersion='ATLAS-CSC-01-02-00'
# Flags that are defined in python are best set here
# switch off ID and muons
from AthenaCommon.DetFlags import DetFlags
DetFlags.ID_setOff()
DetFlags.Calo_setOn()
DetFlags.Muon_setOff()
DetFlags.Truth_setOn()
DetFlags.LVL1_setOff()
include("Digitization/Digitization.py")
###############################################################
## setting up output list items
outStreams = AlgSequence("Streams")
outStreams.Stream1.ItemList = [
"EventInfo#McEventInfo",
"CaloCalibrationHitContainer#LArCalibrationHitActive",
"CaloCalibrationHitContainer#LArCalibrationHitDeadMaterial",
"CaloCalibrationHitContainer#LArCalibrationHitInactive",
"CaloCalibrationHitContainer#TileCalibrationCellHitCnt",
"CaloCalibrationHitContainer#TileCalibrationDMHitCnt",
"LArRawChannelContainer#LArRawChannels",
"McEventCollection#TruthEvent",
"TileRawChannelContainer#TileRawChannelCnt",
## "TileRawChannelCollectionVec#TileRawChannelFiltered",
"TileHitVector#MBTSHits",
"TrackRecordCollection#CaloEntryLayer",
"TrackRecordCollection#MuonEntryLayer",
"TrackRecordCollection#MuonExitLayer"
]
## repeat 10 times the same event
## jobproperties.PerfMonFlags.installEvtSelector = True
## svcMgr.PerfMonEventSelector.NbrReplays = 10-1
## svcMgr.AthenaPoolCnvSvc.CommitInterval = 10
#==============================================================
#
# End of job options file
#
###############################################################
###############################################################
#
# Job options file
#
#==============================================================
from AthenaCommon.AppMgr import theApp
if not 'doMonitoring' in dir():
doMonitoring = True
pass
from PerfMonComps.PerfMonFlags import jobproperties
jobproperties.PerfMonFlags.doMonitoring = doMonitoring
jobproperties.PerfMonFlags.doPersistencyMonitoring = True
jobproperties.PerfMonFlags.doDetailedMonitoring = True
###############################
# Load perf service
###############################
from AthenaCommon.AppMgr import ServiceMgr as svcMgr
from PerfMonComps.JobOptCfg import PerfMonSvc
svcMgr += PerfMonSvc( "PerfMonSvc", OutputLevel = INFO )
#--------------------------------------------------------------
# General Application Configuration options
#--------------------------------------------------------------
import AthenaCommon.AtlasUnixGeneratorJob
from AthenaCommon.Constants import VERBOSE,DEBUG,INFO,WARNING,ERROR
from AthenaCommon.AlgSequence import AlgSequence
topSequence = AlgSequence()
#--------------------------------------------------------------
# Event related parameters
#--------------------------------------------------------------
if not 'EVTMAX' in dir():
EVTMAX = 1000
pass
theApp.EvtMax = EVTMAX
#--------------------------------------------------------------
# Private Application Configuration options
#--------------------------------------------------------------
####################
# Generate the event
####################
if not 'GENERATOR' in dir(): GENERATOR = "Pythia"
if not 'PROCESS' in dir(): PROCESS = "ttbar"
from McParticleTests.tests import makeGenEvents
topSequence += makeGenEvents( genName = GENERATOR,
genProcess = PROCESS,
cfgGenName = "EvGen" )
##########################
# Configure McAod options
from McParticleAlgs.McAodFlags import jobproperties as jp
jp.McAodFlags.doTruthEtIsolations = True
########
# Create the AOD McEventCollection
#
from McParticleAlgs.JobOptCfg import McAodBuilder
from McParticleTools.McParticleToolsConf import NoopFilterTool
from McParticleTools.McParticleToolsConf import TruthParticleCnvTool
topSequence += McAodBuilder(
"McAodBuilder",
OutputLevel = INFO,
FilterTool = NoopFilterTool(
McEvents = "GEN_EVENT",
DoEtIsolations = jp.McAodFlags.doTruthEtIsolations()
),
CnvTool = TruthParticleCnvTool(
McEvents = "GEN_AOD",
TruthParticlesOutput = "SpclMC",
DoEtIsolations = jp.McAodFlags.doTruthEtIsolations()
)
)
#---------------------------------------------------------------
# Pool Persistency
#---------------------------------------------------------------
from AthenaPoolCnvSvc.WriteAthenaPool import AthenaPoolOutputStream
outStream = AthenaPoolOutputStream("OutStream")
outStream.ItemList = [ "EventInfo#McEventInfo"]
outStream.ItemList += [ "McEventCollection#GEN_EVENT" ]
outStream.ItemList += [ "McEventCollection#GEN_AOD" ]
outStream.ItemList += [ "TruthParticleContainer#SpclMC" ]
outStream.ItemList += [ "TruthEtIsolationsContainer#TruthEtIsol_GEN_EVENT" ]
if not 'OUTPUT' in dir():
OUTPUT = "my.data.pool"
pass
outStream.OutputFile = OUTPUT
from GaudiSvc.GaudiSvcConf import MessageSvc
svcMgr += MessageSvc( defaultLimit = 4000000 )
svcMgr.MessageSvc.OutputLevel = WARNING
#==============================================================
#
# End of job options file
#
###############################################################
###############################################################
#
# Job options file
#
#==============================================================
from AthenaCommon.AppMgr import theApp
if not 'doMonitoring' in dir():
doMonitoring = True
pass
from PerfMonComps.PerfMonFlags import jobproperties
jobproperties.PerfMonFlags.doMonitoring = doMonitoring
jobproperties.PerfMonFlags.doPersistencyMonitoring = True
jobproperties.PerfMonFlags.doDetailedMonitoring = True
jobproperties.PerfMonFlags.OutputFile = "perfmon.indetReadBS.root"
###############################
# Load perf service
###############################
from AthenaCommon.AppMgr import ServiceMgr as svcMgr
from PerfMonComps.JobOptCfg import PerfMonSvc
svcMgr += PerfMonSvc(
"PerfMonSvc",
OutputLevel = INFO,
IoContainers = [
"EventInfo#McEventInfo",
"McEventCollection#TruthEvent",
"DetailedTrackTruthCollection#DetailedTrackTruth",
"InDet::PixelClusterContainer#PixelClusters",
"InDet::SCT_ClusterContainer#SCT_Clusters",
"InDet::TRT_DriftCircleContainer#TRT_DriftCircles",
"Rec::TrackParticleContainer#TrackParticleCandidate",
"TrackParticleTruthVector#TrackParticleTruthCollection",
"Trk::PRD_MultiTruthCollection#PRD_MultiTruthPixel",
"Trk::PRD_MultiTruthCollection#PRD_MultiTruthSCT",
"Trk::PRD_MultiTruthCollection#PRD_MultiTruthTRT",
"Trk::SegmentCollection#TRTSegments",
"Trk::TrackCollection#ExtendedTracks",
"Trk::TrackTruthCollection#TrackTruthCollection",
"Trk::VxContainer#VxPrimaryCandidate"
]
)
################################################################
# Steer InDetRec job
#--------------------------------------------------------------
# Control
#--------------------------------------------------------------
# --- Set output level threshold (2=DEBUG, 3=INFO, 4=WARNING, 5=ERROR, 6=FATAL )
OutputLevel = INFO
# --- produce trackingg ntuple
doTrkNtuple = False
# --- produce an atlantis data file
doJiveXML = False
# --- controls what is written out. ESD includes AOD, so it's normally enough
doWriteESD = True
doWriteAOD = True
# --- read BS
doReadBS = True
# --- do auditors ?
doAuditors = True
import os
if os.environ['CMTCONFIG'].endswith('-dbg'):
# --- do EDM monitor (debug mode only)
doEdmMonitor = True
# --- write out a short message upon entering or leaving each algorithm
doNameAuditor = True
else:
doEdmMonitor = False
doNameAuditor = False
#--------------------------------------------------------------
# Load InDetFlags configuration
#--------------------------------------------------------------
# --- setup class with default values
include( "InDetRecExample/ConfiguredInDetFlags.py")
InDetFlags = ConfiguredInDetFlags(xKalman = True,
iPatRec = True,
newTracking = True,
doTruth = not doReadBS)
# --- enable back tracking
InDetFlags.enableBackTracking()
# --- active V0-Finder and Conversion-Finder
InDetFlags.enableV0Finder()
InDetFlags.enableConversions()
# --- different output options
#InDetFlags.setAODall()
#InDetFlags.setRestrictedESD()
# --- activate Z vertex scan in new tracking
#InDetFlags.usePrimVertexZcoordinate ( True )
# --- activate if the InDetRecStatistics ntuple should be written:
#InDetFlags.enableStatistics(doStatNtuple=True, StatNtupleName="InDetRecStatistics.root")
# --- activate if fall-back to DKF and fixed layer material is needed
#InDetFlags.setTrackFitterType("KalmanDNAFitter")
#InDetFlags.setTrackFitterType("DistributedKalmanFilter")
#InDetFlags.setTrackFitterType("GlobalChi2Fitter")
#--------------------------------------------------------------
# detector description version
#--------------------------------------------------------------
DetDescrVersion = "ATLAS-DC3-07"
#DetDescrVersion = "ATLAS-CSC-01-00-00"
#--------------------------------------------------------------
# load master joboptions file
#--------------------------------------------------------------
include("InDetRecExample/InDetRec_all.py")
#--------------------------------------------------------------
# Event related parameters and input files
#--------------------------------------------------------------
# Number of events to be processed (default is 10)
theApp.EvtMax = -1
#
if not doReadBS:
# --- t tbar channel 5200 (DetDescrVersion = "ATLAS-DC3-07")
# ServiceMgr.EventSelector.InputCollections = ["/afs/cern.ch/atlas/maxidisk/d38/ID_ValidationData/testIdeal_07.005200.T1_McAtNlo_Jimmy.digit.RDO.v12000201_tid002760._00002.pool.root.1"]
# --- TP split version (local)
ServiceMgr.EventSelector.InputCollections = ["/afs/cern.ch/atlas/maxidisk/d89/InDetRecRDO.root"]
# --- gamma 20 (ATLAS-CSC-01-00-00)
#ServiceMgr.EventSelector.InputCollections = ["castor:/castor/cern.ch/grid/atlas/datafiles/egamma/DC3.007040.singlepart_gamma_Et20/digit/120031/ideal0_mc12.007040.singlepart_gamma_Et20.digit.RDO.v12003108_tid005022._00001.pool.root"]
#ServiceMgr.EventSelector.InputCollections += ["castor:/castor/cern.ch/grid/atlas/datafiles/egamma/DC3.007040.singlepart_gamma_Et20/digit/120031/ideal0_mc12.007040.singlepart_gamma_Et20.digit.RDO.v12003108_tid005022._00002.pool.root"]
###############################################################
from GaudiSvc.GaudiSvcConf import MessageSvc
svcMgr += MessageSvc( defaultLimit = 4000000 )
svcMgr.MessageSvc.OutputLevel = ERROR
#==============================================================
#
# End of job options file
#
###############################################################
###############################################################
#
# Job options file
#
#==============================================================
from AthenaCommon.AppMgr import theApp
if not 'doMonitoring' in dir():
doMonitoring = True
pass
from PerfMonComps.PerfMonFlags import jobproperties
jobproperties.PerfMonFlags.doMonitoring = doMonitoring
jobproperties.PerfMonFlags.doPersistencyMonitoring = True
jobproperties.PerfMonFlags.doDetailedMonitoring = True
jobproperties.PerfMonFlags.OutputFile = "perfmon.indetWriteBS.root"
###############################
# Load perf service
###############################
from AthenaCommon.AppMgr import ServiceMgr as svcMgr
from PerfMonComps.JobOptCfg import PerfMonSvc
svcMgr += PerfMonSvc(
"PerfMonSvc",
OutputLevel = INFO
)
################################################################
# Steer InDetRec job
include( "InDetRecExample/WriteInDetBS_jobOptions.py")
###############################################################
from GaudiSvc.GaudiSvcConf import MessageSvc
svcMgr += MessageSvc( defaultLimit = 4000000 )
svcMgr.MessageSvc.OutputLevel = ERROR
#==============================================================
#
# End of job options file
#
###############################################################
###############################################################
#
# Job options file
#
#==============================================================
from AthenaCommon.AppMgr import theApp
if not 'doMonitoring' in dir():
doMonitoring = True
pass
from PerfMonComps.PerfMonFlags import jobproperties
jobproperties.PerfMonFlags.doMonitoring = doMonitoring
jobproperties.PerfMonFlags.doPersistencyMonitoring = True
jobproperties.PerfMonFlags.doDetailedMonitoring = True
###############################
# Load perf service
###############################
from AthenaCommon.AppMgr import ServiceMgr as svcMgr
from PerfMonComps.JobOptCfg import PerfMonSvc
svcMgr += PerfMonSvc( "PerfMonSvc", OutputLevel = INFO )
#--------------------------------------------------------------
# General Application Configuration options
#--------------------------------------------------------------
import AthenaCommon.AtlasUnixGeneratorJob
from AthenaCommon.Constants import VERBOSE,DEBUG,INFO,WARNING,ERROR
from AthenaCommon.AlgSequence import AlgSequence
topSequence = AlgSequence()
#--------------------------------------------------------------
# Event related parameters
#--------------------------------------------------------------
if not 'EVTMAX' in dir():
EVTMAX = 100
pass
theApp.EvtMax = EVTMAX
#--------------------------------------------------------------
# Private Application Configuration options
#--------------------------------------------------------------
svcMgr.MessageSvc.OutputLevel = ERROR
## schedule a noop algorithm: it just print where it is
from PerfMonTests.PerfMonTestsConf import PerfMonTest__LeakyAlg
topSequence += PerfMonTest__LeakyAlg(
"LeakyAlg",
LeakSize = 10000
)
#==============================================================
#
# End of job options file
#
###############################################################
###############################################################
#
# Job options file
#
#==============================================================
from AthenaCommon.AppMgr import theApp
if not 'doMonitoring' in dir():
doMonitoring = True
pass
from PerfMonComps.PerfMonFlags import jobproperties
jobproperties.PerfMonFlags.doMonitoring = doMonitoring
jobproperties.PerfMonFlags.doDetailedMonitoring = True
###############################
# Load perf service
###############################
from AthenaCommon.AppMgr import ServiceMgr as svcMgr
from PerfMonComps.JobOptCfg import PerfMonSvc
svcMgr += PerfMonSvc( "PerfMonSvc", OutputLevel = INFO )
#--------------------------------------------------------------
# General Application Configuration options
#--------------------------------------------------------------
import AthenaCommon.AtlasUnixGeneratorJob
from AthenaCommon.Constants import VERBOSE,DEBUG,INFO,WARNING,ERROR
from AthenaCommon.AlgSequence import AlgSequence
topSequence = AlgSequence()
#--------------------------------------------------------------
# Event related parameters
#--------------------------------------------------------------
if not 'EVTMAX' in dir():
EVTMAX = 30
pass
theApp.EvtMax = EVTMAX
#--------------------------------------------------------------
# Private Application Configuration options
#--------------------------------------------------------------
svcMgr.MessageSvc.OutputLevel = ERROR
## schedule a noop algorithm: it just print where it is
from PerfMonTests.PerfMonTestsConf import PerfMonTest__MallocAlg
topSequence += PerfMonTest__MallocAlg(
"MallocAlg",
OutputLevel = INFO
)
#==============================================================
#
# End of job options file
#
###############################################################
###############################################################
#
# Job options file
#
#==============================================================
from AthenaCommon.AppMgr import theApp
if not 'doMonitoring' in dir():
doMonitoring = True
pass
from PerfMonComps.PerfMonFlags import jobproperties
jobproperties.PerfMonFlags.doMonitoring = doMonitoring
jobproperties.PerfMonFlags.doPersistencyMonitoring = True
jobproperties.PerfMonFlags.doDetailedMonitoring = True
###############################
# Load perf service
###############################
from AthenaCommon.AppMgr import ServiceMgr as svcMgr
from PerfMonComps.JobOptCfg import PerfMonSvc
svcMgr += PerfMonSvc( "PerfMonSvc", OutputLevel = INFO )
#--------------------------------------------------------------
# General Application Configuration options
#--------------------------------------------------------------
import AthenaCommon.AtlasUnixGeneratorJob
from AthenaCommon.Constants import VERBOSE,DEBUG,INFO,WARNING,ERROR
from AthenaCommon.AlgSequence import AlgSequence
topSequence = AlgSequence()
#--------------------------------------------------------------
# Event related parameters
#--------------------------------------------------------------
if not 'EVTMAX' in dir():
EVTMAX = 50000
pass
theApp.EvtMax = EVTMAX
#--------------------------------------------------------------
# Private Application Configuration options
#--------------------------------------------------------------
## schedule a noop algorithm: it just print where it is
from PerfMonTests.PerfMonTestsConf import PerfMonTest__NoopAlg
for i in range( 1000 ):
topSequence += PerfMonTest__NoopAlg( "NoopAlg_%i" % i )
svcMgr.MessageSvc.OutputLevel = ERROR
#==============================================================
#
# End of job options file
#
###############################################################
###############################################################
#
# Job options file
#
#==============================================================
from AthenaCommon.AppMgr import theApp
if not 'doMonitoring' in dir():
doMonitoring = True
pass
from PerfMonComps.PerfMonFlags import jobproperties
jobproperties.PerfMonFlags.doMonitoring = doMonitoring
jobproperties.PerfMonFlags.doPersistencyMonitoring = True
jobproperties.PerfMonFlags.doDetailedMonitoring = True
###############################
# Load perf service
###############################
from AthenaCommon.AppMgr import ServiceMgr as svcMgr
from PerfMonComps.JobOptCfg import PerfMonSvc
svcMgr += PerfMonSvc( "PerfMonSvc", OutputLevel = INFO )
#--------------------------------------------------------------
# General Application Configuration options
#--------------------------------------------------------------
import AthenaCommon.AtlasUnixGeneratorJob
from AthenaCommon.Constants import VERBOSE,DEBUG,INFO,WARNING,ERROR
from AthenaCommon.AlgSequence import AlgSequence
topSequence = AlgSequence()
#--------------------------------------------------------------
# Event related parameters
#--------------------------------------------------------------
if not 'EVTMAX' in dir():
EVTMAX = 50000
pass
theApp.EvtMax = EVTMAX
#--------------------------------------------------------------
# Private Application Configuration options
#--------------------------------------------------------------
from PerfMonComps.PerfMonCompsConf import PerfMon__CallGraphBuilderSvc
svcMgr += PerfMon__CallGraphBuilderSvc( "CallGraphSvc", OutputLevel = VERBOSE )
theApp.CreateSvc += [ svcMgr.CallGraphSvc.getFullJobOptName() ]
theAuditorSvc.Auditors += [ "PerfMon::CallGraphAuditor" ]
svcMgr.AuditorSvc.Auditors += [ "PerfMon::CallGraphAuditor" ]
## schedule a noop algorithm: it just print where it is
from PerfMonTests.PerfMonTestsConf import PerfMonTest__NoopAlg
for i in range( 100 ):
topSequence += PerfMonTest__NoopAlg( "NoopAlg_%i" % i )
#---------------------------------------------------------------
# Pool Persistency
#---------------------------------------------------------------
from AthenaPoolCnvSvc.WriteAthenaPool import AthenaPoolOutputStream
outStream = AthenaPoolOutputStream("OutStream")
outStream.ItemList = [ "EventInfo#McEventInfo"]
if not 'OUTPUT' in dir():
OUTPUT = "my.data.pool"
pass
outStream.OutputFile = OUTPUT
## somehow better configure the AthenaPoolCnvSvc for our small
## persistency output job
svcMgr.AthenaPoolCnvSvc.CommitInterval = 1000
svcMgr.MessageSvc.OutputLevel = ERROR
#==============================================================
#
# End of job options file
#
###############################################################
###############################################################
#
# Job options file
#
#==============================================================
from AthenaCommon.AppMgr import theApp
if not 'doMonitoring' in dir():
doMonitoring = True
pass
from PerfMonComps.PerfMonFlags import jobproperties
jobproperties.PerfMonFlags.doMonitoring = doMonitoring
jobproperties.PerfMonFlags.doPersistencyMonitoring = True
jobproperties.PerfMonFlags.doDetailedMonitoring = True
###############################
# Load perf service
###############################
from AthenaCommon.AppMgr import ServiceMgr as svcMgr
from PerfMonComps.JobOptCfg import PerfMonSvc
svcMgr += PerfMonSvc( "PerfMonSvc", OutputLevel = VERBOSE )
#--------------------------------------------------------------
# General Application Configuration options
#--------------------------------------------------------------
import AthenaCommon.AtlasUnixGeneratorJob
from AthenaCommon.Constants import VERBOSE,DEBUG,INFO,WARNING,ERROR
from AthenaCommon.AlgSequence import AlgSequence
topSequence = AlgSequence()
#--------------------------------------------------------------
# Event related parameters
#--------------------------------------------------------------
if not 'EVTMAX' in dir():
EVTMAX = 50000
pass
theApp.EvtMax = EVTMAX
#--------------------------------------------------------------
# Private Application Configuration options
#--------------------------------------------------------------
## schedule a noop algorithm: it just print where it is
from PerfMonTests.PerfMonTestsConf import PerfMonTest__NoopAlg
topSequence += PerfMonTest__NoopAlg( "NoopAlg" )
svcMgr.MessageSvc.OutputLevel = ERROR
from PerfMonComps.PerfMonCompsConf import PerfMon__CallGraphBuilderSvc
svcMgr += PerfMon__CallGraphBuilderSvc( "CallGraphSvc" )
theApp.CreateSvc += [ svcMgr.CallGraphSvc.getFullJobOptName() ]
svcMgr.AuditorSvc.Auditors += [ "PerfMon::CallGraphAuditor" ]
#==============================================================
#
# End of job options file
#
###############################################################
###############################################################
#
# Job options file
#
#==============================================================
from AthenaCommon.AppMgr import theApp
if not 'doMonitoring' in dir():
doMonitoring = True
pass
from PerfMonComps.PerfMonFlags import jobproperties
jobproperties.PerfMonFlags.doMonitoring = doMonitoring
jobproperties.PerfMonFlags.doPersistencyMonitoring = True
jobproperties.PerfMonFlags.doDetailedMonitoring = True
###############################
# Load perf service
###############################
from AthenaCommon.AppMgr import ServiceMgr as svcMgr
from PerfMonComps.JobOptCfg import PerfMonSvc
svcMgr += PerfMonSvc( "PerfMonSvc", OutputLevel = INFO )
#--------------------------------------------------------------
# General Application Configuration options
#--------------------------------------------------------------
import AthenaCommon.AtlasUnixGeneratorJob
from AthenaCommon.Constants import VERBOSE,DEBUG,INFO,WARNING,ERROR
from AthenaCommon.AlgSequence import AlgSequence
topSequence = AlgSequence()
#--------------------------------------------------------------
# Event related parameters
#--------------------------------------------------------------
if not 'EVTMAX' in dir():
EVTMAX = 50000
pass
theApp.EvtMax = EVTMAX
#--------------------------------------------------------------
# Private Application Configuration options
#--------------------------------------------------------------
## schedule a noop algorithm: it just print where it is
from PerfMonTests.PerfMonTestsConf import PerfMonTest__NoopAlg
topSequence += PerfMonTest__NoopAlg( "NoopAlg" )
#---------------------------------------------------------------
# Pool Persistency
#---------------------------------------------------------------
from AthenaPoolCnvSvc.WriteAthenaPool import AthenaPoolOutputStream
outStream = AthenaPoolOutputStream("OutStream")
outStream.ItemList = []
if not 'OUTPUT' in dir():
OUTPUT = "my.data.pool"
pass
outStream.OutputFile = OUTPUT
## somehow better configure the AthenaPoolCnvSvc for our small
## persistency output job
svcMgr.AthenaPoolCnvSvc.CommitInterval = 1000
svcMgr.MessageSvc.OutputLevel = ERROR
#==============================================================
#
# End of job options file
#
###############################################################
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