diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/CMakeLists.txt b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/CMakeLists.txt index c0869686e13d8d77691068c47db1548bc47eb3cc..983950c19217d0144f36496538456df0387c7b3d 100644 --- a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/CMakeLists.txt +++ b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/CMakeLists.txt @@ -67,9 +67,15 @@ athenapoolmultitest_run_test( AthenaPoolMultiTestEventSplitDecision EventSplitDe athenapoolmultitest_run_test( AthenaPoolMultiTestEventNoSplit EventNoSplit_jo post_check_es DEPENDS AthenaPoolMultiTestBuildInput ) +athenapoolmultitest_run_test( AthenaPoolMultiTestPropagate DecisionPropagation_jo + post_check_p + DEPENDS AthenaPoolMultiTestEventSplitDecision ) athenapoolmultitest_run_test( AthenaPoolMultiTestStreamSelect CheckStreamSelector_jo post_check_ss - DEPENDS AthenaPoolMultiTestEventNoSplit ) + DEPENDS AthenaPoolMultiTestEventSplitDecision ) +athenapoolmultitest_run_test( AthenaPoolMultiTestPropagateSelect CheckStreamPropagate_jo + post_check_ss + DEPENDS AthenaPoolMultiTestPropagate ) #athenapoolmultitest_run_test( AthenaPoolMultiTestCheckNull CheckNull_jo # post_check_cn # DEPENDS AthenaPoolMultiTestEventSplit ) diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestPropagate.ref b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestPropagate.ref new file mode 100644 index 0000000000000000000000000000000000000000..0b703c702c847f2d28d7bdcb3ac598adf589e96d --- /dev/null +++ b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestPropagate.ref @@ -0,0 +1,13 @@ +Py:Athena INFO including file "AthenaPoolMultiTest/ExampleStreamConfig.py" +PoolSvc INFO Setting up APR FileCatalog and Streams +DecisionSvc INFO Inserting stream: StreamAllP with no Algs +OutputStreamSeq... INFO Initializing OutputStreamSequencerSvc - package version AthenaServices-00-00-00 +StreamAllP.Stre... INFO Initializing StreamAllP.StreamAllPTool - package version AthenaServices-00-00-00 +StreamAllP.Stre... INFO Initializing StreamAllP.StreamAllP_MakeEventStreamInfo - package version OutputStreamAthenaPool-00-00-00 +StreamAllP INFO Found HelperTools = PrivateToolHandleArray(['MakeEventStreamInfo/StreamAllP_MakeEventStreamInfo']) +StreamAllP INFO Data output: AthenaPoolMultiTest_Propagate.root +StreamAllP INFO I/O reinitialization... +StorageSvc INFO EventStreamInfo_p3 [11DF1B8C-0DEE-4687-80D7-E74B520ACBB4] +StreamAllP INFO Records written: 21 +ItemListSvc DEBUG STREAM StreamAllP has (7) items +ItemListSvc DEBUG - EventStreamInfo_StreamAllP diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestPropagateSelect.ref b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestPropagateSelect.ref new file mode 100644 index 0000000000000000000000000000000000000000..9ce5037483694fd1e2f7166f84f766a91b174966 --- /dev/null +++ b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/AthenaPoolMultiTestPropagateSelect.ref @@ -0,0 +1,445 @@ +ReadData INFO in initialize() +EventSelector.S... DEBUG Property update for OutputLevel : new value = 2 +EventSelector.S... DEBUG Property update for OutputLevel : new value = 2 +EventSelector.S... DEBUG Property update for OutputLevel : new value = 2 +EventSelector INFO reinitialization... +EventSelector.S... DEBUG ... postInitialize +EventSelector.S... DEBUG ... postInitialize +EventSelector.S... DEBUG ... postInitialize +EventSelector INFO EventSelection with query +AthenaEventLoopMgr INFO Setup EventSelector service EventSelector +EventSelector.S... INFO StreamSelectorTool::postNext +EventSelector.S... DEBUG Found attribute list +EventSelector.S... DEBUG EventSelector.Selector1: For 'SelectedStream':Stream1 cutflow events = 1 +EventSelector.S... INFO StreamSelectorTool::postNext +EventSelector.S... DEBUG Found attribute list +EventSelector.S... DEBUG EventSelector.Selector2: For 'SelectedStream':Stream1 cutflow events = 1 +EventSelector.S... INFO StreamSelectorTool::postNext +EventSelector.S... DEBUG Found attribute list +EventSelector.S... ERROR Stream decision for 'SelectedStream':StreamX does not exist in input +EventSelector.S... DEBUG EventSelector.SelectorX: For 'SelectedStream':StreamX cutflow events = 0 +ReadData INFO EventStreamInfo: Number of events = 20 +ReadData INFO EventStreamInfo: ItemList: +ReadData INFO CLID = 2101, key = McEventInfo +ReadData INFO CLID = 9102, key = MyHits +ReadData INFO CLID = 1287802, key = ExcludeTestTrigMap +ReadData INFO CLID = 1287802, key = MultiTestTrigMap +ReadData INFO CLID = 38853911, key = EventInfoAux. +ReadData INFO CLID = 45903698, key = EventInfo +ReadData INFO CLID = 222376821, key = StreamAllP +ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics +ReadData INFO TagInfo: +ReadData INFO EventInfo event: 0 run: 0 +ReadData INFO Get Smart data ptr 1 +ReadData INFO Could not find ExampleTrackContainer/MyTracks +ReadData INFO Hit x = 1.2 y = -2.3 z = 226.6 detector = DummyHitDetector +ReadData INFO Hit x = 4.4 y = -8.0 z = 94.7 detector = DummyHitDetector +ReadData INFO Hit x = 7.6 y = -13.7 z = 70.2 detector = DummyHitDetector +ReadData INFO Hit x = 10.8 y = -19.3 z = 59.9 detector = DummyHitDetector +ReadData INFO Hit x = 14.0 y = -25.0 z = 54.2 detector = DummyHitDetector +ReadData INFO Hit x = 17.2 y = -30.7 z = 50.6 detector = DummyHitDetector +ReadData INFO Hit x = 20.4 y = -36.4 z = 48.1 detector = DummyHitDetector +ReadData INFO Hit x = 23.7 y = -42.0 z = 46.3 detector = DummyHitDetector +ReadData INFO Hit x = 26.9 y = -47.7 z = 44.9 detector = DummyHitDetector +ReadData INFO Hit x = 30.1 y = -53.4 z = 43.8 detector = DummyHitDetector +EventSelector.S... INFO StreamSelectorTool::postNext +EventSelector.S... DEBUG Found attribute list +EventSelector.S... INFO Rejecting event +EventSelector.S... DEBUG EventSelector.Selector1: For 'SelectedStream':Stream1 cutflow events = 1 +EventSelector INFO Request skipping event from: EventSelector.Selector1 +EventSelector.S... INFO StreamSelectorTool::postNext +EventSelector.S... DEBUG Found attribute list +EventSelector.S... INFO Rejecting event +EventSelector.S... DEBUG EventSelector.Selector2: For 'SelectedStream':Stream1 cutflow events = 1 +EventSelector INFO Request skipping event from: EventSelector.Selector2 +EventSelector.S... INFO StreamSelectorTool::postNext +EventSelector.S... DEBUG Found attribute list +EventSelector.S... ERROR Stream decision for 'SelectedStream':StreamX does not exist in input +EventSelector.S... DEBUG EventSelector.SelectorX: For 'SelectedStream':StreamX cutflow events = 0 +EventSelector INFO skipping event 2 +EventSelector.S... INFO StreamSelectorTool::postNext +EventSelector.S... DEBUG Found attribute list +EventSelector.S... INFO Rejecting event +EventSelector.S... DEBUG EventSelector.Selector1: For 'SelectedStream':Stream1 cutflow events = 1 +EventSelector INFO Request skipping event from: EventSelector.Selector1 +EventSelector.S... INFO StreamSelectorTool::postNext +EventSelector.S... DEBUG Found attribute list +EventSelector.S... INFO Rejecting event +EventSelector.S... DEBUG EventSelector.Selector2: For 'SelectedStream':Stream1 cutflow events = 1 +EventSelector INFO Request skipping event from: EventSelector.Selector2 +EventSelector.S... INFO StreamSelectorTool::postNext +EventSelector.S... DEBUG Found attribute list +EventSelector.S... ERROR Stream decision for 'SelectedStream':StreamX does not exist in input +EventSelector.S... DEBUG EventSelector.SelectorX: For 'SelectedStream':StreamX cutflow events = 0 +EventSelector INFO skipping event 3 +EventSelector.S... INFO StreamSelectorTool::postNext +EventSelector.S... DEBUG Found attribute list +EventSelector.S... INFO Rejecting event +EventSelector.S... DEBUG EventSelector.Selector1: For 'SelectedStream':Stream1 cutflow events = 1 +EventSelector INFO Request skipping event from: EventSelector.Selector1 +EventSelector.S... INFO StreamSelectorTool::postNext +EventSelector.S... DEBUG Found attribute list +EventSelector.S... INFO Rejecting event +EventSelector.S... DEBUG EventSelector.Selector2: For 'SelectedStream':Stream1 cutflow events = 1 +EventSelector INFO Request skipping event from: EventSelector.Selector2 +EventSelector.S... INFO StreamSelectorTool::postNext +EventSelector.S... DEBUG Found attribute list +EventSelector.S... ERROR Stream decision for 'SelectedStream':StreamX does not exist in input +EventSelector.S... DEBUG EventSelector.SelectorX: For 'SelectedStream':StreamX cutflow events = 0 +EventSelector INFO skipping event 4 +EventSelector.S... INFO StreamSelectorTool::postNext +EventSelector.S... DEBUG Found attribute list +EventSelector.S... INFO Rejecting event +EventSelector.S... DEBUG EventSelector.Selector1: For 'SelectedStream':Stream1 cutflow events = 1 +EventSelector INFO Request skipping event from: EventSelector.Selector1 +EventSelector.S... INFO StreamSelectorTool::postNext +EventSelector.S... DEBUG Found attribute list +EventSelector.S... INFO Rejecting event +EventSelector.S... DEBUG EventSelector.Selector2: For 'SelectedStream':Stream1 cutflow events = 1 +EventSelector INFO Request skipping event from: EventSelector.Selector2 +EventSelector.S... INFO StreamSelectorTool::postNext +EventSelector.S... DEBUG Found attribute list +EventSelector.S... ERROR Stream decision for 'SelectedStream':StreamX does not exist in input +EventSelector.S... DEBUG EventSelector.SelectorX: For 'SelectedStream':StreamX cutflow events = 0 +EventSelector INFO skipping event 5 +EventSelector.S... INFO StreamSelectorTool::postNext +EventSelector.S... DEBUG Found attribute list +EventSelector.S... INFO Rejecting event +EventSelector.S... DEBUG EventSelector.Selector1: For 'SelectedStream':Stream1 cutflow events = 1 +EventSelector INFO Request skipping event from: EventSelector.Selector1 +EventSelector.S... INFO StreamSelectorTool::postNext +EventSelector.S... DEBUG Found attribute list +EventSelector.S... INFO Rejecting event +EventSelector.S... DEBUG EventSelector.Selector2: For 'SelectedStream':Stream1 cutflow events = 1 +EventSelector INFO Request skipping event from: EventSelector.Selector2 +EventSelector.S... INFO StreamSelectorTool::postNext +EventSelector.S... DEBUG Found attribute list +EventSelector.S... ERROR Stream decision for 'SelectedStream':StreamX does not exist in input +EventSelector.S... DEBUG EventSelector.SelectorX: For 'SelectedStream':StreamX cutflow events = 0 +EventSelector INFO skipping event 6 +EventSelector.S... INFO StreamSelectorTool::postNext +EventSelector.S... DEBUG Found attribute list +EventSelector.S... DEBUG EventSelector.Selector1: For 'SelectedStream':Stream1 cutflow events = 2 +EventSelector.S... INFO StreamSelectorTool::postNext +EventSelector.S... DEBUG Found attribute list +EventSelector.S... DEBUG EventSelector.Selector2: For 'SelectedStream':Stream1 cutflow events = 2 +EventSelector.S... INFO StreamSelectorTool::postNext +EventSelector.S... DEBUG Found attribute list +EventSelector.S... ERROR Stream decision for 'SelectedStream':StreamX does not exist in input +EventSelector.S... DEBUG EventSelector.SelectorX: For 'SelectedStream':StreamX cutflow events = 0 +ReadData INFO EventStreamInfo: Number of events = 20 +ReadData INFO EventStreamInfo: ItemList: +ReadData INFO CLID = 2101, key = McEventInfo +ReadData INFO CLID = 9102, key = MyHits +ReadData INFO CLID = 1287802, key = ExcludeTestTrigMap +ReadData INFO CLID = 1287802, key = MultiTestTrigMap +ReadData INFO CLID = 38853911, key = EventInfoAux. +ReadData INFO CLID = 45903698, key = EventInfo +ReadData INFO CLID = 222376821, key = StreamAllP +ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics +ReadData INFO TagInfo: +ReadData INFO EventInfo event: 6 run: 0 +ReadData INFO Get Smart data ptr 1 +ReadData INFO Could not find ExampleTrackContainer/MyTracks +ReadData INFO Hit x = 601.2 y = -2.3 z = -373.3 detector = DummyHitDetector +ReadData INFO Hit x = 604.4 y = -8.0 z = -505.2 detector = DummyHitDetector +ReadData INFO Hit x = 607.6 y = -13.7 z = -529.7 detector = DummyHitDetector +ReadData INFO Hit x = 610.8 y = -19.3 z = -540.0 detector = DummyHitDetector +ReadData INFO Hit x = 614.0 y = -25.0 z = -545.7 detector = DummyHitDetector +ReadData INFO Hit x = 617.2 y = -30.7 z = -549.3 detector = DummyHitDetector +ReadData INFO Hit x = 620.4 y = -36.4 z = -551.8 detector = DummyHitDetector +ReadData INFO Hit x = 623.7 y = -42.0 z = -553.6 detector = DummyHitDetector +ReadData INFO Hit x = 626.9 y = -47.7 z = -555.0 detector = DummyHitDetector +ReadData INFO Hit x = 630.1 y = -53.4 z = -556.1 detector = DummyHitDetector +EventSelector.S... INFO StreamSelectorTool::postNext +EventSelector.S... DEBUG Found attribute list +EventSelector.S... INFO Rejecting event +EventSelector.S... DEBUG EventSelector.Selector1: For 'SelectedStream':Stream1 cutflow events = 2 +EventSelector INFO Request skipping event from: EventSelector.Selector1 +EventSelector.S... INFO StreamSelectorTool::postNext +EventSelector.S... DEBUG Found attribute list +EventSelector.S... INFO Rejecting event +EventSelector.S... DEBUG EventSelector.Selector2: For 'SelectedStream':Stream1 cutflow events = 2 +EventSelector INFO Request skipping event from: EventSelector.Selector2 +EventSelector.S... INFO StreamSelectorTool::postNext +EventSelector.S... DEBUG Found attribute list +EventSelector.S... ERROR Stream decision for 'SelectedStream':StreamX does not exist in input +EventSelector.S... DEBUG EventSelector.SelectorX: For 'SelectedStream':StreamX cutflow events = 0 +EventSelector INFO skipping event 8 +EventSelector.S... INFO StreamSelectorTool::postNext +EventSelector.S... DEBUG Found attribute list +EventSelector.S... INFO Rejecting event +EventSelector.S... DEBUG EventSelector.Selector1: For 'SelectedStream':Stream1 cutflow events = 2 +EventSelector INFO Request skipping event from: EventSelector.Selector1 +EventSelector.S... INFO StreamSelectorTool::postNext +EventSelector.S... DEBUG Found attribute list +EventSelector.S... INFO Rejecting event +EventSelector.S... DEBUG EventSelector.Selector2: For 'SelectedStream':Stream1 cutflow events = 2 +EventSelector INFO Request skipping event from: EventSelector.Selector2 +EventSelector.S... INFO StreamSelectorTool::postNext +EventSelector.S... DEBUG Found attribute list +EventSelector.S... ERROR Stream decision for 'SelectedStream':StreamX does not exist in input +EventSelector.S... DEBUG EventSelector.SelectorX: For 'SelectedStream':StreamX cutflow events = 0 +EventSelector INFO skipping event 9 +EventSelector.S... INFO StreamSelectorTool::postNext +EventSelector.S... DEBUG Found attribute list +EventSelector.S... DEBUG EventSelector.Selector1: For 'SelectedStream':Stream1 cutflow events = 3 +EventSelector.S... INFO StreamSelectorTool::postNext +EventSelector.S... DEBUG Found attribute list +EventSelector.S... DEBUG EventSelector.Selector2: For 'SelectedStream':Stream1 cutflow events = 3 +EventSelector.S... INFO StreamSelectorTool::postNext +EventSelector.S... DEBUG Found attribute list +EventSelector.S... ERROR Stream decision for 'SelectedStream':StreamX does not exist in input +EventSelector.S... DEBUG EventSelector.SelectorX: For 'SelectedStream':StreamX cutflow events = 0 +ReadData INFO EventStreamInfo: Number of events = 20 +ReadData INFO EventStreamInfo: ItemList: +ReadData INFO CLID = 2101, key = McEventInfo +ReadData INFO CLID = 9102, key = MyHits +ReadData INFO CLID = 1287802, key = ExcludeTestTrigMap +ReadData INFO CLID = 1287802, key = MultiTestTrigMap +ReadData INFO CLID = 38853911, key = EventInfoAux. +ReadData INFO CLID = 45903698, key = EventInfo +ReadData INFO CLID = 222376821, key = StreamAllP +ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics +ReadData INFO TagInfo: +ReadData INFO EventInfo event: 9 run: 0 +ReadData INFO Get Smart data ptr 1 +ReadData INFO Could not find ExampleTrackContainer/MyTracks +ReadData INFO Hit x = 901.2 y = -2.3 z = -673.3 detector = DummyHitDetector +ReadData INFO Hit x = 904.4 y = -8.0 z = -805.2 detector = DummyHitDetector +ReadData INFO Hit x = 907.6 y = -13.7 z = -829.7 detector = DummyHitDetector +ReadData INFO Hit x = 910.8 y = -19.3 z = -840.0 detector = DummyHitDetector +ReadData INFO Hit x = 914.0 y = -25.0 z = -845.7 detector = DummyHitDetector +ReadData INFO Hit x = 917.2 y = -30.7 z = -849.3 detector = DummyHitDetector +ReadData INFO Hit x = 920.4 y = -36.4 z = -851.8 detector = DummyHitDetector +ReadData INFO Hit x = 923.7 y = -42.0 z = -853.6 detector = DummyHitDetector +ReadData INFO Hit x = 926.9 y = -47.7 z = -855.0 detector = DummyHitDetector +ReadData INFO Hit x = 930.1 y = -53.4 z = -856.1 detector = DummyHitDetector +EventSelector.S... INFO StreamSelectorTool::postNext +EventSelector.S... DEBUG Found attribute list +EventSelector.S... INFO Rejecting event +EventSelector.S... DEBUG EventSelector.Selector1: For 'SelectedStream':Stream1 cutflow events = 3 +EventSelector INFO Request skipping event from: EventSelector.Selector1 +EventSelector.S... INFO StreamSelectorTool::postNext +EventSelector.S... DEBUG Found attribute list +EventSelector.S... INFO Rejecting event +EventSelector.S... DEBUG EventSelector.Selector2: For 'SelectedStream':Stream1 cutflow events = 3 +EventSelector INFO Request skipping event from: EventSelector.Selector2 +EventSelector.S... INFO StreamSelectorTool::postNext +EventSelector.S... DEBUG Found attribute list +EventSelector.S... ERROR Stream decision for 'SelectedStream':StreamX does not exist in input +EventSelector.S... DEBUG EventSelector.SelectorX: For 'SelectedStream':StreamX cutflow events = 0 +EventSelector INFO skipping event 11 +EventSelector.S... INFO StreamSelectorTool::postNext +EventSelector.S... DEBUG Found attribute list +EventSelector.S... INFO Rejecting event +EventSelector.S... DEBUG EventSelector.Selector1: For 'SelectedStream':Stream1 cutflow events = 3 +EventSelector INFO Request skipping event from: EventSelector.Selector1 +EventSelector.S... INFO StreamSelectorTool::postNext +EventSelector.S... DEBUG Found attribute list +EventSelector.S... INFO Rejecting event +EventSelector.S... DEBUG EventSelector.Selector2: For 'SelectedStream':Stream1 cutflow events = 3 +EventSelector INFO Request skipping event from: EventSelector.Selector2 +EventSelector.S... INFO StreamSelectorTool::postNext +EventSelector.S... DEBUG Found attribute list +EventSelector.S... ERROR Stream decision for 'SelectedStream':StreamX does not exist in input +EventSelector.S... DEBUG EventSelector.SelectorX: For 'SelectedStream':StreamX cutflow events = 0 +EventSelector INFO skipping event 12 +EventSelector.S... INFO StreamSelectorTool::postNext +EventSelector.S... DEBUG Found attribute list +EventSelector.S... DEBUG EventSelector.Selector1: For 'SelectedStream':Stream1 cutflow events = 4 +EventSelector.S... INFO StreamSelectorTool::postNext +EventSelector.S... DEBUG Found attribute list +EventSelector.S... DEBUG EventSelector.Selector2: For 'SelectedStream':Stream1 cutflow events = 4 +EventSelector.S... INFO StreamSelectorTool::postNext +EventSelector.S... DEBUG Found attribute list +EventSelector.S... ERROR Stream decision for 'SelectedStream':StreamX does not exist in input +EventSelector.S... DEBUG EventSelector.SelectorX: For 'SelectedStream':StreamX cutflow events = 0 +ReadData INFO EventStreamInfo: Number of events = 20 +ReadData INFO EventStreamInfo: ItemList: +ReadData INFO CLID = 2101, key = McEventInfo +ReadData INFO CLID = 9102, key = MyHits +ReadData INFO CLID = 1287802, key = ExcludeTestTrigMap +ReadData INFO CLID = 1287802, key = MultiTestTrigMap +ReadData INFO CLID = 38853911, key = EventInfoAux. +ReadData INFO CLID = 45903698, key = EventInfo +ReadData INFO CLID = 222376821, key = StreamAllP +ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics +ReadData INFO TagInfo: +ReadData INFO EventInfo event: 12 run: 0 +ReadData INFO Get Smart data ptr 1 +ReadData INFO Could not find ExampleTrackContainer/MyTracks +ReadData INFO Hit x = 1201.2 y = -2.3 z = -973.3 detector = DummyHitDetector +ReadData INFO Hit x = 1204.4 y = -8.0 z = -1105.2 detector = DummyHitDetector +ReadData INFO Hit x = 1207.6 y = -13.7 z = -1129.7 detector = DummyHitDetector +ReadData INFO Hit x = 1210.8 y = -19.3 z = -1140.0 detector = DummyHitDetector +ReadData INFO Hit x = 1214.0 y = -25.0 z = -1145.7 detector = DummyHitDetector +ReadData INFO Hit x = 1217.2 y = -30.7 z = -1149.3 detector = DummyHitDetector +ReadData INFO Hit x = 1220.4 y = -36.4 z = -1151.8 detector = DummyHitDetector +ReadData INFO Hit x = 1223.7 y = -42.0 z = -1153.6 detector = DummyHitDetector +ReadData INFO Hit x = 1226.9 y = -47.7 z = -1155.0 detector = DummyHitDetector +ReadData INFO Hit x = 1230.1 y = -53.4 z = -1156.1 detector = DummyHitDetector +EventSelector.S... INFO StreamSelectorTool::postNext +EventSelector.S... DEBUG Found attribute list +EventSelector.S... INFO Rejecting event +EventSelector.S... DEBUG EventSelector.Selector1: For 'SelectedStream':Stream1 cutflow events = 4 +EventSelector INFO Request skipping event from: EventSelector.Selector1 +EventSelector.S... INFO StreamSelectorTool::postNext +EventSelector.S... DEBUG Found attribute list +EventSelector.S... INFO Rejecting event +EventSelector.S... DEBUG EventSelector.Selector2: For 'SelectedStream':Stream1 cutflow events = 4 +EventSelector INFO Request skipping event from: EventSelector.Selector2 +EventSelector.S... INFO StreamSelectorTool::postNext +EventSelector.S... DEBUG Found attribute list +EventSelector.S... ERROR Stream decision for 'SelectedStream':StreamX does not exist in input +EventSelector.S... DEBUG EventSelector.SelectorX: For 'SelectedStream':StreamX cutflow events = 0 +EventSelector INFO skipping event 14 +EventSelector.S... INFO StreamSelectorTool::postNext +EventSelector.S... DEBUG Found attribute list +EventSelector.S... INFO Rejecting event +EventSelector.S... DEBUG EventSelector.Selector1: For 'SelectedStream':Stream1 cutflow events = 4 +EventSelector INFO Request skipping event from: EventSelector.Selector1 +EventSelector.S... INFO StreamSelectorTool::postNext +EventSelector.S... DEBUG Found attribute list +EventSelector.S... INFO Rejecting event +EventSelector.S... DEBUG EventSelector.Selector2: For 'SelectedStream':Stream1 cutflow events = 4 +EventSelector INFO Request skipping event from: EventSelector.Selector2 +EventSelector.S... INFO StreamSelectorTool::postNext +EventSelector.S... DEBUG Found attribute list +EventSelector.S... ERROR Stream decision for 'SelectedStream':StreamX does not exist in input +EventSelector.S... DEBUG EventSelector.SelectorX: For 'SelectedStream':StreamX cutflow events = 0 +EventSelector INFO skipping event 15 +EventSelector.S... INFO StreamSelectorTool::postNext +EventSelector.S... DEBUG Found attribute list +EventSelector.S... DEBUG EventSelector.Selector1: For 'SelectedStream':Stream1 cutflow events = 5 +EventSelector.S... INFO StreamSelectorTool::postNext +EventSelector.S... DEBUG Found attribute list +EventSelector.S... DEBUG EventSelector.Selector2: For 'SelectedStream':Stream1 cutflow events = 5 +EventSelector.S... INFO StreamSelectorTool::postNext +EventSelector.S... DEBUG Found attribute list +EventSelector.S... ERROR Stream decision for 'SelectedStream':StreamX does not exist in input +EventSelector.S... DEBUG EventSelector.SelectorX: For 'SelectedStream':StreamX cutflow events = 0 +ReadData INFO EventStreamInfo: Number of events = 20 +ReadData INFO EventStreamInfo: ItemList: +ReadData INFO CLID = 2101, key = McEventInfo +ReadData INFO CLID = 9102, key = MyHits +ReadData INFO CLID = 1287802, key = ExcludeTestTrigMap +ReadData INFO CLID = 1287802, key = MultiTestTrigMap +ReadData INFO CLID = 38853911, key = EventInfoAux. +ReadData INFO CLID = 45903698, key = EventInfo +ReadData INFO CLID = 222376821, key = StreamAllP +ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics +ReadData INFO TagInfo: +ReadData INFO EventInfo event: 15 run: 0 +ReadData INFO Get Smart data ptr 1 +ReadData INFO Could not find ExampleTrackContainer/MyTracks +ReadData INFO Hit x = 1501.2 y = -2.3 z = -1273.3 detector = DummyHitDetector +ReadData INFO Hit x = 1504.4 y = -8.0 z = -1405.2 detector = DummyHitDetector +ReadData INFO Hit x = 1507.6 y = -13.7 z = -1429.7 detector = DummyHitDetector +ReadData INFO Hit x = 1510.8 y = -19.3 z = -1440.0 detector = DummyHitDetector +ReadData INFO Hit x = 1514.0 y = -25.0 z = -1445.7 detector = DummyHitDetector +ReadData INFO Hit x = 1517.2 y = -30.7 z = -1449.3 detector = DummyHitDetector +ReadData INFO Hit x = 1520.4 y = -36.4 z = -1451.8 detector = DummyHitDetector +ReadData INFO Hit x = 1523.7 y = -42.0 z = -1453.6 detector = DummyHitDetector +ReadData INFO Hit x = 1526.9 y = -47.7 z = -1455.0 detector = DummyHitDetector +ReadData INFO Hit x = 1530.1 y = -53.4 z = -1456.1 detector = DummyHitDetector +EventSelector.S... INFO StreamSelectorTool::postNext +EventSelector.S... DEBUG Found attribute list +EventSelector.S... DEBUG EventSelector.Selector1: For 'SelectedStream':Stream1 cutflow events = 6 +EventSelector.S... INFO StreamSelectorTool::postNext +EventSelector.S... DEBUG Found attribute list +EventSelector.S... DEBUG EventSelector.Selector2: For 'SelectedStream':Stream1 cutflow events = 6 +EventSelector.S... INFO StreamSelectorTool::postNext +EventSelector.S... DEBUG Found attribute list +EventSelector.S... ERROR Stream decision for 'SelectedStream':StreamX does not exist in input +EventSelector.S... DEBUG EventSelector.SelectorX: For 'SelectedStream':StreamX cutflow events = 0 +ReadData INFO EventStreamInfo: Number of events = 20 +ReadData INFO EventStreamInfo: ItemList: +ReadData INFO CLID = 2101, key = McEventInfo +ReadData INFO CLID = 9102, key = MyHits +ReadData INFO CLID = 1287802, key = ExcludeTestTrigMap +ReadData INFO CLID = 1287802, key = MultiTestTrigMap +ReadData INFO CLID = 38853911, key = EventInfoAux. +ReadData INFO CLID = 45903698, key = EventInfo +ReadData INFO CLID = 222376821, key = StreamAllP +ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics +ReadData INFO TagInfo: +ReadData INFO EventInfo event: 16 run: 0 +ReadData INFO Get Smart data ptr 1 +ReadData INFO Could not find ExampleTrackContainer/MyTracks +ReadData INFO Hit x = 1601.2 y = -2.3 z = -1373.3 detector = DummyHitDetector +ReadData INFO Hit x = 1604.4 y = -8.0 z = -1505.2 detector = DummyHitDetector +ReadData INFO Hit x = 1607.6 y = -13.7 z = -1529.7 detector = DummyHitDetector +ReadData INFO Hit x = 1610.8 y = -19.3 z = -1540.0 detector = DummyHitDetector +ReadData INFO Hit x = 1614.0 y = -25.0 z = -1545.7 detector = DummyHitDetector +ReadData INFO Hit x = 1617.2 y = -30.7 z = -1549.3 detector = DummyHitDetector +ReadData INFO Hit x = 1620.4 y = -36.4 z = -1551.8 detector = DummyHitDetector +ReadData INFO Hit x = 1623.7 y = -42.0 z = -1553.6 detector = DummyHitDetector +ReadData INFO Hit x = 1626.9 y = -47.7 z = -1555.0 detector = DummyHitDetector +ReadData INFO Hit x = 1630.1 y = -53.4 z = -1556.1 detector = DummyHitDetector +EventSelector.S... INFO StreamSelectorTool::postNext +EventSelector.S... DEBUG Found attribute list +EventSelector.S... INFO Rejecting event +EventSelector.S... DEBUG EventSelector.Selector1: For 'SelectedStream':Stream1 cutflow events = 6 +EventSelector INFO Request skipping event from: EventSelector.Selector1 +EventSelector.S... INFO StreamSelectorTool::postNext +EventSelector.S... DEBUG Found attribute list +EventSelector.S... INFO Rejecting event +EventSelector.S... DEBUG EventSelector.Selector2: For 'SelectedStream':Stream1 cutflow events = 6 +EventSelector INFO Request skipping event from: EventSelector.Selector2 +EventSelector.S... INFO StreamSelectorTool::postNext +EventSelector.S... DEBUG Found attribute list +EventSelector.S... ERROR Stream decision for 'SelectedStream':StreamX does not exist in input +EventSelector.S... DEBUG EventSelector.SelectorX: For 'SelectedStream':StreamX cutflow events = 0 +EventSelector INFO skipping event 18 +EventSelector.S... INFO StreamSelectorTool::postNext +EventSelector.S... DEBUG Found attribute list +EventSelector.S... DEBUG EventSelector.Selector1: For 'SelectedStream':Stream1 cutflow events = 7 +EventSelector.S... INFO StreamSelectorTool::postNext +EventSelector.S... DEBUG Found attribute list +EventSelector.S... DEBUG EventSelector.Selector2: For 'SelectedStream':Stream1 cutflow events = 7 +EventSelector.S... INFO StreamSelectorTool::postNext +EventSelector.S... DEBUG Found attribute list +EventSelector.S... ERROR Stream decision for 'SelectedStream':StreamX does not exist in input +EventSelector.S... DEBUG EventSelector.SelectorX: For 'SelectedStream':StreamX cutflow events = 0 +ReadData INFO EventStreamInfo: Number of events = 20 +ReadData INFO EventStreamInfo: ItemList: +ReadData INFO CLID = 2101, key = McEventInfo +ReadData INFO CLID = 9102, key = MyHits +ReadData INFO CLID = 1287802, key = ExcludeTestTrigMap +ReadData INFO CLID = 1287802, key = MultiTestTrigMap +ReadData INFO CLID = 38853911, key = EventInfoAux. +ReadData INFO CLID = 45903698, key = EventInfo +ReadData INFO CLID = 222376821, key = StreamAllP +ReadData INFO EventType: Event type: sim/data - is sim , testbeam/atlas - is atlas , calib/physics - is physics +ReadData INFO TagInfo: +ReadData INFO EventInfo event: 18 run: 0 +ReadData INFO Get Smart data ptr 1 +ReadData INFO Could not find ExampleTrackContainer/MyTracks +ReadData INFO Hit x = 1801.2 y = -2.3 z = -1573.3 detector = DummyHitDetector +ReadData INFO Hit x = 1804.4 y = -8.0 z = -1705.2 detector = DummyHitDetector +ReadData INFO Hit x = 1807.6 y = -13.7 z = -1729.7 detector = DummyHitDetector +ReadData INFO Hit x = 1810.8 y = -19.3 z = -1740.0 detector = DummyHitDetector +ReadData INFO Hit x = 1814.0 y = -25.0 z = -1745.7 detector = DummyHitDetector +ReadData INFO Hit x = 1817.2 y = -30.7 z = -1749.3 detector = DummyHitDetector +ReadData INFO Hit x = 1820.4 y = -36.4 z = -1751.8 detector = DummyHitDetector +ReadData INFO Hit x = 1823.7 y = -42.0 z = -1753.6 detector = DummyHitDetector +ReadData INFO Hit x = 1826.9 y = -47.7 z = -1755.0 detector = DummyHitDetector +ReadData INFO Hit x = 1830.1 y = -53.4 z = -1756.1 detector = DummyHitDetector +EventSelector.S... INFO StreamSelectorTool::postNext +EventSelector.S... DEBUG Found attribute list +EventSelector.S... INFO Rejecting event +EventSelector.S... DEBUG EventSelector.Selector1: For 'SelectedStream':Stream1 cutflow events = 7 +EventSelector INFO Request skipping event from: EventSelector.Selector1 +EventSelector.S... INFO StreamSelectorTool::postNext +EventSelector.S... DEBUG Found attribute list +EventSelector.S... INFO Rejecting event +EventSelector.S... DEBUG EventSelector.Selector2: For 'SelectedStream':Stream1 cutflow events = 7 +EventSelector INFO Request skipping event from: EventSelector.Selector2 +EventSelector.S... INFO StreamSelectorTool::postNext +EventSelector.S... DEBUG Found attribute list +EventSelector.S... ERROR Stream decision for 'SelectedStream':StreamX does not exist in input +EventSelector.S... DEBUG EventSelector.SelectorX: For 'SelectedStream':StreamX cutflow events = 0 +EventSelector INFO skipping event 20 +EventSelector INFO Disconnecting input sourceID: 576C6C8B-1EC6-8A46-9DFC-612955C23C42 +ReadData INFO in finalize() diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/CheckStreamPropagate_jo.py b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/CheckStreamPropagate_jo.py new file mode 100755 index 0000000000000000000000000000000000000000..67dadfe9cd61082c95bd190c5a6106aef6af54ae --- /dev/null +++ b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/CheckStreamPropagate_jo.py @@ -0,0 +1,90 @@ +## @file CheckExplicit_jo.py +## @brief TopOptions (but dependent SplittableData_jo.py, EventSplit_jo.py): +## Checks that the root collection is readable with the EventSelector +## @author Jack Cranshaw (Jack.Cranshaw@cern.ch) +## $Id: CheckExplicit_jo.py,v 1.9 2009-05-20 13:34:21 cranshaw Exp $ +############################################################### +# +# Job options file +# +#============================================================== + +#-------------------------------------------------------------- +# Event related parameters +#-------------------------------------------------------------- +from AthenaCommon.AlgSequence import AthSequencer +topSequence = AthSequencer("AthAlgSeq") +athRegSeq = AthSequencer("AthRegSeq") + +from AthenaCommon.AppMgr import theApp + +from AthenaCommon.AppMgr import ServiceMgr as svcMgr + +theApp.EvtMax = 200000 + +#-------------------------------------------------------------- +# Load POOL support +#-------------------------------------------------------------- +include( "AthenaPoolExampleConverter/AthenaPoolExampleConverter_jobOption.py" ) +include( "AthenaPoolTestAthenaPool/AthenaPoolTestAthenaPool_joboptions.py" ) +#-------------------------------------------------------------- +#--- Read portion ----- +#-------------------------------------------------------------- +import AthenaPoolCnvSvc.ReadAthenaPool + +from PoolSvc.PoolSvcConf import PoolSvc +svcMgr += PoolSvc() +PoolSvc = svcMgr.PoolSvc +PoolSvc.ReadCatalog = ["xmlcatalog_file:EventSplit.xml"] + +EventSelector = svcMgr.EventSelector +EventSelector.InputCollections = [ "AthenaPoolMultiTest_Propagate.root" ]; + +# Include the StreamSelectorTool +from EventBookkeeperTools.EventBookkeeperToolsConf import StreamSelectorTool +# Select existing Stream1 +selector1 = StreamSelectorTool("Selector1") +selector1.SelectedStream = "Stream1" +selector1.OutputLevel = DEBUG +svcMgr.EventSelector.HelperTools += [selector1] +# Select existing Stream1, but use a separate CutFlowSvc +# Create the CutFlowSvc instance(s) +from EventBookkeeperTools.EventBookkeeperToolsConf import CutFlowSvc +cfs = CfgMgr.CutFlowSvc("SS_CutFlowSvc") +svcMgr += cfs +cfs.InputStream = "StreamAll" +cfs.OutputCollName = "StreamSelect" +cfs.OutputIncompleteCollName = "IncompleteStreamSelect" + +selector2 = StreamSelectorTool("Selector2") +selector2.SelectedStream = "Stream1" +selector2.CutFlowSvc = cfs +selector2.OutputLevel = DEBUG +svcMgr.EventSelector.HelperTools += [selector2] +# Select non-existing StreamX +selectorx = StreamSelectorTool("SelectorX") +selectorx.SelectedStream = "StreamX" +selectorx.OutputLevel = DEBUG +svcMgr.EventSelector.HelperTools += [selectorx] + +#-------------------------------------------------------------- +# Configure the filters +#-------------------------------------------------------------- +from AthenaPoolExampleAlgorithms.AthenaPoolExampleAlgorithmsConf import AthPoolEx__ReadData + +topSequence += AthPoolEx__ReadData("ReadData") +#from AthenaPoolMultiTest.AthenaPoolMultiTestConf import EventTagReader + +from AthenaPoolMultiTest.AthenaPoolMultiTestConf import * + +#-------------------------------------------------------------- +# Set output level threshold (2=DEBUG, 3=INFO, 4=WARNING, 5=ERROR, 6=FATAL) +#-------------------------------------------------------------- +svcMgr.MessageSvc.infoLimit = 5000 +svcMgr.MessageSvc.debugLimit = 5000 +svcMgr.MessageSvc.OutputLevel = INFO +#============================================================== +# +# End of job options file +# +############################################################### diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/DecisionPropagation_jo.py b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/DecisionPropagation_jo.py new file mode 100755 index 0000000000000000000000000000000000000000..4c1789e960cdb342c3ea47ca4cd41bf530dab62a --- /dev/null +++ b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/share/DecisionPropagation_jo.py @@ -0,0 +1,76 @@ +##################################################################### +# +## @file EventSplitDecision_jo.py +## @brief +## Second part of AthenaPoolMultiTest gmake check +##<br><br> +## @author JackCranshaw (Jack.Cranshaw@cern.ch) +## $Id: EventNoSplit_jo.py,v 1.27 2009-05-20 13:34:21 cranshaw Exp $ +#==================================================================== + +#-------------------------------------------------------------- +# Event related parameters +#-------------------------------------------------------------- +from AthenaCommon.AlgSequence import AthSequencer +topSequence = AthSequencer("AthAlgSeq") +athOutSeq = AthSequencer("AthOutSeq") + +from xAODEventInfoCnv.xAODEventInfoCnvConf import xAODMaker__EventInfoCnvAlg +alg = xAODMaker__EventInfoCnvAlg() +topSequence += alg + + +from AthenaCommon.AppMgr import theApp +theApp.EvtMax = 200000 + +#-------------------------------------------------------------- +# Load POOL support +#-------------------------------------------------------------- +import AthenaPoolCnvSvc.ReadAthenaPool + +from AthenaCommon.AppMgr import ServiceMgr as svcMgr + +from PoolSvc.PoolSvcConf import PoolSvc +svcMgr += PoolSvc() +PoolSvc = svcMgr.PoolSvc +PoolSvc.ReadCatalog = ["xmlcatalog_file:EventSplit.xml"] + +svcMgr.EventSelector.InputCollections = ["AthenaPoolMultiTest_StreamAll2.root"] +svcMgr.AthenaPoolAddressProviderSvc.DataHeaderIterator = False + +#-------------------------------------------------------------- +# Private Application Configuration options +#-------------------------------------------------------------- +# include stream transform +include( "AthenaPoolMultiTest/ExampleStreamConfig.py" ) + +from AthenaPoolCnvSvc.WriteAthenaPool import AthenaPoolOutputStream +# Unfiltered stream +StreamAll = AthenaPoolOutputStream( "StreamAllP", "AthenaPoolMultiTest_Propagate.root", False, noTag=False, decisionFilter="Stream" ) +StreamAll.CheckNumberOfWrites = False +StreamAll.WritingTool.AttributeListKey="SimpleTag" +StreamAll.WritingTool.SaveDecisions = False +StreamAll.TakeItemsFromInput = True +StreamAll.ForceRead=TRUE + +#EventInfoTagBuilder.FilterString = "Stream" +#EventInfoTagBuilder.PropagateInput=True + +# Add the outputstreams to the execution sequence +#athOutSeq+=StreamAll + +#-------------------------------------------------------------- +# Set output level threshold (2=DEBUG, 3=INFO, 4=WARNING, 5=ERROR, 6=FATAL) +#-------------------------------------------------------------- +svcMgr.MessageSvc.OutputLevel = INFO +svcMgr.MessageSvc.debugLimit = 5000 +import AthenaCommon.CfgMgr as CfgMgr +if not hasattr(svcMgr, 'DecisionSvc'): svcMgr += CfgMgr.DecisionSvc() +svcMgr.DecisionSvc.CalcStats = True +if not hasattr(svcMgr, 'ItemListSvc'): svcMgr += CfgMgr.ItemListSvc() +svcMgr.ItemListSvc.OutputLevel = DEBUG +#============================================================== +# +# End of job options file +# +############################################################### diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/post_check_es.sh b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/post_check_es.sh index 2bf2305388210a534ce8166cd88a5c5323e1b775..8a2f378070633aad926062bffdb888c7bf89bef8 100755 --- a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/post_check_es.sh +++ b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/post_check_es.sh @@ -22,6 +22,7 @@ else reflog=../share/${test}.ref grep -e 'Splitter' \ -e 'Triggered' \ + -e 'EventInfoTag' \ -e 'Stream' \ -e 'Coll' \ -e 'Others' \ diff --git a/AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/post_check_p.sh b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/post_check_p.sh new file mode 100755 index 0000000000000000000000000000000000000000..cac3c0e3e53324aa1fe1d105ea26a96902858fa3 --- /dev/null +++ b/AtlasTest/DatabaseTest/AthenaPoolMultiTest/test/post_check_p.sh @@ -0,0 +1,124 @@ +#!/bin/sh +#/** @file post_check_es.sh +# @brief sh script that check the return code of an executable and compares +# its output with a reference (if available). Modified to restrict checks +# to output from AthenaPoolMultiTest EventSplit test. +# @param test_name +# +# @author Jack Cranshaw (Jack.Cranshaw@cern.ch), Paolo Calafiura. +# $Id: post_check_es.sh,v 1.6 2009-04-01 21:18:33 cranshaw Exp $ +# **/ +test=$1 +status=${?} +if [ -z "$status" ] + then + echo "[93;1m post_check_es.sh> Warning: athena exit status is not available [m" +else + # check exit status + joblog=${test}.log + if [ "$status" = 0 ] + then + #echo "[92;1m post_check_es.sh> OK: ${test} exited normally. Output is in $joblog [m" + reflog=../share/${test}.ref + grep -e 'Splitter' \ + -e 'Triggered' \ + -e 'EventInfoTag' \ + -e 'Stream' \ + -e 'Coll' \ + -e 'Others' \ + -e 'Bad' \ + -e 'ERROR' \ + -e 'Error' \ + ${joblog} | + grep -v 'StreamAll2' | + grep -v 'RootDatabase.open' | + grep -v 'Handler' | + grep -v 'EventSelectorAthenaPool' |\ + grep -v 'CLIDRegistry' |\ + grep -v 'PassNumber' |\ + grep -v 'POOLCollFactory' |\ + grep -v 'PoolXMLFileCatalog' |\ + grep -v 'AthenaSealSvc' |\ + grep -v 'EventBookkeeper' |\ + grep -v 'EventTagWriter' > ${joblog}.small + joblog=${joblog}.small + if [ -r $reflog ] + then +# echo " post_check_es.sh> Now comparing output with reference" + diff -a -b -B $joblog $reflog |\ + # ignore diff annotations + egrep -a -v '^---|^[[:digit:]]+[acd,][[:digit:]]+' |\ + # ignore hex addresses + egrep -a -v ' 0x\w{4,}' |\ + # ignore package names e.g. Package-00-00-00 + egrep -a -v '\w+-[[:digit:]]{2}-[[:digit:]]{2}-[[:digit:]]{2}' |\ + # ignore cpu usage printouts + egrep -a -v 'ChronoStatSvc +INFO Time' |\ + egrep -a -v 'Time left.+ Seconds' |\ + egrep -a -v 'Timeleft.+ sec' |\ + egrep -a -v 'INFO Time User' |\ + egrep -a -v 'OutputStreamSequencerSvc' |\ + # ignore clid db file name + grep -a -v 'from CLIDDB file' |\ + # ignore slug machine printout + egrep -a -v ' Machine: .* System and Processor Info' |\ + egrep -a -v ' Jobname = .* Machine =' |\ + # ignore slug pid printout + grep -a -v 'Atlas Detector Simulation, Reconstruction and Analysis Running on' |\ + egrep -a -v 'Program: Slug-Dice-Arecon .+ pid +[[:digit:]]+' |\ + #ignore DllClassManager DEBUG messages + egrep -a -v 'DllClassManager DEBUG' |\ + # ignore slug Library printout + egrep -a -v 'Library of +[[:digit:]]+ at +[[:digit:]]+' |\ + egrep -a -v 'Library compiled on +[[:digit:]]' |\ + # ignore ClassIDSvc "in memory db" printouts + egrep -a -v 'CLID: .* - type name:' |\ + # ignore ClassIDSvc "already set" printouts + egrep -a -v 'ClassIDSvc .* setTypeNameForID: .* already set for' |\ + # ignore ClassIDSvc finalize output + egrep -a -v 'ClassIDSvc * DEBUG finalize: wrote .*' |\ + # ignore rcs version comments + egrep -a -v 'Id: .+ Exp \$' |\ + # ignore listings + egrep -a -v 'athena.*listing' |\ + # ignore ptr values for LArCell + egrep -a -v 'Found elem' |\ + # ignore Dict issues + egrep -a -v 'Dict.so' |\ + # ignore file mgr + egrep -a -v 'FileMgr' |\ + # ignore file names + egrep -a -v 'Reading file' |\ + # ignore root collect key + egrep -a -v 'NewEventCollection.root, recovered' |\ + # ignore new file catalog messages + egrep -a -v 'registerPFN' + + diffStatus=$? + if [ $diffStatus -ne 1 ] + then + echo "[97;101;1m post_check_es.sh> ERROR: $joblog and $reflog differ [m" + exit 1 + else + true + #echo "[92;1m post_check_es.sh> OK: $joblog and $reflog identical [m" + fi + else + tail $joblog + echo "[93;1m post_check_es.sh> WARNING: reference output $reflog not available [m" + echo " post_check_es.sh> Please check ${PWD}/$joblog" + exit 1 + fi + else + tail $joblog + echo "[97;101;1m post_check_es.sh> ERROR: Athena exited abnormally! Exit code: $status [m" + echo " post_check_es.sh> Please check ${PWD}/$joblog" + fi +fi + +# Check output for ERROR/FATAL +joblog=${test}.log +#echo + +exit $status + diff --git a/Database/AthenaPOOL/OutputStreamAthenaPool/python/OutputStreamAthenaPool.py b/Database/AthenaPOOL/OutputStreamAthenaPool/python/OutputStreamAthenaPool.py index fdbc634abff5ae5afde629511fc868d5c6d705c8..47db4fae9ea8995ec65f316db87348a9b80f0ac4 100644 --- a/Database/AthenaPOOL/OutputStreamAthenaPool/python/OutputStreamAthenaPool.py +++ b/Database/AthenaPOOL/OutputStreamAthenaPool/python/OutputStreamAthenaPool.py @@ -14,7 +14,7 @@ from AthenaServices.AthenaServicesConf import AthenaOutputStream from AthenaServices.AthenaServicesConf import AthenaOutputStreamTool def createOutputStream( streamName, fileName = "", asAlg = False, noTag = False, - eventInfoKey = "EventInfo" ): + eventInfoKey = "EventInfo", decisionFilter="" ): # define athena output stream writingTool = AthenaOutputStreamTool( streamName + "Tool" ) outputStream = AthenaOutputStream( @@ -41,7 +41,7 @@ def createOutputStream( streamName, fileName = "", asAlg = False, noTag = False, # build eventinfo attribute list from .OutputStreamAthenaPoolConf import EventInfoAttListTool, EventInfoTagBuilder svcMgr.ToolSvc += EventInfoAttListTool() - EventInfoTagBuilder = EventInfoTagBuilder(AttributeList=key, EventInfoKey=eventInfoKey) + EventInfoTagBuilder = EventInfoTagBuilder(AttributeList=key, EventInfoKey=eventInfoKey, FilterString=decisionFilter) topSequence += EventInfoTagBuilder # decide where to put outputstream in sequencing @@ -91,3 +91,4 @@ def createOutputConditionStream( streamName, fileName = "" ): ## backward compat AthenaPoolOutputStream = createOutputStream AthenaPoolOutputConditionStream = createOutputConditionStream + diff --git a/Database/AthenaPOOL/OutputStreamAthenaPool/src/EventInfoAttListTool.cxx b/Database/AthenaPOOL/OutputStreamAthenaPool/src/EventInfoAttListTool.cxx index 52c0b166f1ea23ed69cbe17ea69280b90238f2e9..102b71a79b85a5786e71d4df9e4dffda2f986bdc 100755 --- a/Database/AthenaPOOL/OutputStreamAthenaPool/src/EventInfoAttListTool.cxx +++ b/Database/AthenaPOOL/OutputStreamAthenaPool/src/EventInfoAttListTool.cxx @@ -30,7 +30,7 @@ Purpose : create a EventInfoAttList - The Tag information associated to the even /** the constructor */ EventInfoAttListTool::EventInfoAttListTool (const std::string& type, const std::string& name, const IInterface* parent) : - AthAlgTool( type, name, parent ) + AthAlgTool( type, name, parent ) { declareInterface<EventInfoAttListTool>( this ); } diff --git a/Database/AthenaPOOL/OutputStreamAthenaPool/src/EventInfoTagBuilder.cxx b/Database/AthenaPOOL/OutputStreamAthenaPool/src/EventInfoTagBuilder.cxx index 4478e948f71989927a3d68ac60d652b95cfc2594..563904bd63fbce63edd47db880769e1bb98fb436 100755 --- a/Database/AthenaPOOL/OutputStreamAthenaPool/src/EventInfoTagBuilder.cxx +++ b/Database/AthenaPOOL/OutputStreamAthenaPool/src/EventInfoTagBuilder.cxx @@ -11,7 +11,10 @@ EventInfoTagBuilder::EventInfoTagBuilder( const std::string& name, ISvcLocator* : AthAlgorithm(name, pSvcLocator), m_tool("EventInfoAttListTool/EventInfoAttListTool",this) { declareProperty("EventInfoKey", m_evtKey = "EventInfo"); + declareProperty("InputList", m_inputAttList = "Input"); declareProperty("AttributeList", m_attributeListName); + declareProperty("PropagateInput", m_propInput = true); + declareProperty("FilterString", m_filter = ""); } EventInfoTagBuilder::~EventInfoTagBuilder() @@ -24,6 +27,7 @@ StatusCode EventInfoTagBuilder::initialize() { ATH_CHECK( m_evtKey.initialize() ); ATH_CHECK( m_attributeListName.initialize() ); + ATH_CHECK( m_inputAttList.initialize() ); return StatusCode::SUCCESS; } @@ -32,6 +36,7 @@ StatusCode EventInfoTagBuilder::initialize() { StatusCode EventInfoTagBuilder::execute() { ATH_MSG_DEBUG( "Executing " << name() ); + SG::ReadHandle<xAOD::EventInfo> h_evt(m_evtKey); /** create a EventInfo Tag and ask the tool to fill it */ @@ -39,6 +44,30 @@ StatusCode EventInfoTagBuilder::execute() { auto attribList = std::make_unique<AthenaAttributeList> ( m_tool->getAttributeList( *h_evt ) ); + // Check whether to propagate + if (m_propInput) { + SG::ReadHandle<AthenaAttributeList> h_att(m_inputAttList); + // Check if there is an input to propagate + if (h_att.isValid()) { + for (auto it = h_att->specification().begin(); + it!= h_att->specification().end(); ++it) { + // Only propagate bool properties + if (it->typeName()=="bool"&&!attribList->exists(it->name())) { + // Check if there is filtering on the name + if (m_filter != "") { + if (it->name().find(m_filter)!=std::string::npos) { + // Add those bools to the output attribute list + (*attribList).extend(it->name(),it->type()); + (*attribList)[it->name()].data<bool>() = (*h_att)[it->name()].data<bool>(); + } + } + } // take only bools + } // loop + } else { // valid input + ATH_MSG_INFO("No input attribute list"); + } + } // propagate + /** record attribute list to SG */ SG::WriteHandle<AthenaAttributeList> wh(m_attributeListName); ATH_CHECK( wh.record(std::move(attribList)) ); diff --git a/Database/AthenaPOOL/OutputStreamAthenaPool/src/EventInfoTagBuilder.h b/Database/AthenaPOOL/OutputStreamAthenaPool/src/EventInfoTagBuilder.h index 8fb711f460ac84987b60f135bc852b17541518be..5e34bf6bf95dd68c7ec0211560b01e75d529098b 100755 --- a/Database/AthenaPOOL/OutputStreamAthenaPool/src/EventInfoTagBuilder.h +++ b/Database/AthenaPOOL/OutputStreamAthenaPool/src/EventInfoTagBuilder.h @@ -54,7 +54,10 @@ private: ToolHandle<EventInfoAttListTool> m_tool; SG::ReadHandleKey<xAOD::EventInfo> m_evtKey; + SG::ReadHandleKey<AthenaAttributeList> m_inputAttList; SG::WriteHandleKey<AthenaAttributeList> m_attributeListName; + bool m_propInput; + std::string m_filter; };