Commit 8f4fa4a7 authored by Tadej Novak's avatar Tadej Novak Committed by Walter Lampl
Browse files

Make DoubleEventSelectorAthenaPool more flexible

parent 1d09369a
......@@ -93,17 +93,17 @@ athenapooltest_run_test( AthenaPoolTestRead AthenaPoolTestRead
# Write with DoubleEventSelector
athenapooltest_run_test( AthenaPoolTestWriteDoubleSelector AthenaPoolTestWriteDoubleSelector
"'^..DoubleEvent|^..AthenaPoolTest'"
"'^..DoubleEvent|^..SecondaryEvent|^..AthenaPoolTest'"
DEPENDS AthenaPoolTestRead)
athenapooltest_run_test( AthenaPoolTestReadDoubleSelector AthenaPoolTestReadDoubleSelector
"'^..DoubleEvent|^..AthenaPoolTest'"
"'^..DoubleEvent|^..SecondaryEvent|^..AthenaPoolTest'"
DEPENDS AthenaPoolTestWriteDoubleSelector )
# Add on test of navigation still using simple objects:
# AthenaPoolTestWrite - Step2 - rewrite part in another file
# DoubleEventSelector
athenapooltest_run_test( AthenaPoolTestStep2WriteDoubleSelector AthenaPoolTestStep2WriteDoubleSelector
"'^..DoubleEvent|^..AthenaPoolTest'"
"'^..DoubleEvent|^..SecondaryEvent|^..AthenaPoolTest'"
DEPENDS AthenaPoolTestReadDoubleSelector )
# normal EventSelector
athenapooltest_run_test( AthenaPoolTestStep2Write AthenaPoolTestStep2Write
......@@ -150,15 +150,15 @@ athenapooltest_run_test( LArCellContRead LArCellContReader_jobOptions
# Read two RDOs with the DoubleEventSelector
athenapooltest_run_test( ReadRDODoubleSelector ReadRDODoubleSelector
"'^..DoubleEvent|^..RDOReader'"
"'^..DoubleEvent|^..SecondaryEvent|^..RDOReader'"
DEPENDS LArCellContRead )
athenapooltest_run_test( ReadCombinedRDO ReadCombinedRDO
"'^..DoubleEvent|^..LArCellContFake|^..InDetRawDataFak'"
"'^..DoubleEvent|^..SecondaryEvent|^..LArCellContFake|^..InDetRawDataFak'"
DEPENDS ReadRDODoubleSelector )
# Test basic overlay algorithms with DoubleEventSelector
athenapooltest_run_test( DoubleEventSelectorOverlayTest DoubleEventSelectorOverlayTest
"'^..DoubleEvent|^..AthenaPoolAddr|^..Stream1|Found HelperTools'"
"'^..DoubleEvent|^..SecondaryEvent|^..AthenaPoolAddr|^..Stream1|Found HelperTools'"
DEPENDS ReadCombinedRDO )
# AthenaMT test for DoubleEventSelector
......
......@@ -33,8 +33,11 @@ import AthenaPoolCnvSvc.ReadAthenaPoolDouble
#--------------------------------------------------------------
# Add in DoubleEventSelector
svcMgr.DoubleEventSelector.PrimaryInputCollections = [ "SimplePoolFile1.root" ]
svcMgr.DoubleEventSelector.SecondaryaryInputCollections = [ "SimplePoolFile2.root" ]
svcMgr.DoubleEventSelector.InputCollections = [ "SimplePoolFile1.root" ]
svcMgr.SecondaryEventSelector.InputCollections = [ "SimplePoolFile2.root" ]
svcMgr.DoubleEventSelector.OutputLevel = DEBUG
svcMgr.SecondaryEventSelector.OutputLevel = DEBUG
#--------------------------------------------------------------
# Event related parameters
......@@ -57,7 +60,8 @@ AthenaPoolTestDataReader.OutputLevel = DEBUG
from AthenaServices import AthenaServicesConf
AthenaEventLoopMgr = AthenaServicesConf.AthenaEventLoopMgr()
AthenaEventLoopMgr.OutputLevel = DEBUG
AthenaEventLoopMgr.UseSecondaryEventNumber = True
svcMgr += AthenaEventLoopMgr
# Turn on the tree cache for the CollectionTree - tree cache only
# works for one tree. And set tree cache size - default is 10 MB (10 000 000)
......
Wed Dec 12 18:24:37 CET 2018
Wed Jan 8 09:39:53 CET 2020
Preloading tcmalloc_minimal.so
Py:Athena INFO including file "AthenaCommon/Preparation.py"
Py:Athena INFO using release [WorkDir-22.0.1] [x86_64-slc6-gcc8-opt] [private/private] -- built on [2018-12-12T1759]
Py:Athena INFO using release [WorkDir-22.0.9] [x86_64-centos7-gcc8-opt] [private/private] -- built on [2020-01-08T0739]
Py:Athena INFO including file "AthenaCommon/Atlas.UnixStandardJob.py"
Py:Athena INFO executing ROOT6Setup
Py:Athena INFO including file "AthenaCommon/Execution.py"
Py:Athena INFO including file "AthenaPoolTest/AthenaPoolTestReadDoubleSelector.py"
Py:ConfigurableDb INFO Read module info for 5441 configurables from 12 genConfDb files
Py:ConfigurableDb INFO Read module info for 5640 configurables from 11 genConfDb files
Py:ConfigurableDb INFO No duplicates have been found: that's good !
Py:Athena INFO including file "AthenaPoolTest/NoStats_jobOptions.py"
Py:Athena INFO including file "AthenaCommon/runbatch.py"
......@@ -14,10 +14,9 @@ ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to leve
ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0
ApplicationMgr SUCCESS
====================================================================================================================================
Welcome to ApplicationMgr (GaudiCoreSvc v30r5)
running on f9pc23.ijs.si on Wed Dec 12 18:24:47 2018
Welcome to ApplicationMgr (GaudiCoreSvc v33r0)
running on f9pc19.ijs.si on Wed Jan 8 09:40:01 2020
====================================================================================================================================
ApplicationMgr INFO Successfully loaded modules : AthenaServices
ApplicationMgr INFO Application Manager Configured successfully
ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0
StatusCodeSvc INFO initialize
......@@ -33,32 +32,52 @@ PoolSvc INFO Setting up APR FileCatalog and Streams
PoolSvc INFO POOL WriteCatalog is xmlcatalog_file:PoolFileCatalog.xml
DbSession INFO Open DbSession
Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All]
HistogramPersis...WARNING Histograms saving not required.
Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] 8E26BD0B-105F-BE41-8E42-4A0B601B9AFE
DoubleEventSele... DEBUG Property update for OutputLevel : new value = 2
DoubleEventSele... DEBUG Initializing DoubleEventSelector
DoubleEventSele... DEBUG Service base class initialized successfully
DoubleEventSele... DEBUG reinitialization...
DoubleEventSele... INFO EventSelection with query
DoubleEventSele... DEBUG Try item: "SimplePoolFile1.root" from the collection list.
Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] B58D9302-1502-8540-B168-7FB7BB275FE4
Domain[ROOT_All] INFO SimplePoolFile1.root
RootDatabase.open INFO SimplePoolFile1.root File version:61404
Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] 1FFC65D9-AE4E-7D4E-A39A-3BB6446745B4
RootDatabase.open INFO SimplePoolFile1.root File version:61800
SecondaryEventS... DEBUG Property update for OutputLevel : new value = 2
SecondaryEventS... DEBUG Initializing secondary event selector SecondaryEventSelector
SecondaryEventS... DEBUG Service base class initialized successfully
SecondaryEventS... DEBUG reinitialization...
SecondaryEventS... INFO EventSelection with query
SecondaryEventS... DEBUG Try item: "SimplePoolFile2.root" from the collection list.
Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] 90FEBA8A-F6A0-AE47-A743-0EE52AE4ADE9
Domain[ROOT_All] INFO SimplePoolFile2.root
RootDatabase.open INFO SimplePoolFile2.root File version:61404
RootDatabase.open INFO SimplePoolFile2.root File version:61800
ApplicationMgr INFO Application Manager Initialized successfully
SimplePoolFile1... INFO Database being retired...
Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] 8E26BD0B-105F-BE41-8E42-4A0B601B9AFE
SimplePoolFile2... INFO Database being retired...
Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] 1FFC65D9-AE4E-7D4E-A39A-3BB6446745B4
Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All]
DbSession INFO Open DbSession
Domain[ROOT_All] INFO > Access DbDomain READ [ROOT_All]
Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] 8E26BD0B-105F-BE41-8E42-4A0B601B9AFE
Domain[ROOT_All] INFO SimplePoolFile1.root
RootDatabase.open INFO SimplePoolFile1.root File version:61404
Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] 1FFC65D9-AE4E-7D4E-A39A-3BB6446745B4
Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] 90FEBA8A-F6A0-AE47-A743-0EE52AE4ADE9
SecondaryEventS... DEBUG Try item: "SimplePoolFile2.root" from the collection list.
Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] 90FEBA8A-F6A0-AE47-A743-0EE52AE4ADE9
Domain[ROOT_All] INFO SimplePoolFile2.root
RootDatabase.open INFO SimplePoolFile2.root File version:61404
RootDatabase.open INFO SimplePoolFile2.root File version:61800
SimplePoolFile1... INFO Database being retired...
Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] B58D9302-1502-8540-B168-7FB7BB275FE4
DoubleEventSele... DEBUG Try item: "SimplePoolFile1.root" from the collection list.
Domain[ROOT_All] INFO -> Access DbDatabase READ [ROOT_All] B58D9302-1502-8540-B168-7FB7BB275FE4
Domain[ROOT_All] INFO SimplePoolFile1.root
RootDatabase.open INFO SimplePoolFile1.root File version:61800
ApplicationMgr INFO Application Manager Started successfully
DoubleEventSele... DEBUG DoubleEventSelectorAthenaPool::next
PoolSvc INFO Database (SimplePoolFile1.root) attribute [TREE_CACHE_LEARN_EVENTS]: 6
PoolSvc INFO Database (SimplePoolFile1.root) attribute [TREE_CACHE_SIZE]: 100000
PoolSvc INFO Database (SimplePoolFile2.root) attribute [TREE_CACHE_LEARN_EVENTS]: 6
PoolSvc INFO Database (SimplePoolFile2.root) attribute [TREE_CACHE_SIZE]: 100000
DoubleEventSele... DEBUG DoubleEventSelectorAthenaPool::recordAttributeList
DoubleEventSele... DEBUG Get AttributeList from the collection
DoubleEventSele... DEBUG AttributeList size 0
DoubleEventSele... DEBUG record AthenaAttribute, name = Token = [DB=B58D9302-1502-8540-B168-7FB7BB275FE4][CNT=POOLContainer(DataHeader)][CLID=4DDBD295-EFCE-472A-9EC8-15CD35A9EB8D][TECH=00000203][OID=0000A2350000000A-0000000000000000].
DoubleEventSele... DEBUG Append secondary attribute list properties to the primary one with a suffix: secondary
DoubleEventSele... DEBUG record AthenaAttribute, name = Token_secondary = [DB=90FEBA8A-F6A0-AE47-A743-0EE52AE4ADE9][CNT=POOLContainer(DataHeader)][CLID=4DDBD295-EFCE-472A-9EC8-15CD35A9EB8D][TECH=00000203][OID=0000A2350000000C-0000000000000000].
DoubleEventSele... DEBUG record AthenaAttribute, name = eventRef_secondary = [DB=90FEBA8A-F6A0-AE47-A743-0EE52AE4ADE9][CNT=POOLContainer(DataHeader)][CLID=4DDBD295-EFCE-472A-9EC8-15CD35A9EB8D][TECH=00000203][OID=0000A2350000000C-0000000000000000].
DoubleEventSele... DEBUG record AthenaAttribute, name = eventRef = [DB=B58D9302-1502-8540-B168-7FB7BB275FE4][CNT=POOLContainer(DataHeader)][CLID=4DDBD295-EFCE-472A-9EC8-15CD35A9EB8D][TECH=00000203][OID=0000A2350000000A-0000000000000000].
DoubleEventSele... DEBUG found AthenaAttribute, name = eventRef = [DB=B58D9302-1502-8540-B168-7FB7BB275FE4][CNT=POOLContainer(DataHeader)][CLID=4DDBD295-EFCE-472A-9EC8-15CD35A9EB8D][TECH=00000203][OID=0000A2350000000A-0000000000000000]
AthenaPoolTestD... DEBUG Executing AthenaPoolTestDataReader
AthenaPoolTestD... DEBUG Collection of A's
AthenaPoolTestD... DEBUG Read: AthenaPoolTestA::printWhoYouAre A - a, b 1 2
......@@ -266,8 +285,18 @@ AthenaPoolTestD... DEBUG Event type: user type Overlaid
AthenaPoolTestD... DEBUG Trigger info: status 7 extLvl1ID 8 lvl1Type 9 lvl1Info 14 15 lvl2Info 10 11 EventFilterInfo 12 13 EventFilterInfo i 0 name StreamA type TypeA ObeyLumi 1 i 1 name StreamB type TypeB ObeyLumi 0
AthenaPoolTestD... DEBUG SubEventInfos
AthenaPoolTestD... DEBUG None found
PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20134
PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 25530
PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 19
DoubleEventSele... DEBUG DoubleEventSelectorAthenaPool::next
DoubleEventSele... DEBUG DoubleEventSelectorAthenaPool::recordAttributeList
DoubleEventSele... DEBUG Get AttributeList from the collection
DoubleEventSele... DEBUG AttributeList size 0
DoubleEventSele... DEBUG record AthenaAttribute, name = Token = [DB=B58D9302-1502-8540-B168-7FB7BB275FE4][CNT=POOLContainer(DataHeader)][CLID=4DDBD295-EFCE-472A-9EC8-15CD35A9EB8D][TECH=00000203][OID=0000A2350000000A-0000000000000001].
DoubleEventSele... DEBUG Append secondary attribute list properties to the primary one with a suffix: secondary
DoubleEventSele... DEBUG record AthenaAttribute, name = Token_secondary = [DB=90FEBA8A-F6A0-AE47-A743-0EE52AE4ADE9][CNT=POOLContainer(DataHeader)][CLID=4DDBD295-EFCE-472A-9EC8-15CD35A9EB8D][TECH=00000203][OID=0000A2350000000C-0000000000000001].
DoubleEventSele... DEBUG record AthenaAttribute, name = eventRef_secondary = [DB=90FEBA8A-F6A0-AE47-A743-0EE52AE4ADE9][CNT=POOLContainer(DataHeader)][CLID=4DDBD295-EFCE-472A-9EC8-15CD35A9EB8D][TECH=00000203][OID=0000A2350000000C-0000000000000001].
DoubleEventSele... DEBUG record AthenaAttribute, name = eventRef = [DB=B58D9302-1502-8540-B168-7FB7BB275FE4][CNT=POOLContainer(DataHeader)][CLID=4DDBD295-EFCE-472A-9EC8-15CD35A9EB8D][TECH=00000203][OID=0000A2350000000A-0000000000000001].
DoubleEventSele... DEBUG found AthenaAttribute, name = eventRef = [DB=B58D9302-1502-8540-B168-7FB7BB275FE4][CNT=POOLContainer(DataHeader)][CLID=4DDBD295-EFCE-472A-9EC8-15CD35A9EB8D][TECH=00000203][OID=0000A2350000000A-0000000000000001]
AthenaPoolTestD... DEBUG Executing AthenaPoolTestDataReader
AthenaPoolTestD... DEBUG Collection of A's
AthenaPoolTestD... DEBUG Read: AthenaPoolTestA::printWhoYouAre A - a, b 1 2
......@@ -475,12 +504,14 @@ AthenaPoolTestD... DEBUG Event type: user type Overlaid
AthenaPoolTestD... DEBUG Trigger info: status 7 extLvl1ID 8 lvl1Type 9 lvl1Info 14 15 lvl2Info 10 11 EventFilterInfo 12 13 EventFilterInfo i 0 name StreamA type TypeA ObeyLumi 1 i 1 name StreamB type TypeB ObeyLumi 0
AthenaPoolTestD... DEBUG SubEventInfos
AthenaPoolTestD... DEBUG None found
PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 20134
PoolSvc INFO Database (SimplePoolFile2.root) attribute [BYTES_READ]: 25530
PoolSvc INFO Database (SimplePoolFile2.root) attribute [READ_CALLS]: 19
DoubleEventSele... DEBUG DoubleEventSelectorAthenaPool::next
SimplePoolFile1... INFO Database being retired...
Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] 8E26BD0B-105F-BE41-8E42-4A0B601B9AFE
Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] B58D9302-1502-8540-B168-7FB7BB275FE4
DoubleEventSele... INFO Disconnecting input sourceID: B58D9302-1502-8540-B168-7FB7BB275FE4
SimplePoolFile2... INFO Database being retired...
Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] 1FFC65D9-AE4E-7D4E-A39A-3BB6446745B4
Domain[ROOT_All] INFO -> Deaccess DbDatabase READ [ROOT_All] 90FEBA8A-F6A0-AE47-A743-0EE52AE4ADE9
ApplicationMgr INFO Application Manager Stopped successfully
Domain[ROOT_All] INFO > Deaccess DbDomain READ [ROOT_All]
ApplicationMgr INFO Application Manager Finalized successfully
......
......@@ -35,8 +35,11 @@ import AthenaPoolCnvSvc.WriteAthenaPool
#--------------------------------------------------------------
# Add in DoubleEventSelector
svcMgr.DoubleEventSelector.PrimaryInputCollections = [ "SimplePoolFile1.root" ]
svcMgr.DoubleEventSelector.SecondaryaryInputCollections = [ "SimplePoolFile2.root" ]
svcMgr.DoubleEventSelector.InputCollections = [ "SimplePoolFile1.root" ]
svcMgr.SecondaryEventSelector.InputCollections = [ "SimplePoolFile2.root" ]
svcMgr.DoubleEventSelector.OutputLevel = DEBUG
svcMgr.SecondaryEventSelector.OutputLevel = DEBUG
#--------------------------------------------------------------
# JobOptions for the loading of the AthenaSealSvc
......@@ -105,6 +108,8 @@ AthenaPoolTestDataWriter.OutputLevel = DEBUG
from AthenaServices import AthenaServicesConf
AthenaEventLoopMgr = AthenaServicesConf.AthenaEventLoopMgr()
AthenaEventLoopMgr.OutputLevel = INFO
AthenaEventLoopMgr.UseSecondaryEventNumber = True
svcMgr += AthenaEventLoopMgr
# No stats printout
include( "AthenaPoolTest/NoStats_jobOptions.py" )
......
Wed Dec 12 18:25:28 CET 2018
Wed Jan 8 09:40:05 CET 2020
Preloading tcmalloc_minimal.so
Py:Athena INFO including file "AthenaCommon/Preparation.py"
Py:Athena INFO using release [WorkDir-22.0.1] [x86_64-slc6-gcc8-opt] [private/private] -- built on [2018-12-12T1759]
Py:Athena INFO using release [WorkDir-22.0.9] [x86_64-centos7-gcc8-opt] [private/private] -- built on [2020-01-08T0739]
Py:Athena INFO including file "AthenaCommon/Atlas.UnixStandardJob.py"
Py:Athena INFO executing ROOT6Setup
Py:Athena INFO including file "AthenaCommon/Execution.py"
Py:Athena INFO including file "AthenaPoolTest/AthenaPoolTestStep2WriteDoubleSelector.py"
Py:ConfigurableDb INFO Read module info for 5441 configurables from 12 genConfDb files
Py:ConfigurableDb INFO Read module info for 5640 configurables from 11 genConfDb files
Py:ConfigurableDb INFO No duplicates have been found: that's good !
Py:Athena INFO including file "EventAthenaPool/EventAthenaPoolItemList_joboptions.py"
Py:Athena INFO including file "AthenaPoolTestAthenaPool/AthenaPoolTestAthenaPoolItemList_joboptions.py"
......@@ -18,20 +18,47 @@ ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to leve
ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0
ApplicationMgr SUCCESS
====================================================================================================================================
Welcome to ApplicationMgr (GaudiCoreSvc v30r5)
running on f9pc23.ijs.si on Wed Dec 12 18:25:38 2018
Welcome to ApplicationMgr (GaudiCoreSvc v33r0)
running on f9pc19.ijs.si on Wed Jan 8 09:40:13 2020
====================================================================================================================================
ApplicationMgr INFO Successfully loaded modules : AthenaServices
ApplicationMgr INFO Application Manager Configured successfully
ApplicationMgr INFO Updating Gaudi::PluginService::SetDebug(level) to level= 'PluginDebugLevel':0
StatusCodeSvc INFO initialize
AthenaEventLoopMgr INFO Initializing AthenaEventLoopMgr - package version AthenaServices-00-00-00
AthenaPoolTestD... DEBUG Property update for OutputLevel : new value = 2
AthenaPoolTestD... DEBUG input handles: 0
AthenaPoolTestD... DEBUG output handles: 0
AthenaPoolTestD... DEBUG Data Deps for AthenaPoolTestDataWriter
HistogramPersis...WARNING Histograms saving not required.
DoubleEventSele... DEBUG Property update for OutputLevel : new value = 2
DoubleEventSele... DEBUG Initializing DoubleEventSelector
DoubleEventSele... DEBUG Service base class initialized successfully
DoubleEventSele... DEBUG reinitialization...
DoubleEventSele... INFO EventSelection with query
DoubleEventSele... DEBUG Try item: "SimplePoolFile1.root" from the collection list.
SecondaryEventS... DEBUG Property update for OutputLevel : new value = 2
SecondaryEventS... DEBUG Initializing secondary event selector SecondaryEventSelector
SecondaryEventS... DEBUG Service base class initialized successfully
SecondaryEventS... DEBUG reinitialization...
SecondaryEventS... INFO EventSelection with query
SecondaryEventS... DEBUG Try item: "SimplePoolFile2.root" from the collection list.
AthenaEventLoopMgr INFO Setup EventSelector service DoubleEventSelector
AthenaEventLoopMgr INFO Using secondary event number.
ApplicationMgr INFO Application Manager Initialized successfully
SecondaryEventS... DEBUG Try item: "SimplePoolFile2.root" from the collection list.
DoubleEventSele... DEBUG Try item: "SimplePoolFile1.root" from the collection list.
ApplicationMgr INFO Application Manager Started successfully
DoubleEventSele... DEBUG DoubleEventSelectorAthenaPool::next
DoubleEventSele... DEBUG DoubleEventSelectorAthenaPool::recordAttributeList
DoubleEventSele... DEBUG Get AttributeList from the collection
DoubleEventSele... DEBUG AttributeList size 0
DoubleEventSele... DEBUG record AthenaAttribute, name = Token = [DB=B58D9302-1502-8540-B168-7FB7BB275FE4][CNT=POOLContainer(DataHeader)][CLID=4DDBD295-EFCE-472A-9EC8-15CD35A9EB8D][TECH=00000203][OID=0000A2350000000A-0000000000000000].
DoubleEventSele... DEBUG Append secondary attribute list properties to the primary one with a suffix: secondary
DoubleEventSele... DEBUG record AthenaAttribute, name = Token_secondary = [DB=90FEBA8A-F6A0-AE47-A743-0EE52AE4ADE9][CNT=POOLContainer(DataHeader)][CLID=4DDBD295-EFCE-472A-9EC8-15CD35A9EB8D][TECH=00000203][OID=0000A2350000000C-0000000000000000].
DoubleEventSele... DEBUG record AthenaAttribute, name = eventRef_secondary = [DB=90FEBA8A-F6A0-AE47-A743-0EE52AE4ADE9][CNT=POOLContainer(DataHeader)][CLID=4DDBD295-EFCE-472A-9EC8-15CD35A9EB8D][TECH=00000203][OID=0000A2350000000C-0000000000000000].
DoubleEventSele... DEBUG record AthenaAttribute, name = eventRef = [DB=B58D9302-1502-8540-B168-7FB7BB275FE4][CNT=POOLContainer(DataHeader)][CLID=4DDBD295-EFCE-472A-9EC8-15CD35A9EB8D][TECH=00000203][OID=0000A2350000000A-0000000000000000].
DoubleEventSele... DEBUG found AthenaAttribute, name = eventRef = [DB=B58D9302-1502-8540-B168-7FB7BB275FE4][CNT=POOLContainer(DataHeader)][CLID=4DDBD295-EFCE-472A-9EC8-15CD35A9EB8D][TECH=00000203][OID=0000A2350000000A-0000000000000000]
AthenaEventLoopMgr INFO ===>>> start of run 1 <<<===
AthenaEventLoopMgr INFO ===>>> start processing event #4294967296, run #1 0 events processed so far <<<===
AthenaPoolTestD... DEBUG Executing AthenaPoolTestDataWriter
AthenaPoolTestD... DEBUG Collection of A's
AthenaPoolTestD... DEBUG AthenaPoolTestA::printWhoYouAre A - a, b 1 2
......@@ -271,6 +298,18 @@ AthenaPoolTestD... DEBUG Time, index 25 0
AthenaPoolTestD... DEBUG Event ID: [1,4294967296:0]
AthenaPoolTestD... DEBUG Event type: user type McEvent
AthenaPoolTestD... DEBUG Pileup time, index type 25 0
AthenaEventLoopMgr INFO ===>>> done processing event #4294967296, run #1 1 events processed so far <<<===
DoubleEventSele... DEBUG DoubleEventSelectorAthenaPool::next
DoubleEventSele... DEBUG DoubleEventSelectorAthenaPool::recordAttributeList
DoubleEventSele... DEBUG Get AttributeList from the collection
DoubleEventSele... DEBUG AttributeList size 0
DoubleEventSele... DEBUG record AthenaAttribute, name = Token = [DB=B58D9302-1502-8540-B168-7FB7BB275FE4][CNT=POOLContainer(DataHeader)][CLID=4DDBD295-EFCE-472A-9EC8-15CD35A9EB8D][TECH=00000203][OID=0000A2350000000A-0000000000000001].
DoubleEventSele... DEBUG Append secondary attribute list properties to the primary one with a suffix: secondary
DoubleEventSele... DEBUG record AthenaAttribute, name = Token_secondary = [DB=90FEBA8A-F6A0-AE47-A743-0EE52AE4ADE9][CNT=POOLContainer(DataHeader)][CLID=4DDBD295-EFCE-472A-9EC8-15CD35A9EB8D][TECH=00000203][OID=0000A2350000000C-0000000000000001].
DoubleEventSele... DEBUG record AthenaAttribute, name = eventRef_secondary = [DB=90FEBA8A-F6A0-AE47-A743-0EE52AE4ADE9][CNT=POOLContainer(DataHeader)][CLID=4DDBD295-EFCE-472A-9EC8-15CD35A9EB8D][TECH=00000203][OID=0000A2350000000C-0000000000000001].
DoubleEventSele... DEBUG record AthenaAttribute, name = eventRef = [DB=B58D9302-1502-8540-B168-7FB7BB275FE4][CNT=POOLContainer(DataHeader)][CLID=4DDBD295-EFCE-472A-9EC8-15CD35A9EB8D][TECH=00000203][OID=0000A2350000000A-0000000000000001].
DoubleEventSele... DEBUG found AthenaAttribute, name = eventRef = [DB=B58D9302-1502-8540-B168-7FB7BB275FE4][CNT=POOLContainer(DataHeader)][CLID=4DDBD295-EFCE-472A-9EC8-15CD35A9EB8D][TECH=00000203][OID=0000A2350000000A-0000000000000001]
AthenaEventLoopMgr INFO ===>>> start processing event #4294967297, run #1 1 events processed so far <<<===
AthenaPoolTestD... DEBUG Executing AthenaPoolTestDataWriter
AthenaPoolTestD... DEBUG Collection of A's
AthenaPoolTestD... DEBUG AthenaPoolTestA::printWhoYouAre A - a, b 1 2
......@@ -510,6 +549,10 @@ AthenaPoolTestD... DEBUG Time, index 25 0
AthenaPoolTestD... DEBUG Event ID: [1,4294967297:5]
AthenaPoolTestD... DEBUG Event type: user type McEvent
AthenaPoolTestD... DEBUG Pileup time, index type 25 0
AthenaEventLoopMgr INFO ===>>> done processing event #4294967297, run #1 2 events processed so far <<<===
DoubleEventSele... DEBUG DoubleEventSelectorAthenaPool::next
DoubleEventSele... INFO Disconnecting input sourceID: B58D9302-1502-8540-B168-7FB7BB275FE4
AthenaEventLoopMgr INFO No more events in event selection
ApplicationMgr INFO Application Manager Stopped successfully
ApplicationMgr INFO Application Manager Finalized successfully
ApplicationMgr INFO Application Manager Terminated successfully
......
......@@ -31,7 +31,6 @@ import AthenaPoolCnvSvc.ReadAthenaPoolDouble
#--------------------------------------------------------------
# Set flags and load det descr
#--------------------------------------------------------------
from AthenaCommon.GlobalFlags import globalflags
from RecExConfig.RecFlags import rec
from OverlayCommonAlgs.OverlayFlags import overlayFlags
......@@ -46,10 +45,12 @@ DetDescrVersion = "ATLAS-R2-2016-01-00-01"
#--------------------------------------------------------------
# Input options
#--------------------------------------------------------------
import os
data_dir = os.environ.get ('ATLAS_REFERENCE_DATA', '/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art')
svcMgr.DoubleEventSelector.PrimaryInputCollections = [ data_dir + "/OverlayMonitoringRTT/PileupPremixing/22.0/RDO.merged-pileup-MT.unittest.pool.root" ]
svcMgr.DoubleEventSelector.SecondaryaryInputCollections = [ data_dir + "/OverlayMonitoringRTT/valid1.410000.PowhegPythiaEvtGen_P2012_ttbar_hdamp172p5_nonallhad.simul.HITS.e4993_s3091/HITS.10504490._000765.pool.root.1" ]
svcMgr.DoubleEventSelector.InputCollections = [ data_dir + "/OverlayMonitoringRTT/PileupPremixing/22.0/RDO.merged-pileup-MT.unittest.pool.root" ]
svcMgr.DoubleEventSelector.OutputLevel = DEBUG
svcMgr.SecondaryEventSelector.InputCollections = [ data_dir + "/OverlayMonitoringRTT/valid1.410000.PowhegPythiaEvtGen_P2012_ttbar_hdamp172p5_nonallhad.simul.HITS.e4993_s3091/HITS.10504490._000765.pool.root.1" ]
svcMgr.SecondaryEventSelector.OutputLevel = DEBUG
#--------------------------------------------------------------
# Remapping Service
......
......@@ -59,8 +59,11 @@ conddb.setGlobalTag("OFLCOND-SDR-BS7T-04-00")
#--------------------------------------------------------------
# Add in DoubleEventSelector
svcMgr.DoubleEventSelector.PrimaryInputCollections = [ "LArRDO.root" ]
svcMgr.DoubleEventSelector.SecondaryaryInputCollections = [ "InDetRDO.root" ]
svcMgr.DoubleEventSelector.InputCollections = [ "LArRDO.root" ]
svcMgr.SecondaryEventSelector.InputCollections = [ "InDetRDO.root" ]
svcMgr.DoubleEventSelector.OutputLevel = DEBUG
svcMgr.SecondaryEventSelector.OutputLevel = DEBUG
#--------------------------------------------------------------
# Event related parameters
......@@ -108,6 +111,8 @@ svcMgr.MessageSvc.debugLimit = 100000
from AthenaServices import AthenaServicesConf
AthenaEventLoopMgr = AthenaServicesConf.AthenaEventLoopMgr()
AthenaEventLoopMgr.OutputLevel = INFO
AthenaEventLoopMgr.UseSecondaryEventNumber = True
svcMgr += AthenaEventLoopMgr
# No stats printout
include( "AthenaPoolTest/NoStats_jobOptions.py" )
......
......@@ -69,7 +69,7 @@ select=$2
egrep -a -v 'package version' |\
# spurious warning for EventSelector
egrep -a -v 'Service already offline' |\
egrep -a -v 'Property update|input handles|output handles|Data Deps|in queryInterface|Default to ConversionSvc|entering handle|DEBUG Event type:|handle: Event type:' |\
egrep -a -v 'Property update|input handles|output handles|Data Deps|in queryInterface|Default to ConversionSvc|entering handle|DEBUG Event type:|handle: Event type:|Disconnecting input sourceID' |\
# Must remove excess print for CaloShowerContainer
egrep -a -v 'CaloShowerContainer' |\
# Destructor can be called at different times.
......
// dear emacs, this is -*- C++ -*-
/*
Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
*/
#ifndef ATHENAKERNEL_ATHENAKERNELDICT_H
......@@ -20,6 +20,7 @@
#include "AthenaKernel/errorcheck.h"
#include "AthenaKernel/ICutFlowSvc.h"
#include "AthenaKernel/BaseInfo.h"
#include "AthenaKernel/ISecondaryEventSelector.h"
#include "AthenaKernel/DsoDb.h"
#include "AthenaKernel/AthDsoUtils.h"
......
/*
Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
*/
/**
* @file ISecondaryEventSelector.h
* @author Tadej Novak <tadej@cern.ch>
* @brief Abstract interface for secondary event selectors
*/
#ifndef ATHENAKERNEL_ISECONDARYEVENTSELECTOR_H
#define ATHENAKERNEL_ISECONDARYEVENTSELECTOR_H
#include <GaudiKernel/IEvtSelector.h>
#include <AthenaKernel/IEvtSelectorSeek.h>
#include <AthenaKernel/SourceID.h>
namespace coral
{
class AttributeList;
}
/**
* @class ISecondaryEventSelector
* @brief Abstract interface for secondary event selectors
*/
class ISecondaryEventSelector : virtual public extend_interfaces<IEvtSelector, IEvtSelectorSeek>
{
public:
DeclareInterfaceID(ISecondaryEventSelector, 1, 0);
/// Handle file transition at the next iteration
virtual StatusCode nextHandleFileTransition(IEvtSelector::Context& ctxt) const = 0;
/// Sync event count
virtual void syncEventCount(int count) const = 0;
/// Record AttributeList in StoreGate
virtual StatusCode recordAttributeList() const = 0;
/// Fill AttributeList with specific items from the selector and a suffix
virtual StatusCode fillAttributeList(coral::AttributeList *attrList, const std::string &suffix, bool copySource) const = 0;
// Disconnect DB if all events from the source FID were processed and the Selector moved to another file
virtual bool disconnectIfFinished(SG::SourceID fid) const = 0;
};
#endif // ATHENAKERNEL_ISECONDARYEVENTSELECTOR_H
......@@ -10,6 +10,7 @@
<class name="IAthenaSummarySvc"/>
<class name="errorcheck::ReportMessage"/>
<class name="ICutFlowSvc"/>
<class name="ISecondaryEventSelector"/>
<class name="ITPCnvSvc" />
<class name="ITPCnvBase" />
......
# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
from AthenaConfiguration.ComponentFactory import CompFactory
......@@ -46,9 +46,13 @@ def PoolReadCfg(configFlags):
apapsSecondary.getFullJobOptName()
])) #No service handle yet???
evSel=DoubleEventSelectorAthenaPool("DoubleEventSelector",
PrimaryInputCollections = filenames,
SecondaryaryInputCollections = filenamesSecondary)
secondarySel = EventSelectorAthenaPool("SecondaryEventSelector",
IsSecondary=True,
InputCollections=filenamesSecondary)
result.addService(secondarySel)
evSel = DoubleEventSelectorAthenaPool("DoubleEventSelector",
InputCollections=filenames)
else:
# We have only primary inputs
apaps=AthenaPoolAddressProviderSvc()
......
# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
## @file ReadAthena.py
## @brief AthenaPool python module for reading event objects.
......@@ -49,6 +49,7 @@ def _configureReadAthenaPoolDouble():
svcMgr.ToolSvc += CfgMgr.IOVDbMetaDataTool()
# Add in EventSelector
svcMgr += CfgMgr.EventSelectorAthenaPool("SecondaryEventSelector", IsSecondary=True)
svcMgr += CfgMgr.DoubleEventSelectorAthenaPool("DoubleEventSelector")
theApp.EvtSel = "DoubleEventSelectorAthenaPool/DoubleEventSelector"
......
/*
Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
*/
#ifndef DOUBLEEVENTSELECTORATHENAPOOL_H
#define DOUBLEEVENTSELECTORATHENAPOOL_H
/** @file DoubleEventSelectorAthenaPool.h
* @brief This file contains the class definition for the DoubleEventSelectorAthenaPool class.
* @author Peter van Gemmeren <gemmeren -at- anl.gov>
* @author John Detek Chapman <chapman -at- hep.phy.cam.ac.uk>
* @author Miha Muskinja <miha.muskinja -at- cern.ch>
/**
* @file DoubleEventSelectorAthenaPool.h
* @brief This file contains the class definition for the DoubleEventSelectorAthenaPool class.
* @author Peter van Gemmeren <gemmeren -at- anl.gov>
* @author John Detek Chapman <chapman -at- hep.phy.cam.ac.uk>
* @author Miha Muskinja <miha.muskinja -at- cern.ch>
* @author Tadej Novak <tadej -at- cern.ch>
**/
#include "GaudiKernel/IEvtSelector.h"
#include "GaudiKernel/IIoComponent.h"
#include "GaudiKernel/IIncidentListener.h"
#include "GaudiKernel/ServiceHandle.h"
#include "GaudiKernel/ToolHandle.h"
#include "PersistentDataModel/Guid.h"
#include "EventSelectorAthenaPool.h"
#include "AthenaKernel/IAthenaSelectorTool.h"
#include "AthenaKernel/IEvtSelectorSeek.h"
#include "AthenaKernel/IEventShare.h"
#include "AthenaBaseComps/AthService.h"
#include "AthenaKernel/ISecondaryEventSelector.h"
#include <map>
// Forward declarations
namespace pool {
class ICollectionCursor;
}
class IIncidentSvc;
class IOpaqueAddress;
class ISvcLocator;
class EventContextAthenaPool;
class PoolCollectionConverter;
class IAthenaIPCTool;
class ActiveStoreSvc;
class StoreGateSvc;
class IAthenaPoolCnvSvc;
class IIoComponentMgr;
/** @class DoubleEventSelectorAthenaPool
* @brief This class is the EventSelector for event data.
/**
* @class DoubleEventSelectorAthenaPool
* @brief This class is the EventSelector for event data.
**/
class DoubleEventSelectorAthenaPool :
//public extends<AthService, IEvtSelector, IEvtSelectorSeek, IEventShare, IIoComponent, IIncidentListener> {
public ::AthService,
virtual public IEvtSelector,
virtual public IEvtSelectorSeek,
virtual public IEventShare,
virtual public IIoComponent,
virtual public IIncidentListener
class DoubleEventSelectorAthenaPool : public EventSelectorAthenaPool
{
public: // Constructor and Destructor
public:
/// Standard Service Constructor
DoubleEventSelectorAthenaPool(const std::string& name, ISvcLocator* pSvcLocator);
/// Destructor
virtual ~DoubleEventSelectorAthenaPool();
/// Required of all Gaudi Services
/// Initialize function
virtual StatusCode initialize() override;
virtual StatusCode start() override;
virtual StatusCode stop() override;
virtual StatusCode finalize() override;
/// Does this object satisfy a given interface? See Gaudi documentation for details.
virtual StatusCode queryInterface(const InterfaceID& riid, void** ppvInterface) override;
virtual StatusCode createContext(IEvtSelector::Context*& ctxt) const override;
//-------------------------------------------------
// IEventSelector
/// @param ctxt [IN/OUT] current event context is interated to next event.
virtual StatusCode next(IEvtSelector::Context& ctxt) const override;
/// @param ctxt [IN/OUT] current event context is interated to next event.
/// @param jump [IN] number of events to jump (currently not supported).
virtual StatusCode next(IEvtSelector::Context& ctxt, int jump) const override;
/// @param ctxt [IN/OUT] current event context is interated to previous event.
virtual StatusCode previous(IEvtSelector::Context& ctxt) const override;