# This is the job options that does the merging ############################################################### # # Job options file # #============================================================== #-------------------------------------------------------------- # Load POOL support #-------------------------------------------------------------- include( "AthenaPoolCnvSvc/ReadAthenaPool_jobOptions.py" ) include( "PartPropSvc/PartPropSvc.py" ) #-------------------------------------------------------------- # Event related parameters #-------------------------------------------------------------- try: theApp.EvtMax = EvtMax except: theApp.EvtMax = 1000000 include( "RecExCommon/RecExCommon_flags.py" ) print "MergeAODWithTAGs :: Will process no more than ",theApp.EvtMax," events" #-------------------------------------------------------------- # Tag flags/variables #-------------------------------------------------------------- try: dbseed = seed except: dbseed=17 try: DSID = dataset except: DSID=0 #-------------------------------------------------------------- # Private Application Configuration options #-------------------------------------------------------------- # Load "user algorithm" #top algorithms to be run, and the libraries that house them #TruthParticleContainer Dll # The following 2 lines should be uncommented if using release 11 #theApp.Dlls += ["TruthParticleAlgs"] #include( "ParticleEventAthenaPool/AOD_PoolCnv_jobOptions.py") # The following 4 lines should be uncommented if using release 12 theApp.Dlls += ["McParticleTools"] # -- below is a piece which seems to just be missing from standard AOD options include( "TileIdCnv/TileIdCnv_jobOptions.py" ) # -- below is excerpt from ESD_PoolCnv_jobOptions.py needed for MissingET in AOD include( "RecAthenaPool/RecAthenaPool_joboptions.py" ) # -- below is excerpt from ESD_PoolCnv_jobOptions.py needed for CaloClusterContainer in AOD include( "LArAthenaPool/LArAthenaPool_joboptions.py" ) # -- #include( "ParticleBuilderOptions/ESD_PoolCnv_jobOptions.py" ) include( "ParticleBuilderOptions/AOD_PoolCnv_jobOptions.py") include( "ParticleBuilderOptions/McAOD_PoolCnv_jobOptions.py") ChronoStatSvc = Service ( "ChronoStatSvc") # write out summary of the memory usage # number of events to be skip to detect memory leak # Set to 50 to give some time to stabilise ChronoStatSvc.NumberOfSkippedEventsForMemStat = 50 theAuditorSvc.Auditors += [ "MemStatAuditor" ] MemStatAuditor = theAuditorSvc.auditor( "MemStatAuditor" ) theApp.AuditAlgorithms=True MemStatAuditor.OutputLevel = INFO theApp.AuditServices=True include ('EventTagAlgs/EventTagFlags.py') # include( "EventTagAlgs/EventTag_jobOptions.py" ) # Pool Converters for AOD # #-------------------------------------------------------------- # Set output level threshold (2=DEBUG, 3=INFO, 4=WARNING, 5=ERROR, 6=FATAL ) #-------------------------------------------------------------- MessageSvc = Service( "MessageSvc" ) MessageSvc.OutputLevel = INFO EventSelector = Service( "EventSelector" ) try: EventSelector.InputCollections = PoolAODInput except: print "Usage: -c 'PoolAODInput=['file']'" # Check collection type try: EventSelector.CollectionType = CollType except: print "Reading from file" #============================================================== # # End of job options file # ############################################################### #-------------------------------------------------------------- #--- Secondary Write portion ----- Don't change it !!! #-------------------------------------------------------------- # list of output objects # The following line should be uncommented if using release 11 #include( "ParticleEventAthenaPool/AOD_OutputList_jobOptions.py") # The following line should be uncommented if using release 12 include( "ParticleBuilderOptions/AOD_OutputList_jobOptions.py") if doWriteAOD: theApp.TopAlg += ["AthenaOutputStream/StreamAODm"] StreamAODm = Algorithm( "StreamAODm" ) try: StreamAODm.Output = PoolAODOutput + ".AOD.root" except: StreamAODm.Output = "test.AOD.root" StreamAODm.EvtConversionSvc = "AthenaPoolCnvSvc" StreamAODm.ItemList = AOD_ItemList StreamAODm.ForceRead = TRUE; #force read of output data objs StreamAODm.ExtendProvenanceRecord = TRUE if doWriteTAG: cName = "StreamTAG" theApp.TopAlg += [ "RegistrationStream/"+cName ] StreamTAG = Algorithm( cName ) StreamTAG.CollectionType = "ExplicitROOT" StreamTAG.WriteInputDataHeader = True if doWriteAOD: StreamTAG.WriteInputDataHeader = False try: StreamTAG.OutputCollection = PoolAODOutput + ".TAG" except: StreamTAG.OutputCollection = "testTAG" StreamTAG.ItemList += [ "DataHeader#*" ] StreamTAG.ItemList += [ "AthenaAttributeList#SimpleTag" ]